@citolab/qti-components 7.0.6-beta.0 → 7.0.6-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/cdn/{chunk-QGKK4T2J.js → chunks/chunk-3V6LA7B3.js} +1 -1
  2. package/cdn/chunks/chunk-4UJBK6JO.js +1 -0
  3. package/cdn/chunks/chunk-4WXQYE2P.js +8 -0
  4. package/cdn/{chunk-L4TDHAKL.js → chunks/chunk-5BR5CJFH.js} +5 -5
  5. package/cdn/chunks/chunk-5GCSZ3CH.js +73 -0
  6. package/cdn/{chunk-BLKKKK6C.js → chunks/chunk-5P7CTN7Q.js} +1 -1
  7. package/cdn/{chunk-A536ZOJJ.js → chunks/chunk-6S4CDN3T.js} +1 -1
  8. package/cdn/chunks/chunk-7XYBFL7U.js +934 -0
  9. package/cdn/chunks/chunk-DZCKF45D.js +5 -0
  10. package/cdn/chunks/chunk-EHK76KRT.js +1 -0
  11. package/cdn/chunks/chunk-IAP2CEE7.js +1 -0
  12. package/cdn/chunks/chunk-IMJOPCFR.js +1 -0
  13. package/cdn/chunks/chunk-KWPDTFYH.js +1 -0
  14. package/cdn/{chunk-MFWSHIPH.js → chunks/chunk-L4CUWIE6.js} +1 -1
  15. package/cdn/{chunk-4DFVJE2A.js → chunks/chunk-LZZB4VGC.js} +1 -1
  16. package/cdn/{chunk-SQDSHH6N.js → chunks/chunk-MJMONWKB.js} +1 -1
  17. package/cdn/chunks/chunk-N5OHGRGG.js +8 -0
  18. package/cdn/chunks/chunk-NDHSIO2G.js +8 -0
  19. package/cdn/{chunk-ROXN2HIJ.js → chunks/chunk-PKT2SJQD.js} +1 -1
  20. package/cdn/chunks/chunk-QQCGUVEV.js +1 -0
  21. package/cdn/chunks/chunk-QV6I5NVQ.js +8 -0
  22. package/cdn/chunks/chunk-R33OODNX.js +1 -0
  23. package/cdn/chunks/chunk-RXKI3AO4.js +1 -0
  24. package/cdn/chunks/chunk-TQBDBMWL.js +5 -0
  25. package/cdn/chunks/chunk-X2KBNXRO.js +6 -0
  26. package/cdn/chunks/chunk-XUJ7TXHW.js +1 -0
  27. package/cdn/exports/expression-result.js +0 -0
  28. package/cdn/exports/interaction.interface.js +0 -0
  29. package/cdn/exports/interaction.js +1 -0
  30. package/cdn/exports/item.context.js +1 -0
  31. package/cdn/exports/qti-assessment-item.context.js +1 -0
  32. package/cdn/exports/qti-condition-expression.js +1 -0
  33. package/cdn/exports/qti-expression.js +1 -0
  34. package/cdn/exports/variables.js +0 -0
  35. package/cdn/index.global.js +7 -58
  36. package/cdn/index.js +1 -1
  37. package/cdn/qti-components/index.js +1 -1
  38. package/cdn/qti-item/core/index.js +1 -1
  39. package/cdn/qti-loader/index.js +1 -1
  40. package/cdn/qti-test/components/index.js +1 -1
  41. package/cdn/qti-test/components/styles.js +1 -1
  42. package/cdn/qti-test/components/test-component.abstract.js +1 -1
  43. package/cdn/qti-test/components/test-item-link.js +1 -1
  44. package/cdn/qti-test/components/test-next.js +1 -1
  45. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -1
  46. package/cdn/qti-test/components/test-prev.js +1 -1
  47. package/cdn/qti-test/components/test-view.js +1 -1
  48. package/cdn/qti-test/core/index.js +1 -1
  49. package/cdn/qti-transformers/index.js +1 -1
  50. package/dist/{chunk-ANLIJZBL.js → chunks/chunk-3EU75IUF.js} +4 -4
  51. package/dist/chunks/chunk-3EU75IUF.js.map +1 -0
  52. package/dist/{chunk-CNQYM52B.js → chunks/chunk-4GNVYCBN.js} +65 -7
  53. package/dist/chunks/chunk-4GNVYCBN.js.map +1 -0
  54. package/dist/{chunk-UB5K44DB.js → chunks/chunk-4O5F7WV7.js} +1 -1
  55. package/dist/chunks/chunk-4O5F7WV7.js.map +1 -0
  56. package/dist/{chunk-OO6JSYLP.js → chunks/chunk-6JXR63MH.js} +4 -4
  57. package/dist/chunks/chunk-6JXR63MH.js.map +1 -0
  58. package/dist/{chunk-4FH7P7YI.js → chunks/chunk-7QMCKYDR.js} +4 -4
  59. package/dist/chunks/chunk-7QMCKYDR.js.map +1 -0
  60. package/dist/{chunk-3TFUBCJW.js → chunks/chunk-A24F75DB.js} +4 -4
  61. package/dist/chunks/chunk-A24F75DB.js.map +1 -0
  62. package/dist/chunks/chunk-BPHQLJWE.js +102 -0
  63. package/dist/chunks/chunk-BPHQLJWE.js.map +1 -0
  64. package/dist/chunks/chunk-D3RGDWKP.js +37 -0
  65. package/dist/chunks/chunk-D3RGDWKP.js.map +1 -0
  66. package/dist/chunks/chunk-DLUJN2FW.js +22 -0
  67. package/dist/chunks/chunk-DLUJN2FW.js.map +1 -0
  68. package/dist/{chunk-4YG2FPKK.js → chunks/chunk-ELDMXTUQ.js} +1 -1
  69. package/dist/chunks/chunk-ELDMXTUQ.js.map +1 -0
  70. package/dist/chunks/chunk-FV7HWK54.js +29 -0
  71. package/dist/chunks/chunk-FV7HWK54.js.map +1 -0
  72. package/dist/{chunk-6SG3NMKU.js → chunks/chunk-GSWZT6N2.js} +4 -4
  73. package/dist/chunks/chunk-GSWZT6N2.js.map +1 -0
  74. package/dist/chunks/chunk-H2JE6IVU.js +15 -0
  75. package/dist/{chunk-QYN5S4EM.js → chunks/chunk-HHVRU3AJ.js} +5 -5
  76. package/dist/chunks/chunk-HHVRU3AJ.js.map +1 -0
  77. package/dist/{chunk-2CHF3TMY.js → chunks/chunk-J2SHENRN.js} +1 -1
  78. package/dist/{chunk-UBZPSVSE.js → chunks/chunk-K6ATVWMP.js} +5131 -5341
  79. package/dist/chunks/chunk-K6ATVWMP.js.map +1 -0
  80. package/dist/chunks/chunk-KOEILLVS.js +8 -0
  81. package/dist/chunks/chunk-KOEILLVS.js.map +1 -0
  82. package/dist/{chunk-F7HTXGGH.js → chunks/chunk-KYAIMBP5.js} +3 -3
  83. package/dist/chunks/chunk-KYAIMBP5.js.map +1 -0
  84. package/dist/{chunk-F3NTI6TX.js → chunks/chunk-UFYWCLXF.js} +1 -1
  85. package/dist/chunks/chunk-UFYWCLXF.js.map +1 -0
  86. package/dist/chunks/chunk-UN2IFSGC.js +1 -0
  87. package/dist/{chunk-2OA7E3E7.js → chunks/chunk-XDMSEAYC.js} +1 -1
  88. package/dist/chunks/chunk-XDMSEAYC.js.map +1 -0
  89. package/dist/chunks/chunk-XSI6FXGD.js +19 -0
  90. package/dist/chunks/chunk-XSI6FXGD.js.map +1 -0
  91. package/dist/chunks/chunk-ZPNJ2HP5.js +71 -0
  92. package/dist/chunks/chunk-ZPNJ2HP5.js.map +1 -0
  93. package/dist/exports/expression-result.d.ts +19 -0
  94. package/dist/exports/expression-result.js +1 -0
  95. package/dist/exports/expression-result.js.map +1 -0
  96. package/dist/exports/interaction.d.ts +23 -0
  97. package/dist/exports/interaction.interface.d.ts +13 -0
  98. package/dist/exports/interaction.interface.js +1 -0
  99. package/dist/exports/interaction.interface.js.map +1 -0
  100. package/dist/exports/interaction.js +8 -0
  101. package/dist/exports/interaction.js.map +1 -0
  102. package/dist/exports/item.context.d.ts +12 -0
  103. package/dist/exports/item.context.js +8 -0
  104. package/dist/exports/item.context.js.map +1 -0
  105. package/dist/exports/qti-assessment-item.context.d.ts +10 -0
  106. package/dist/exports/qti-assessment-item.context.js +8 -0
  107. package/dist/exports/qti-assessment-item.context.js.map +1 -0
  108. package/dist/exports/qti-condition-expression.d.ts +13 -0
  109. package/dist/exports/qti-condition-expression.js +10 -0
  110. package/dist/exports/qti-condition-expression.js.map +1 -0
  111. package/dist/exports/qti-expression.d.ts +21 -0
  112. package/dist/exports/qti-expression.js +9 -0
  113. package/dist/exports/qti-expression.js.map +1 -0
  114. package/dist/exports/variables.d.ts +3 -0
  115. package/dist/exports/variables.js +1 -0
  116. package/dist/exports/variables.js.map +1 -0
  117. package/dist/index.d.ts +12 -3
  118. package/dist/index.js +35 -28
  119. package/dist/qti-components/index.d.ts +36 -9
  120. package/dist/qti-components/index.js +10 -16
  121. package/dist/qti-components-jsx.d.ts +328 -623
  122. package/dist/qti-item/core/index.js +5 -5
  123. package/dist/qti-loader/index.d.ts +7 -1
  124. package/dist/qti-loader/index.js +5 -23
  125. package/dist/qti-loader/index.js.map +1 -1
  126. package/dist/{qti-simple-choice-DxWcdKHi.d.ts → qti-response-declaration-DAeBp8HH.d.ts} +463 -613
  127. package/dist/qti-test/components/index.d.ts +8 -2
  128. package/dist/qti-test/components/index.js +12 -11
  129. package/dist/qti-test/components/styles.js +2 -2
  130. package/dist/qti-test/components/test-component.abstract.d.ts +8 -2
  131. package/dist/qti-test/components/test-component.abstract.js +5 -4
  132. package/dist/qti-test/components/test-item-link.d.ts +8 -2
  133. package/dist/qti-test/components/test-item-link.js +7 -6
  134. package/dist/qti-test/components/test-next.d.ts +8 -2
  135. package/dist/qti-test/components/test-next.js +7 -6
  136. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +8 -2
  137. package/dist/qti-test/components/test-paging-buttons-stamp.js +6 -5
  138. package/dist/qti-test/components/test-prev.d.ts +8 -2
  139. package/dist/qti-test/components/test-prev.js +7 -6
  140. package/dist/qti-test/components/test-view.d.ts +8 -2
  141. package/dist/qti-test/components/test-view.js +6 -5
  142. package/dist/qti-test/core/index.d.ts +15 -4
  143. package/dist/qti-test/core/index.js +6 -6
  144. package/dist/qti-transformers/index.js +2 -2
  145. package/dist/{test.context-DbSTxKk_.d.ts → test.context-CaENAJNk.d.ts} +4 -2
  146. package/dist/variables-cO3DzqJy.d.ts +33 -0
  147. package/dist/vscode.html-custom-data.json +208 -275
  148. package/package.json +14 -20
  149. package/cdn/chunk-4I75QSIL.js +0 -8
  150. package/cdn/chunk-5WCOPF7O.js +0 -73
  151. package/cdn/chunk-DC2R556M.js +0 -5
  152. package/cdn/chunk-GALSGMIP.js +0 -5
  153. package/cdn/chunk-KYOTSBCX.js +0 -1
  154. package/cdn/chunk-T4A5AZCI.js +0 -939
  155. package/cdn/chunk-VI2WKTN4.js +0 -1
  156. package/cdn/qti-components/index.global.js +0 -226
  157. package/cdn/qti-item/core/index.global.js +0 -149
  158. package/cdn/qti-loader/index.global.js +0 -1
  159. package/cdn/qti-test/components/index.global.js +0 -207
  160. package/cdn/qti-test/components/styles.global.js +0 -44
  161. package/cdn/qti-test/components/test-component.abstract.global.js +0 -170
  162. package/cdn/qti-test/components/test-item-link.global.js +0 -170
  163. package/cdn/qti-test/components/test-next.global.js +0 -170
  164. package/cdn/qti-test/components/test-next.spec.css +0 -1
  165. package/cdn/qti-test/components/test-next.spec.global.js +0 -64
  166. package/cdn/qti-test/components/test-next.spec.js +0 -713
  167. package/cdn/qti-test/components/test-paging-buttons-stamp.global.js +0 -207
  168. package/cdn/qti-test/components/test-prev.global.js +0 -170
  169. package/cdn/qti-test/components/test-view.global.js +0 -170
  170. package/cdn/qti-test/core/index.global.js +0 -205
  171. package/cdn/qti-transformers/index.global.js +0 -1
  172. package/dist/chunk-2OA7E3E7.js.map +0 -1
  173. package/dist/chunk-3TFUBCJW.js.map +0 -1
  174. package/dist/chunk-44VE5POH.js +0 -55
  175. package/dist/chunk-4FH7P7YI.js.map +0 -1
  176. package/dist/chunk-4YG2FPKK.js.map +0 -1
  177. package/dist/chunk-6SG3NMKU.js.map +0 -1
  178. package/dist/chunk-ANLIJZBL.js.map +0 -1
  179. package/dist/chunk-CNQYM52B.js.map +0 -1
  180. package/dist/chunk-F3NTI6TX.js.map +0 -1
  181. package/dist/chunk-F7HTXGGH.js.map +0 -1
  182. package/dist/chunk-MAC76UNI.js +0 -1
  183. package/dist/chunk-OO6JSYLP.js.map +0 -1
  184. package/dist/chunk-QYN5S4EM.js.map +0 -1
  185. package/dist/chunk-UB5K44DB.js.map +0 -1
  186. package/dist/chunk-UBZPSVSE.js.map +0 -1
  187. package/dist/qti-test/components/test-next.spec.css +0 -2481
  188. package/dist/qti-test/components/test-next.spec.css.map +0 -1
  189. package/dist/qti-test/components/test-next.spec.d.ts +0 -13
  190. package/dist/qti-test/components/test-next.spec.js +0 -45904
  191. package/dist/qti-test/components/test-next.spec.js.map +0 -1
  192. /package/cdn/{chunk-22HAPLRD.js → chunks/chunk-3GO57DNP.js} +0 -0
  193. /package/cdn/{chunk-LVW3MHTI.js → chunks/chunk-5FCXUJAG.js} +0 -0
  194. /package/cdn/{chunk-IXSX4SJX.js → chunks/chunk-6MCYE7P5.js} +0 -0
  195. /package/cdn/{chunk-M6AATWPS.js → chunks/chunk-FRS2J3OS.js} +0 -0
  196. /package/dist/{chunk-44VE5POH.js.map → chunks/chunk-H2JE6IVU.js.map} +0 -0
  197. /package/dist/{chunk-2CHF3TMY.js.map → chunks/chunk-J2SHENRN.js.map} +0 -0
  198. /package/dist/{chunk-MAC76UNI.js.map → chunks/chunk-UN2IFSGC.js.map} +0 -0
@@ -1,205 +0,0 @@
1
- function n(n,t){if(t==null||t>n.length)t=n.length;for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}function t(n){if(Array.isArray(n))return n}function e(t){if(Array.isArray(t))return n(t)}function r(n){if(n===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return n}function i(n,t,e,r,i,o,a){try{var s=n[o](a);var l=s.value}catch(n){e(n);return}if(s.done){t(l)}else{Promise.resolve(l).then(r,i)}}function o(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function s(n){i(a,r,o,s,l,"next",n)}function l(n){i(a,r,o,s,l,"throw",n)}s(undefined)})}}function a(n,t,e){t=v(t);return _(n,O()?Reflect.construct(t,e||[],v(n).constructor):t.apply(n,e))}function s(n,t){if(!(n instanceof t)){throw new TypeError("Cannot call a class as a function")}}function l(n,t,e){if(O()){l=Reflect.construct}else{l=function n(n,t,e){var r=[null];r.push.apply(r,t);var i=Function.bind.apply(n,r);var o=new i;if(e)C(o,e.prototype);return o}}return l.apply(null,arguments)}function d(n,t){for(var e=0;e<t.length;e++){var r=t[e];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(n,r.key,r)}}function c(n,t,e){if(t)d(n.prototype,t);if(e)d(n,e);return n}function u(n,t,e){if(t in n){Object.defineProperty(n,t,{value:e,enumerable:true,configurable:true,writable:true})}else{n[t]=e}return n}function h(n,t,e){if(typeof Reflect!=="undefined"&&Reflect.get){h=Reflect.get}else{h=function n(n,t,e){var r=E(n,t);if(!r)return;var i=Object.getOwnPropertyDescriptor(r,t);if(i.get){return i.get.call(e||n)}return i.value}}return h(n,t,e||n)}function v(n){v=Object.setPrototypeOf?Object.getPrototypeOf:function n(n){return n.__proto__||Object.getPrototypeOf(n)};return v(n)}function p(n,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:true,configurable:true}});if(t)C(n,t)}function g(n,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](n)}else{return n instanceof t}}function b(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function f(n){if(typeof Symbol!=="undefined"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function m(n,t){var e=n==null?null:typeof Symbol!=="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(e==null)return;var r=[];var i=true;var o=false;var a,s;try{for(e=e.call(n);!(i=(a=e.next()).done);i=true){r.push(a.value);if(t&&r.length===t)break}}catch(n){o=true;s=n}finally{try{if(!i&&e["return"]!=null)e["return"]()}finally{if(o)throw s}}return r}function y(){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 q(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function w(n){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};var r=Object.keys(e);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(e).filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))}r.forEach(function(t){u(n,t,e[t])})}return n}function k(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})}e.push.apply(e,r)}return e}function x(n,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(n,Object.getOwnPropertyDescriptors(t))}else{k(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function _(n,t){if(t&&(z(t)==="object"||typeof t==="function")){return t}return r(n)}function C(n,t){C=Object.setPrototypeOf||function n(n,t){n.__proto__=t;return n};return C(n,t)}function A(n,e){return t(n)||m(n,e)||P(n,e)||y()}function E(n,t){while(!Object.prototype.hasOwnProperty.call(n,t)){n=v(n);if(n===null)break}return n}function $(n,t){if(!t){t=n.slice(0)}return Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(t)}}))}function S(n){return e(n)||f(n)||P(n)||q()}function z(n){"@swc/helpers - typeof";return n&&typeof Symbol!=="undefined"&&n.constructor===Symbol?"symbol":typeof n}function P(t,e){if(!t)return;if(typeof t==="string")return n(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(t,e)}function R(n){var t=typeof Map==="function"?new Map:undefined;R=function n(n){if(n===null||!b(n))return n;if(typeof n!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(n))return t.get(n);t.set(n,e)}function e(){return l(n,arguments,v(this).constructor)}e.prototype=Object.create(n.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}});return C(e,n)};return R(n)}function O(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(n){}return(O=function(){return!!n})()}function U(n,t){var e,r,i,o,a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),"throw":s(1),"return":s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(n){return function(t){return l([n,t])}}function l(o){if(e)throw new TypeError("Generator is already executing.");while(a)try{if(e=1,r&&(i=o[0]&2?r["return"]:o[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;if(r=0,i)o=[o[0]&2,i.value];switch(o[0]){case 0:case 1:i=o;break;case 4:a.label++;return{value:o[1],done:false};case 5:a.label++;r=o[1];o=[0];continue;case 7:o=a.ops.pop();a.trys.pop();continue;default:if(!(i=a.trys,i=i.length>0&&i[i.length-1])&&(o[0]===6||o[0]===2)){a=0;continue}if(o[0]===3&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(o[0]===6&&a.label<i[1]){a.label=i[1];i=o;break}if(i&&a.label<i[2]){a.label=i[2];a.ops.push(o);break}if(i[2])a.ops.pop();a.trys.pop();continue}o=t.call(n,a)}catch(n){o=[6,n];r=0}finally{e=i=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}function T(){var n=$(['<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy>\n </xsl:template>\n\n \x3c!-- remove existing namespaces --\x3e\n <xsl:template match="*">\n \x3c!-- remove element prefix --\x3e\n <xsl:element name="{local-name()}">\n \x3c!-- process attributes --\x3e\n <xsl:for-each select="@*">\n \x3c!-- remove attribute prefix --\x3e\n <xsl:attribute name="{local-name()}">\n <xsl:value-of select="."/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>']);T=function t(){return n};return n}function M(){var n=$([""]);M=function t(){return n};return n}function L(){var n=$(["<span>Loading...</span>"]);L=function t(){return n};return n}function j(){var n=$(["\n ","\n <slot></slot>\n ","\n "]);j=function t(){return n};return n}function I(){var n=$(["<slot></slot>"]);I=function t(){return n};return n}function D(){var n=$(["",""]);D=function t(){return n};return n}function N(){var n=$(['<slot name="qti-rubric-block"></slot><slot></slot>']);N=function t(){return n};return n}function H(){var n=$([" <slot></slot>"]);H=function t(){return n};return n}function B(){var n=$([" <slot></slot>"]);B=function t(){return n};return n}var QtiComponents=function(){var n=function n(n,t){if(!nW(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return nj!==void 0?nj.createHTML(t):t};var t=function n(n){return function(t,e){return(typeof e==="undefined"?"undefined":z(e))=="object"?ty(n,t,e):function(n,t,e){var r=t.hasOwnProperty(e);return t.constructor.createProperty(e,r?x(w({},n),{wrapped:!0}):n),r?Object.getOwnPropertyDescriptor(t,e):void 0}(n,t,e)}};var e=function n(n){return t(x(w({},n),{state:!0,attribute:!1}))};var r=function n(n){this._$AN!==void 0?(tE(this),this._$AM=n,t$(this)):this._$AM=n};var i=function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;var r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(var o=e;o<r.length;o++)tA(r[o],!1),tE(r[o]);else r!=null&&(tA(r,!1),tE(r));else tA(this,n)};var l=function n(n,t){var e=w({waitUntilFirstUpdate:!1},t);return function(t,r){var i=t.update,o=Array.isArray(n)?n:[n];t.update=function(n){var t=this;o.forEach(function(i){var o=i;if(n.has(o)){var a=n.get(o),s=t[o];a!==s&&(!e.waitUntilFirstUpdate||t.hasUpdated)&&t[r](a,s)}}),i.call(this,n)}}};var d=function n(n,t,e){n.querySelectorAll(t).forEach(function(n){var r="".concat(t,"-").concat(e),i=b(n,r);n.replaceWith(i)})};var u=function n(n,t){n.querySelectorAll("*").forEach(function(n){var e=n.classList;e&&e.forEach(function(e){if(e.startsWith("".concat(t,":"))){var r=e.slice("".concat(t,":").length),i="".concat(n.nodeName,"-").concat(r),o=b(n,i);n.replaceWith(o)}})})};var b=function n(n,t){var e=document.createElement(t);var r=true,i=false,o=undefined;try{for(var a=n.attributes[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;e.setAttribute(l.name,l.value)}}catch(n){i=true;o=n}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}for(;n.firstChild;)e.appendChild(n.firstChild);return e};var f=function n(n){var t=[];return n.querySelectorAll("qti-assessment-item-ref").forEach(function(n){var e=n.getAttribute("identifier"),r=n.getAttribute("href"),i=n.getAttribute("category");t.push({identifier:e,href:r,category:i})}),t};var m=function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return t&&tD!==null&&tD.abort(),new Promise(function(t,e){var r=new XMLHttpRequest;tD=r,r.open("GET",n,!0),r.responseType="document",r.onload=function(){r.status>=200&&r.status<300?t(r.responseXML):e(r.statusText)},r.onerror=function(){e(r.statusText)},r.send()})};var y=function n(n){return new DOMParser().parseFromString(n,"text/xml")};var q=function n(n){var t=new XSLTProcessor,e=new DOMParser().parseFromString(tI,"text/xml");return t.importStylesheet(e),t.transformToFragment(n,document)};var k=function n(n,t){t.endsWith("/")||(t+="/"),n.querySelectorAll("[src],[href],[primary-path]").forEach(function(n){var e;var r="";n.getAttribute("src")&&(r="src"),n.getAttribute("href")&&(r="href"),n.getAttribute("primary-path")&&(r="primary-path");var i=(e=n.getAttribute(r))===null||e===void 0?void 0:e.trim();if(!i.startsWith("data:")&&!i.startsWith("http")){var o=t+encodeURI(i);n.setAttribute(r,o)}})};var _=function n(n){n.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(n){var t=document.createComment(n.textContent);n.replaceChild(t,n.firstChild)})};var C=function n(n){n.querySelectorAll("qti-stylesheet").forEach(function(n){return n.remove()})};var E=function n(n){var t=n.context;return function(n,e){var r=new WeakMap;if((typeof e==="undefined"?"undefined":z(e))=="object")return e.addInitializer(function(){r.set(this,new tZ(this,{context:t}))}),{get:function t(){return n.get.call(this)},set:function t(t){var e;return(e=r.get(this))===null||e===void 0?void 0:e.setValue(t),n.set.call(this,t)},init:function n(n){var t;return(t=r.get(this))===null||t===void 0?void 0:t.setValue(n),n}};{n.constructor.addInitializer(function(n){r.set(n,new tZ(n,{context:t}))});var i=Object.getOwnPropertyDescriptor(n,e),o;if(i===void 0){var a=new WeakMap;o={get:function n(){return a.get(this)},set:function n(n){r.get(this).setValue(n),a.set(this,n)},configurable:!0,enumerable:!0}}else{var s=i.set;o=x(w({},i),{set:function n(n){r.get(this).setValue(n),s===null||s===void 0?void 0:s.call(this,n)}})}return void Object.defineProperty(n,e,o)}}};var $=function n(n){var t=n.context,e=n.subscribe;return function(n,r){(typeof r==="undefined"?"undefined":z(r))=="object"?r.addInitializer(function(){var r=this;new tQ(this,{context:t,callback:function(t){n.set.call(r,t)},subscribe:e})}):n.constructor.addInitializer(function(n){new tQ(n,{context:t,callback:function(t){n[r]=t},subscribe:e})})}};var P,O;var V=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var X=Object.prototype.hasOwnProperty;var Q=function(n,t){for(var e in t)V(n,e,{get:t[e],enumerable:!0})},G=function(n,t,e,r){var i=true,o=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":z(t))=="object"||typeof t=="function")try{var s=function(){var i=d.value;!X.call(n,i)&&i!==e&&V(n,i,{get:function(){return t[i]},enumerable:!(r=F(t,i))||r.enumerable})};for(var l=W(t)[Symbol.iterator](),d;!(i=(d=l.next()).done);i=true)s()}catch(n){o=true;a=n}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}return n};var K=function(n){return G(V({},"__esModule",{value:!0}),n)},Z=function(n,t,e,r){for(var i=r>1?void 0:r?F(t,e):t,o=n.length-1,a;o>=0;o--)(a=n[o])&&(i=(r?a(t,e,i):a(i))||i);return r&&i&&V(t,e,i),i};var Y={};Q(Y,{QtiAssessmentItemRef:function(){return t5},QtiAssessmentSection:function(){return t4},QtiAssessmentTest:function(){return t6},QtiTest:function(){return t1},QtiTestPart:function(){return t8},TestContainer:function(){return tB},testContext:function(){return tY},testElement:function(){return tJ}});var J=/*#__PURE__*/function(){"use strict";function n(t){s(this,n);this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColSpan="",this.ariaCurrent="",this.ariaDescription="",this.ariaDisabled="",this.ariaExpanded="",this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=!0,this.__host=t}c(n,[{key:"shadowRoot",get:function n(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function n(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function n(){return!0}},{key:"setFormValue",value:function n(){}},{key:"setValidity",value:function n(){}}]);return n}();var nn=new WeakMap,nt=function(n){var t=nn.get(n);return t===void 0&&nn.set(n,t=new Map),t},ne=/*#__PURE__*/function(){"use strict";function n(){s(this,n);this.__shadowRootMode=null,this.__shadowRoot=null,this.__internals=null}c(n,[{key:"attributes",get:function n(){return Array.from(nt(this)).map(function(n){var t=A(n,2),e=t[0],r=t[1];return{name:e,value:r}})}},{key:"shadowRoot",get:function n(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function n(){return this.constructor.__localName}},{key:"tagName",get:function n(){var n;return(n=this.localName)===null||n===void 0?void 0:n.toUpperCase()}},{key:"setAttribute",value:function n(n,t){nt(this).set(n,String(t))}},{key:"removeAttribute",value:function n(n){nt(this).delete(n)}},{key:"toggleAttribute",value:function n(n,t){if(this.hasAttribute(n)){if(t===void 0||!t)return this.removeAttribute(n),!1}else return t===void 0||t?(this.setAttribute(n,""),!0):!1;return!0}},{key:"hasAttribute",value:function n(n){return nt(this).has(n)}},{key:"attachShadow",value:function n(n){var t={host:this};return this.__shadowRootMode=n.mode,n&&n.mode==="open"&&(this.__shadowRoot=t),t}},{key:"attachInternals",value:function n(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var n=new J(this);return this.__internals=n,n}},{key:"getAttribute",value:function n(n){var t;return(t=nt(this).get(n))!==null&&t!==void 0?t:null}}]);return n}();var nr=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);return a(this,t,arguments)}return t}(ne),ni=nr;var no=/*#__PURE__*/function(){"use strict";function n(){s(this,n);this.__definitions=new Map}c(n,[{key:"define",value:function n(n,t){if(this.__definitions.has(n))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(n,'" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.\nMake sure to test your application with a production build as repeat registrations will throw in production.'));else throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the name \"".concat(n,'" has already been used with this registry'));var e;t.__localName=n,this.__definitions.set(n,{ctor:t,observedAttributes:(e=t.observedAttributes)!==null&&e!==void 0?e:[]})}},{key:"get",value:function n(n){var t;return(t=this.__definitions.get(n))===null||t===void 0?void 0:t.ctor}}]);return n}(),na=no;var ns=new na;var nl=globalThis,nd=nl.ShadowRoot&&(nl.ShadyCSS===void 0||nl.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nc=Symbol(),nu=new WeakMap,nh=/*#__PURE__*/function(){"use strict";function n(t,e,r){s(this,n);if(this._$cssResult$=!0,r!==nc)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}c(n,[{key:"styleSheet",get:function n(){var n=this.o,t=this.t;if(nd&&n===void 0){var e=t!==void 0&&t.length===1;e&&(n=nu.get(t)),n===void 0&&((this.o=n=new CSSStyleSheet).replaceSync(this.cssText),e&&nu.set(t,n))}return n}},{key:"toString",value:function n(){return this.cssText}}]);return n}(),nv=function(n){return new nh(typeof n=="string"?n:n+"",void 0,nc)};var np=function(n,t){var e=true,r=false,i=undefined;if(nd)n.adoptedStyleSheets=t.map(function(n){return g(n,CSSStyleSheet)?n:n.styleSheet});else try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;var l=document.createElement("style"),d=nl.litNonce;d!==void 0&&l.setAttribute("nonce",d),l.textContent=s.cssText,n.appendChild(l)}}catch(n){r=true;i=n}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(r){throw i}}}},ng=nd||nl.CSSStyleSheet===void 0?function(n){return n}:function(n){return g(n,CSSStyleSheet)?function(n){var t="";var e=true,r=false,i=undefined;try{for(var o=n.cssRules[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;t+=s.cssText}}catch(n){r=true;i=n}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(r){throw i}}}return nv(t)}(n):n};var nb=Object.is,nf=Object.defineProperty,nm=Object.getOwnPropertyDescriptor,ny=Object.getOwnPropertyNames,nq=Object.getOwnPropertySymbols,nw=Object.getPrototypeOf,nk=globalThis;var nx;(nx=nk.customElements)!==null&&nx!==void 0?nx:nk.customElements=ns;var n_=nk.trustedTypes,nC=n_?n_.emptyScript:"",nA=nk.reactiveElementPolyfillSupport,nE=function(n,t){return n},n$={toAttribute:function n(n,t){switch(t){case Boolean:n=n?nC:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute:function n(n,t){var e=n;switch(t){case Boolean:e=n!==null;break;case Number:e=n===null?null:Number(n);break;case Object:case Array:try{e=JSON.parse(n)}catch(n){e=null}}return e}},nS=function(n,t){return!nb(n,t)},nz={attribute:!0,type:String,converter:n$,reflect:!1,hasChanged:nS};var nP,nR;(nP=Symbol.metadata)!==null&&nP!==void 0?nP:Symbol.metadata=Symbol("metadata"),(nR=nk.litPropertyMetadata)!==null&&nR!==void 0?nR:nk.litPropertyMetadata=new WeakMap;var nO;var nU=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t),n._$Ep=void 0,n.isUpdatePending=!1,n.hasUpdated=!1,n._$Em=null,n._$Ev();return n}c(t,[{key:"_$Ev",value:function n(){var n=this;var t;this._$ES=new Promise(function(t){return n.enableUpdating=t}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)===null||t===void 0?void 0:t.forEach(function(t){return t(n)})}},{key:"addController",value:function n(n){var t;var e;((e=this._$EO)!==null&&e!==void 0?e:this._$EO=new Set).add(n),this.renderRoot!==void 0&&this.isConnected&&((t=n.hostConnected)===null||t===void 0?void 0:t.call(n))}},{key:"removeController",value:function n(n){var t;(t=this._$EO)===null||t===void 0?void 0:t.delete(n)}},{key:"_$E_",value:function n(){var n=new Map,t=this.constructor.elementProperties;var e=true,r=false,i=undefined;try{for(var o=t.keys()[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;this.hasOwnProperty(s)&&(n.set(s,this[s]),delete this[s])}}catch(n){r=true;i=n}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(r){throw i}}}n.size>0&&(this._$Ep=n)}},{key:"createRenderRoot",value:function n(){var n;var t=(n=this.shadowRoot)!==null&&n!==void 0?n:this.attachShadow(this.constructor.shadowRootOptions);return np(t,this.constructor.elementStyles),t}},{key:"connectedCallback",value:function n(){var n;var t;(t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(n=this._$EO)===null||n===void 0?void 0:n.forEach(function(n){var t;return(t=n.hostConnected)===null||t===void 0?void 0:t.call(n)})}},{key:"enableUpdating",value:function n(n){}},{key:"disconnectedCallback",value:function n(){var n;(n=this._$EO)===null||n===void 0?void 0:n.forEach(function(n){var t;return(t=n.hostDisconnected)===null||t===void 0?void 0:t.call(n)})}},{key:"attributeChangedCallback",value:function n(n,t,e){this._$AK(n,e)}},{key:"_$EC",value:function n(n,t){var e=this.constructor.elementProperties.get(n),r=this.constructor._$Eu(n,e);if(r!==void 0&&e.reflect===!0){var i;var o=(((i=e.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?e.converter:n$).toAttribute(t,e.type);this._$Em=n,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}},{key:"_$AK",value:function n(n,t){var e=this.constructor,r=e._$Eh.get(n);if(r!==void 0&&this._$Em!==r){var i;var o=e.getPropertyOptions(r),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((i=o.converter)===null||i===void 0?void 0:i.fromAttribute)!==void 0?o.converter:n$;this._$Em=r,this[r]=a.fromAttribute(t,o.type),this._$Em=null}}},{key:"requestUpdate",value:function n(n,t,e){if(n!==void 0){var r;if(e!==null&&e!==void 0?e:e=this.constructor.getPropertyOptions(n),!((r=e.hasChanged)!==null&&r!==void 0?r:nS)(this[n],t))return;this.P(n,t,e)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}},{key:"P",value:function n(n,t,e){var r;this._$AL.has(n)||this._$AL.set(n,t),e.reflect===!0&&this._$Em!==n&&((r=this._$Ej)!==null&&r!==void 0?r:this._$Ej=new Set).add(n)}},{key:"_$ET",value:function n(){var n=this;return o(function(){var t,e,r;return U(this,function(i){switch(i.label){case 0:n.isUpdatePending=!0;i.label=1;case 1:i.trys.push([1,3,,4]);return[4,n._$ES];case 2:i.sent();return[3,4];case 3:t=i.sent();Promise.reject(t);return[3,4];case 4:e=n.scheduleUpdate();r=e!=null;if(!r)return[3,6];return[4,e];case 5:r=i.sent();i.label=6;case 6:return[2,(r,!n.isUpdatePending)]}})})()}},{key:"scheduleUpdate",value:function n(){return this.performUpdate()}},{key:"performUpdate",value:function n(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var n;if((n=this.renderRoot)!==null&&n!==void 0?n:this.renderRoot=this.createRenderRoot(),this._$Ep){var t=true,e=false,r=undefined;try{for(var i=this._$Ep[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=A(o.value,2),s=a[0],l=a[1];this[s]=l}}catch(n){e=true;r=n}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(e){throw r}}}this._$Ep=void 0}var d=this.constructor.elementProperties;var c=true,u=false,h=undefined;if(d.size>0)try{for(var v=d[Symbol.iterator](),p;!(c=(p=v.next()).done);c=true){var g=A(p.value,2),b=g[0],f=g[1];f.wrapped!==!0||this._$AL.has(b)||this[b]===void 0||this.P(b,this[b],f)}}catch(n){u=true;h=n}finally{try{if(!c&&v.return!=null){v.return()}}finally{if(u){throw h}}}}var m=!1,y=this._$AL;try{var q;m=this.shouldUpdate(y),m?(this.willUpdate(y),(q=this._$EO)===null||q===void 0?void 0:q.forEach(function(n){var t;return(t=n.hostUpdate)===null||t===void 0?void 0:t.call(n)}),this.update(y)):this._$EU()}catch(n){throw m=!1,this._$EU(),n}m&&this._$AE(y)}},{key:"willUpdate",value:function n(n){}},{key:"_$AE",value:function n(n){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(n){var t;return(t=n.hostUpdated)===null||t===void 0?void 0:t.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(n)),this.updated(n)}},{key:"_$EU",value:function n(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function n(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function n(){return this._$ES}},{key:"shouldUpdate",value:function n(n){return!0}},{key:"update",value:function n(n){var t=this;this._$Ej&&(this._$Ej=this._$Ej.forEach(function(n){return t._$EC(n,t[n])})),this._$EU()}},{key:"updated",value:function n(n){}},{key:"firstUpdated",value:function n(n){}}],[{key:"addInitializer",value:function n(n){var t;this._$Ei(),((t=this.l)!==null&&t!==void 0?t:this.l=[]).push(n)}},{key:"observedAttributes",get:function n(){return this.finalize(),this._$Eh&&S(this._$Eh.keys())}},{key:"createProperty",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nz;if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(n,t),!t.noAccessor){var e=Symbol(),r=this.getPropertyDescriptor(n,e,t);r!==void 0&&nf(this.prototype,n,r)}}},{key:"getPropertyDescriptor",value:function n(n,t,e){var r;var i=(r=nm(this.prototype,n))!==null&&r!==void 0?r:{get:function n(){return this[t]},set:function n(n){this[t]=n}},o=i.get,a=i.set;return{get:function n(){return o===null||o===void 0?void 0:o.call(this)},set:function t(t){var r=o===null||o===void 0?void 0:o.call(this);a.call(this,t),this.requestUpdate(n,r,e)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function n(n){var t;return(t=this.elementProperties.get(n))!==null&&t!==void 0?t:nz}},{key:"_$Ei",value:function n(){if(this.hasOwnProperty(nE("elementProperties")))return;var n=nw(this);n.finalize(),n.l!==void 0&&(this.l=S(n.l)),this.elementProperties=new Map(n.elementProperties)}},{key:"finalize",value:function n(){if(this.hasOwnProperty(nE("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(nE("properties"))){var n=this.properties,t=S(ny(n)).concat(S(nq(n)));var e=true,r=false,i=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;this.createProperty(s,n[s])}}catch(n){r=true;i=n}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(r){throw i}}}}var l=this[Symbol.metadata];if(l!==null){var d=litPropertyMetadata.get(l);var c=true,u=false,h=undefined;if(d!==void 0)try{for(var v=d[Symbol.iterator](),p;!(c=(p=v.next()).done);c=true){var g=A(p.value,2),b=g[0],f=g[1];this.elementProperties.set(b,f)}}catch(n){u=true;h=n}finally{try{if(!c&&v.return!=null){v.return()}}finally{if(u){throw h}}}}this._$Eh=new Map;var m=true,y=false,q=undefined;try{for(var w=this.elementProperties[Symbol.iterator](),k;!(m=(k=w.next()).done);m=true){var x=A(k.value,2),_=x[0],C=x[1];var E=this._$Eu(_,C);E!==void 0&&this._$Eh.set(E,_)}}catch(n){y=true;q=n}finally{try{if(!m&&w.return!=null){w.return()}}finally{if(y){throw q}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function n(n){var t=[];if(Array.isArray(n)){var e=new Set(n.flat(1/0).reverse());var r=true,i=false,o=undefined;try{for(var a=e[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;t.unshift(ng(l))}}catch(n){i=true;o=n}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}else n!==void 0&&t.push(ng(n));return t}},{key:"_$Eu",value:function n(n,t){var e=t.attribute;return e===!1?void 0:typeof e=="string"?e:typeof n=="string"?n.toLowerCase():void 0}}]);return t}((nO=globalThis.HTMLElement)!==null&&nO!==void 0?nO:ni);var nT;nU.elementStyles=[],nU.shadowRootOptions={mode:"open"},nU[nE("elementProperties")]=new Map,nU[nE("finalized")]=new Map,nA===null||nA===void 0?void 0:nA({ReactiveElement:nU}),((nT=nk.reactiveElementVersions)!==null&&nT!==void 0?nT:nk.reactiveElementVersions=[]).push("2.0.4");var nM=globalThis,nL=nM.trustedTypes,nj=nL?nL.createPolicy("lit-html",{createHTML:function(n){return n}}):void 0,nI="$lit$",nD="lit$".concat(Math.random().toFixed(9).slice(2),"$"),nN="?"+nD,nH="<".concat(nN,">"),nB=nM.document===void 0?{createTreeWalker:function(){return{}}}:document,nV=function(){return nB.createComment("")},nF=function(n){return n===null||(typeof n==="undefined"?"undefined":z(n))!="object"&&typeof n!="function"},nW=Array.isArray,nX=function(n){return nW(n)||typeof(n===null||n===void 0?void 0:n[Symbol.iterator])=="function"},nQ="[ \n\f\r]",nG=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,nK=/-->/g,nZ=/>/g,nY=RegExp(">|".concat(nQ,"(?:([^\\s\"'>=/]+)(").concat(nQ,"*=").concat(nQ,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),nJ=/'/g,n0=/"/g,n1=/^(?:script|style|textarea|title)$/i,n2=function(n){return function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++){r[i-1]=arguments[i]}return{_$litType$:n,strings:t,values:r}}},n5=n2(1),n3=n2(2),n4=n2(3),n6=Symbol.for("lit-noChange"),n8=Symbol.for("lit-nothing"),n7=new WeakMap,n9=nB.createTreeWalker(nB,129);var tn=function(t,e){var r=t.length-1,i=[],o,a=e===2?"<svg>":e===3?"<math>":"",s=nG;for(var l=0;l<r;l++){var d=t[l],c=void 0,u=void 0,h=-1,v=0;for(;v<d.length&&(s.lastIndex=v,u=s.exec(d),u!==null);)v=s.lastIndex,s===nG?u[1]==="!--"?s=nK:u[1]!==void 0?s=nZ:u[2]!==void 0?(n1.test(u[2])&&(o=RegExp("</"+u[2],"g")),s=nY):u[3]!==void 0&&(s=nY):s===nY?u[0]===">"?(s=o!==null&&o!==void 0?o:nG,h=-1):u[1]===void 0?h=-2:(h=s.lastIndex-u[2].length,c=u[1],s=u[3]===void 0?nY:u[3]==='"'?n0:nJ):s===n0||s===nJ?s=nY:s===nK||s===nZ?s=nG:(s=nY,o=void 0);var p=s===nY&&t[l+1].startsWith("/>")?" ":"";a+=s===nG?d+nH:h>=0?(i.push(c),d.slice(0,h)+nI+d.slice(h)+nD+p):d+nD+(h===-2?l:p)}return[n(t,a+(t[r]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),i]},tt=/*#__PURE__*/function(){"use strict";function n(t,e){var r=t.strings,i=t._$litType$;s(this,n);var o;this.parts=[];var a=0,l=0,d=r.length-1,c=this.parts,u=A(tn(r,i),2),h=u[0],v=u[1];if(this.el=n.createElement(h,e),n9.currentNode=this.el.content,i===2||i===3){var p;var g=this.el.content.firstChild;(p=g).replaceWith.apply(p,S(g.childNodes))}for(;(o=n9.nextNode())!==null&&c.length<d;){if(o.nodeType===1){var b=true,f=false,m=undefined;if(o.hasAttributes())try{for(var y=o.getAttributeNames()[Symbol.iterator](),q;!(b=(q=y.next()).done);b=true){var w=q.value;if(w.endsWith(nI)){var k=v[l++],x=o.getAttribute(w).split(nD),_=/([.?@])?(.*)/.exec(k);c.push({type:1,index:a,name:_[2],strings:x,ctor:_[1]==="."?ta:_[1]==="?"?ts:_[1]==="@"?tl:to}),o.removeAttribute(w)}else w.startsWith(nD)&&(c.push({type:6,index:a}),o.removeAttribute(w))}}catch(n){f=true;m=n}finally{try{if(!b&&y.return!=null){y.return()}}finally{if(f){throw m}}}if(n1.test(o.tagName)){var C=o.textContent.split(nD),E=C.length-1;if(E>0){o.textContent=nL?nL.emptyScript:"";for(var $=0;$<E;$++)o.append(C[$],nV()),n9.nextNode(),c.push({type:2,index:++a});o.append(C[E],nV())}}}else if(o.nodeType===8)if(o.data===nN)c.push({type:2,index:a});else{var z=-1;for(;(z=o.data.indexOf(nD,z+1))!==-1;)c.push({type:7,index:a}),z+=nD.length-1}a++}}c(n,null,[{key:"createElement",value:function n(n,t){var e=nB.createElement("template");return e.innerHTML=n,e}}]);return n}();function te(n,t){var e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n,r=arguments.length>3?arguments[3]:void 0;var i,o;if(t===n6)return t;var a=r!==void 0?(i=e._$Co)===null||i===void 0?void 0:i[r]:e._$Cl,s=nF(t)?void 0:t._$litDirective$;var l;return(a===null||a===void 0?void 0:a.constructor)!==s&&(a===null||a===void 0?void 0:(o=a._$AO)===null||o===void 0?void 0:o.call(a,!1),s===void 0?a=void 0:(a=new s(n),a._$AT(n,e,r)),r!==void 0?((l=e._$Co)!==null&&l!==void 0?l:e._$Co=[])[r]=a:e._$Cl=a),a!==void 0&&(t=te(n,a._$AS(n,t.values),a,r)),t}var tr=/*#__PURE__*/function(){"use strict";function n(t,e){s(this,n);this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}c(n,[{key:"parentNode",get:function n(){return this._$AM.parentNode}},{key:"_$AU",get:function n(){return this._$AM._$AU}},{key:"u",value:function n(n){var t;var e=this._$AD,r=e.el,i=r.content,o=e.parts,a=((t=n===null||n===void 0?void 0:n.creationScope)!==null&&t!==void 0?t:nB).importNode(i,!0);n9.currentNode=a;var s=n9.nextNode(),l=0,d=0,c=o[0];for(;c!==void 0;){if(l===c.index){var u=void 0;c.type===2?u=new ti(s,s.nextSibling,this,n):c.type===1?u=new c.ctor(s,c.name,c.strings,this,n):c.type===6&&(u=new td(s,this,n)),this._$AV.push(u),c=o[++d]}l!==(c===null||c===void 0?void 0:c.index)&&(s=n9.nextNode(),l++)}return n9.currentNode=nB,a}},{key:"p",value:function n(n){var t=0;var e=true,r=false,i=undefined;try{for(var o=this._$AV[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s!==void 0&&(s.strings!==void 0?(s._$AI(n,s,t),t+=s.strings.length-2):s._$AI(n[t])),t++}}catch(n){r=true;i=n}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(r){throw i}}}}}]);return n}(),ti=/*#__PURE__*/function(){"use strict";function t(n,e,r,i){s(this,t);var o;this.type=2,this._$AH=n8,this._$AN=void 0,this._$AA=n,this._$AB=e,this._$AM=r,this.options=i,this._$Cv=(o=i===null||i===void 0?void 0:i.isConnected)!==null&&o!==void 0?o:!0}c(t,[{key:"_$AU",get:function n(){var n;var t;return(t=(n=this._$AM)===null||n===void 0?void 0:n._$AU)!==null&&t!==void 0?t:this._$Cv}},{key:"parentNode",get:function n(){var n=this._$AA.parentNode,t=this._$AM;return t!==void 0&&(n===null||n===void 0?void 0:n.nodeType)===11&&(n=t.parentNode),n}},{key:"startNode",get:function n(){return this._$AA}},{key:"endNode",get:function n(){return this._$AB}},{key:"_$AI",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;n=te(this,n,t),nF(n)?n===n8||n==null||n===""?(this._$AH!==n8&&this._$AR(),this._$AH=n8):n!==this._$AH&&n!==n6&&this._(n):n._$litType$!==void 0?this.$(n):n.nodeType!==void 0?this.T(n):nX(n)?this.k(n):this._(n)}},{key:"O",value:function n(n){return this._$AA.parentNode.insertBefore(n,this._$AB)}},{key:"T",value:function n(n){this._$AH!==n&&(this._$AR(),this._$AH=this.O(n))}},{key:"_",value:function n(n){this._$AH!==n8&&nF(this._$AH)?this._$AA.nextSibling.data=n:this.T(nB.createTextNode(n)),this._$AH=n}},{key:"$",value:function t(t){var e;var r=t.values,i=t._$litType$,o=typeof i=="number"?this._$AC(t):(i.el===void 0&&(i.el=tt.createElement(n(i.h,i.h[0]),this.options)),i);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===o)this._$AH.p(r);else{var a=new tr(o,this),s=a.u(this.options);a.p(r),this.T(s),this._$AH=a}}},{key:"_$AC",value:function n(n){var t=n7.get(n.strings);return t===void 0&&n7.set(n.strings,t=new tt(n)),t}},{key:"k",value:function n(n){nW(this._$AH)||(this._$AH=[],this._$AR());var e=this._$AH,r,i=0;var o=true,a=false,s=undefined;try{for(var l=n[Symbol.iterator](),d;!(o=(d=l.next()).done);o=true){var c=d.value;i===e.length?e.push(r=new t(this.O(nV()),this.O(nV()),this,this.options)):r=e[i],r._$AI(c),i++}}catch(n){a=true;s=n}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}},{key:"_$AR",value:function n(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,t=arguments.length>1?arguments[1]:void 0;var e,r;for((e=(r=this)._$AP)===null||e===void 0?void 0:e.call(r,!1,!0,t);n&&n!==this._$AB;){var i=n.nextSibling;n.remove(),n=i}}},{key:"setConnected",value:function n(n){var t,e;this._$AM===void 0&&(this._$Cv=n,(t=(e=this)._$AP)===null||t===void 0?void 0:t.call(e,n))}}]);return t}(),to=/*#__PURE__*/function(){"use strict";function n(t,e,r,i,o){s(this,n);this.type=1,this._$AH=n8,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=n8}c(n,[{key:"tagName",get:function n(){return this.element.tagName}},{key:"_$AU",get:function n(){return this._$AM._$AU}},{key:"_$AI",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this,e=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;var i=this.strings,o=!1;if(i===void 0)n=te(this,n,t,0),o=!nF(n)||n!==this._$AH&&n!==n6,o&&(this._$AH=n);else{var a=n,s,l;for(n=i[0],s=0;s<i.length-1;s++)l=te(this,a[e+s],t,s),l===n6&&(l=this._$AH[s]),o||(o=!nF(l)||l!==this._$AH[s]),l===n8?n=n8:n!==n8&&(n+=(l!==null&&l!==void 0?l:"")+i[s+1]),this._$AH[s]=l}o&&!r&&this.j(n)}},{key:"j",value:function n(n){n===n8?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,n!==null&&n!==void 0?n:"")}}]);return n}(),ta=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments),n.type=3;return n}c(t,[{key:"j",value:function n(n){this.element[this.name]=n===n8?void 0:n}}]);return t}(to),ts=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments),n.type=4;return n}c(t,[{key:"j",value:function n(n){this.element.toggleAttribute(this.name,!!n&&n!==n8)}}]);return t}(to),tl=/*#__PURE__*/function(n){"use strict";p(t,n);function t(n,e,r,i,o){s(this,t);var l;l=a(this,t,[n,e,r,i,o]),l.type=5;return l}c(t,[{key:"_$AI",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var e;if((n=(e=te(this,n,t,0))!==null&&e!==void 0?e:n8)===n6)return;var r=this._$AH,i=n===n8&&r!==n8||n.capture!==r.capture||n.once!==r.once||n.passive!==r.passive,o=n!==n8&&(r===n8||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,n),this._$AH=n}},{key:"handleEvent",value:function n(n){var t;var e;typeof this._$AH=="function"?this._$AH.call((e=(t=this.options)===null||t===void 0?void 0:t.host)!==null&&e!==void 0?e:this.element,n):this._$AH.handleEvent(n)}}]);return t}(to),td=/*#__PURE__*/function(){"use strict";function n(t,e,r){s(this,n);this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}c(n,[{key:"_$AU",get:function n(){return this._$AM._$AU}},{key:"_$AI",value:function n(n){te(this,n)}}]);return n}(),tc={M:nI,P:nD,A:nN,C:1,L:tn,R:tr,D:nX,V:te,I:ti,H:to,N:ts,U:tl,B:ta,F:td},tu=nM.litHtmlPolyfillSupport;var th;tu===null||tu===void 0?void 0:tu(tt,ti),((th=nM.litHtmlVersions)!==null&&th!==void 0?th:nM.litHtmlVersions=[]).push("3.2.1");var tv=function(n,t,e){var r;var i=(r=e===null||e===void 0?void 0:e.renderBefore)!==null&&r!==void 0?r:t,o=i._$litPart$;if(o===void 0){var a;var s=(a=e===null||e===void 0?void 0:e.renderBefore)!==null&&a!==void 0?a:null;i._$litPart$=o=new ti(t.insertBefore(nV(),s),s,void 0,e!==null&&e!==void 0?e:{})}return o._$AI(n),o};var tp=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments),n.renderOptions={host:n},n._$Do=void 0;return n}c(t,[{key:"createRenderRoot",value:function n(){var n;var e=h(v(t.prototype),"createRenderRoot",this).call(this);var r;return(r=(n=this.renderOptions).renderBefore)!==null&&r!==void 0?r:n.renderBefore=e.firstChild,e}},{key:"update",value:function n(n){var e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),h(v(t.prototype),"update",this).call(this,n),this._$Do=tv(e,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function n(){var n;h(v(t.prototype),"connectedCallback",this).call(this),(n=this._$Do)===null||n===void 0?void 0:n.setConnected(!0)}},{key:"disconnectedCallback",value:function n(){var n;h(v(t.prototype),"disconnectedCallback",this).call(this),(n=this._$Do)===null||n===void 0?void 0:n.setConnected(!1)}},{key:"render",value:function n(){return n6}}]);return t}(nU);tp._$litElement$=!0,tp.finalized=!0,(P=(O=globalThis).litElementHydrateSupport)===null||P===void 0?void 0:P.call(O,{LitElement:tp});var tg=globalThis.litElementPolyfillSupport;tg===null||tg===void 0?void 0:tg({LitElement:tp});var tb;((tb=globalThis.litElementVersions)!==null&&tb!==void 0?tb:globalThis.litElementVersions=[]).push("4.1.1");var tf=function(n){return function(t,e){e!==void 0?e.addInitializer(function(){customElements.define(n,t)}):customElements.define(n,t)}};var tm={attribute:!0,type:String,converter:n$,reflect:!1,hasChanged:nS},ty=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:tm,t=arguments.length>1?arguments[1]:void 0,e=arguments.length>2?arguments[2]:void 0;var r=e.kind,i=e.metadata,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),o.set(e.name,n),r==="accessor"){var a=e.name;return{set:function e(e){var r=t.get.call(this);t.set.call(this,e),this.requestUpdate(a,r,n)},init:function t(t){return t!==void 0&&this.P(a,void 0,n),t}}}if(r==="setter"){var s=e.name;return function e(e){var r=this[s];t.call(this,e),this.requestUpdate(s,r,n)}}throw Error("Unsupported decorator location: "+r)};var tq=tc.I,tw=function(n){return n===null||(typeof n==="undefined"?"undefined":z(n))!="object"&&typeof n!="function"};var tk=function(n){return n.strings===void 0};var tx={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},t_=function(n){return function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++){e[r]=arguments[r]}return{_$litDirective$:n,values:e}}},tC=/*#__PURE__*/function(){"use strict";function n(t){s(this,n)}c(n,[{key:"_$AU",get:function n(){return this._$AM._$AU}},{key:"_$AT",value:function n(n,t,e){this._$Ct=n,this._$AM=t,this._$Ci=e}},{key:"_$AS",value:function n(n,t){return this.update(n,t)}},{key:"update",value:function n(n,t){return this.render.apply(this,S(t))}}]);return n}();var tA=function(n,t){var e;var r=n._$AN;if(r===void 0)return!1;var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var d=l.value;(e=d._$AO)===null||e===void 0?void 0:e.call(d,t,!1),tA(d,t)}}catch(n){o=true;a=n}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return!0},tE=function(n){var t,e;do{if((t=n._$AM)===void 0)break;e=t._$AN,e.delete(n),n=t}while((e===null||e===void 0?void 0:e.size)===0)},t$=function(n){for(var t;t=n._$AM;n=t){var e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(n))break;e.add(n),tS(t)}};var tS=function(n){var t,e;n.type==tx.CHILD&&((t=n._$AP)!==null&&t!==void 0?t:n._$AP=i,(e=n._$AQ)!==null&&e!==void 0?e:n._$AQ=r)},tz=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments),n._$AN=void 0;return n}c(t,[{key:"_$AT",value:function n(n,e,r){h(v(t.prototype),"_$AT",this).call(this,n,e,r),t$(this),this.isConnected=n._$AU}},{key:"_$AO",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var e,r,i,o;n!==this.isConnected&&(this.isConnected=n,n?(e=(r=this).reconnected)===null||e===void 0?void 0:e.call(r):(i=(o=this).disconnected)===null||i===void 0?void 0:i.call(o)),t&&(tA(this,n),tE(this))}},{key:"setValue",value:function n(n){if(tk(this._$Ct))this._$Ct._$AI(n,this);else{var t=S(this._$Ct._$AH);t[this._$Ci]=n,this._$Ct._$AI(t,this,0)}}},{key:"disconnected",value:function n(){}},{key:"reconnected",value:function n(){}}]);return t}(tC);var tP=/*#__PURE__*/function(){"use strict";function n(t){s(this,n);this.Y=t}c(n,[{key:"disconnect",value:function n(){this.Y=void 0}},{key:"reconnect",value:function n(n){this.Y=n}},{key:"deref",value:function n(){return this.Y}}]);return n}(),tR=/*#__PURE__*/function(){"use strict";function n(){s(this,n);this.Z=void 0,this.q=void 0}c(n,[{key:"get",value:function n(){return this.Z}},{key:"pause",value:function n(){var n=this;var t;(t=this.Z)!==null&&t!==void 0?t:this.Z=new Promise(function(t){return n.q=t})}},{key:"resume",value:function n(){var n,t;(n=(t=this).q)===null||n===void 0?void 0:n.call(t),this.Z=this.q=void 0}}]);return n}();var tO=function(n){return!tw(n)&&typeof n.then=="function"},tU=0x3fffffff,tT=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments),n._$Cwt=tU,n._$Cbt=[],n._$CK=new tP(n),n._$CX=new tR;return n}c(t,[{key:"render",value:function n(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++){t[e]=arguments[e]}var r;return(r=t.find(function(n){return!tO(n)}))!==null&&r!==void 0?r:n6}},{key:"update",value:function n(n,t){var e,r=function(n){var r=t[n];if(!tO(r))return{v:(e._$Cwt=n,r)};n<a&&r===i[n]||(e._$Cwt=tU,a=0,Promise.resolve(r).then(/*#__PURE__*/function(){var n=o(function(n){var t,e;return U(this,function(i){switch(i.label){case 0:if(!l.get())return[3,3];return[4,l.get()];case 1:i.sent();i.label=2;case 2:return[3,0];case 3:t=s.deref();if(t!==void 0){e=t._$Cbt.indexOf(r);e>-1&&e<t._$Cwt&&(t._$Cwt=e,t.setValue(n))}return[2]}})});return function(t){return n.apply(this,arguments)}}()))};var i=this._$Cbt,a=i.length;this._$Cbt=t;var s=this._$CK,l=this._$CX;this.isConnected||this.disconnected();for(var d=0;d<t.length&&!(d>this._$Cwt);d++){var c=(e=this,r(d));if(z(c)==="object")return c.v}return n6}},{key:"disconnected",value:function n(){this._$CK.disconnect(),this._$CX.pause()}},{key:"reconnected",value:function n(){this._$CK.reconnect(this),this._$CX.resume()}}]);return t}(tz),tM=t_(tT);var tL="@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;\n\n:root,\n:host {\n /* Active colors */\n --qti-bg-active: #ffecec;\n --qti-border-active: #f86d70;\n\n /* Gap size */\n --qti-gap-size: 1rem;\n\n /* Background colors */\n --qti-bg: white;\n --qti-hover-bg: #f9fafb;\n\n /* Light theme colors */\n --qti-light-bg-active: #f0f0f0; /* Light gray */\n --qti-light-border-active: #d0d0d0; /* Medium gray */\n\n /* Dark theme colors */\n --qti-dark-bg-active: #1f2937; /* Dark gray */\n --qti-dark-border-active: #64748b; /* Medium gray */\n\n /* Disabled colors */\n --qti-disabled-bg: #f3f4f6;\n --qti-disabled-color: #45484f;\n\n /* Border properties */\n --qti-border-thickness: 2px;\n --qti-border-style: solid;\n --qti-border-color: #c6cad0;\n --qti-border-radius: 0.3rem;\n --qti-drop-border-radius: calc(var(--qti-border-radius) + var(--qti-border-thickness));\n\n /* Focus & active states */\n --qti-focus-border-width: 5px;\n --qti-focus-color: #bddcff7e;\n\n /* Class-specific variables */\n\n /* Form elements */\n --qti-form-size: 1rem;\n\n /* Point elements */\n --qti-point-size: 2rem;\n\n /* Order buttons */\n --qti-order-size: 2rem;\n\n /* Generic padding for all elements */\n --qti-padding-vertical: 0.5rem; /* py-2 */\n --qti-padding-horizontal: 0.5rem; /* px-2 */\n}\n\n/* SVG masks and backgrounds */\n\n.chevron {\n background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px;\n}\n\n.handle {\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n background-repeat: repeat-y;\n background-position: left center;\n background-size: 14px 8px;\n}\n\n.check-mask {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n}\n\n/* \n Following are classes that can be applied to elements and element states, so they are not used directly \n The @apply directive is used to apply these classes to elements\n*/\n\n/* Apply .bordered to an element */\n\n.bordered {\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .form rules for checkbox and radiobutton */\n\n.form {\n\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .button rules for button-like elements, such as drags and buttons */\n\n.button {\n\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .select for the select dropdown element */\n\n.select {\n\n border-radius: var(--qti-border-radius);\n position: relative;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n padding-right: calc(var(--qti-padding-horizontal) + 1.5rem); /* 1.5rem for the chevron */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px;\n}\n\n/* Apply .text for the input text and textarea */\n\n.text {\n\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: unset;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .spot for hotspot shapes */\n\n.spot {\n\n width: 100%;\n height: 100%;\n background-color: transparent;\n padding: 0;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .point for circular small hotspots */\n\n.point {\n\n border-radius: 100%;\n width: var(--qti-point-size);\n height: var(--qti-point-size);\n background-color: transparent;\n padding: 0;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .drag for draggable elements */\n\n.drag {\n\n transition:\n transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n cursor: grab;\n background-color: var(--qti-bg);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border-radius: var(--qti-border-radius);\n padding-left: calc(var(--qti-padding-horizontal) + 0.5rem) !important; /* 1.5rem for the drag */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n ); background-repeat: repeat-y; background-position: left center; background-size: 14px 8px;\n}\n\n/* Apply .dragging for the dragging state of a draggable element */\n\n.dragging {\n pointer-events: none;\n rotate: -2deg;\n box-shadow:\n 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n}\n\n/* Apply .drop for an element where you can drop the draggable */\n\n.drop {\n\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .dropping for an indicator where you can drop the draggable */\n\n.dropping {\n background-color: var(--qti-bg-active);\n}\n\n/* Apply .order for a small circular button */\n\n.order {\n\n display: grid;\n place-content: center;\n\n /* background-color: var(--qti-bg-active); */\n border-radius: 100%;\n width: var(--qti-order-size);\n height: var(--qti-order-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .check-size for radio and checkbox size */\n\n.check-size {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n}\n\n/* Apply .check for checkbox */\n\n.check {\n gap: 0.5rem;\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n outline: none;\n cursor: pointer;\n}\n\n/* Apply .check-radio for outer circle of the radio buttons */\n\n.check-radio {\n\n border-radius: 100%;\n\n display: grid;\n\n place-content: center;\n\n width: var(--qti-form-size);\n\n height: var(--qti-form-size);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n}\n\n/* Apply .check-radio-checked for the inner checked radio */\n\n.check-radio-checked {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n}\n\n/* Apply .check-checkbox for outer square of the checkbox */\n\n.check-checkbox {\n\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .check-checkbox-checked for the inner checkmark */\n\n.check-checkbox-checked {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n}\n\n/* Apply .hov for hover state */\n\n.hov {\n background-color: var(--qti-hover-bg);\n}\n\n/* Apply .foc for focus state */\n\n.foc {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n}\n\n/* Apply .act for active state */\n\n.act {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n}\n\n.act-bg {\n background-color: var(--qti-bg-active);\n}\n\n.act-bor {\n border-color: var(--qti-border-active);\n}\n\n/* Apply .rdo for readonly state */\n\n.rdo {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n}\n\n/* Apply .dis for disabled state */\n\n.dis {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n}\n\n/* base */\n\n/* ============================\n QTI 3 shared css\n 1. Display\n 2. Special Flex styles\n 3. Margin\n 4. Padding\n 5. Horizontal Alignment styles\n 6. Vertical Alignment styles\n 7. Height\n 8. Width\n 9. Text-Indent\n 10. List Style\n 11. Layout\n 12. Other QTI 3 presentation utilities\n ============================ */\n\n/* ==========\n Display css\n =========== */\n\n.qti-display-inline {\n display: inline;\n}\n\n.qti-display-inline-block {\n display: inline-block;\n}\n\n.qti-display-block {\n display: block;\n}\n\n.qti-display-flex {\n display: flexbox;\n display: flex;\n}\n\n.qti-display-inline-flex {\n display: inline-flex;\n}\n\n.qti-display-grid {\n display: grid;\n}\n\n.qti-display-inline-grid {\n display: inline-grid;\n}\n\n.qti-display-table {\n display: table;\n}\n\n.qti-display-table-cell {\n display: table-cell;\n}\n\n.qti-display-table-row {\n display: table-row;\n}\n\n.qti-display-list-item {\n display: list-item;\n}\n\n.qti-display-inherit {\n display: inherit;\n}\n\n/* \n * hidden to screen readers and sighted\n */\n\n.qti-hidden {\n display: none;\n}\n\n/*\n * visible to screen readers, hidden to sighted\n */\n\n.qti-visually-hidden {\n position: fixed !important;\n overflow: hidden;\n clip: rect(1px 1px 1px 1px);\n height: 1px;\n width: 1px;\n border: 0;\n margin: -1px;\n}\n\n/* =============================\n Special flex styles\n ============================= */\n\n.qti-flex-direction-column {\n flex-direction: column;\n}\n\n.qti-flex-direction-row {\n flex-direction: row;\n}\n\n.qti-flex-grow-1 {\n flex-grow: 1;\n}\n\n.qti-flex-grow-0 {\n flex-grow: 0;\n}\n\n/* =========\n Margin css\n ========== */\n\n/**\n * For margin Top and Bottom and Left and Right\n */\n\n.qti-margin-0 {\n margin: 0 !important;\n}\n\n.qti-margin-1 {\n margin: 0.25rem !important;\n}\n\n.qti-margin-2 {\n margin: 0.5rem !important;\n}\n\n.qti-margin-3 {\n margin: 1rem !important;\n}\n\n.qti-margin-4 {\n margin: 1.5rem !important;\n}\n\n.qti-margin-5 {\n margin: 3rem !important;\n}\n\n.qti-margin-auto {\n margin: auto !important;\n}\n\n/*\n For margin Left and Right\n */\n\n.qti-margin-x-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.qti-margin-x-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.qti-margin-x-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.qti-margin-x-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.qti-margin-x-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.qti-margin-x-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.qti-margin-x-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n/*\n For margin Top and Bottom\n */\n\n.qti-margin-y-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.qti-margin-y-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.qti-margin-y-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.qti-margin-y-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.qti-margin-y-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.qti-margin-y-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.qti-margin-y-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n/*\n For margin Top\n */\n\n.qti-margin-t-0 {\n margin-top: 0 !important;\n}\n\n.qti-margin-t-1 {\n margin-top: 0.25rem !important;\n}\n\n.qti-margin-t-2 {\n margin-top: 0.5rem !important;\n}\n\n.qti-margin-t-3 {\n margin-top: 1rem !important;\n}\n\n.qti-margin-t-4 {\n margin-top: 1.5rem !important;\n}\n\n.qti-margin-t-5 {\n margin-top: 3rem !important;\n}\n\n.qti-margin-t-auto {\n margin-top: auto !important;\n}\n\n/* \n For margin Bottom\n */\n\n.qti-margin-b-0 {\n margin-bottom: 0 !important;\n}\n\n.qti-margin-b-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.qti-margin-b-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.qti-margin-b-3 {\n margin-bottom: 1rem !important;\n}\n\n.qti-margin-b-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.qti-margin-b-5 {\n margin-bottom: 3rem !important;\n}\n\n.qti-margin-b-auto {\n margin-bottom: auto !important;\n}\n\n/*\n For margin Start LTR\n */\n\n.qti-margin-s-0 {\n margin-left: 0 !important;\n}\n\n.qti-margin-s-1 {\n margin-left: 0.25rem !important;\n}\n\n.qti-margin-s-2 {\n margin-left: 0.5rem !important;\n}\n\n.qti-margin-s-3 {\n margin-left: 1rem !important;\n}\n\n.qti-margin-s-4 {\n margin-left: 1.5rem !important;\n}\n\n.qti-margin-s-5 {\n margin-left: 3rem !important;\n}\n\n.qti-margin-s-auto {\n margin-left: auto !important;\n}\n\n/* \n For margin End LTR\n */\n\n.qti-margin-e-0 {\n margin-right: 0 !important;\n}\n\n.qti-margin-e-1 {\n margin-right: 0.25rem !important;\n}\n\n.qti-margin-e-2 {\n margin-right: 0.5rem !important;\n}\n\n.qti-margin-e-3 {\n margin-right: 1rem !important;\n}\n\n.qti-margin-e-4 {\n margin-right: 1.5rem !important;\n}\n\n.qti-margin-e-5 {\n margin-right: 3rem !important;\n}\n\n.qti-margin-e-auto {\n margin-right: auto !important;\n}\n\n/* =========\n Padding css\n ========== */\n\n/*\n For padding Top and Bottom and Left and Right\n */\n\n.qti-padding-0 {\n padding: 0 !important;\n}\n\n.qti-padding-1 {\n padding: 0.25rem !important;\n}\n\n.qti-padding-2 {\n padding: 0.5rem !important;\n}\n\n.qti-padding-3 {\n padding: 1rem !important;\n}\n\n.qti-padding-4 {\n padding: 1.5rem !important;\n}\n\n.qti-padding-5 {\n padding: 3rem !important;\n}\n\n/*\n For padding Left and Right\n */\n\n.qti-padding-x-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.qti-padding-x-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.qti-padding-x-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.qti-padding-x-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.qti-padding-x-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.qti-padding-x-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n/*\n For padding Top and Bottom\n */\n\n.qti-padding-y-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.qti-padding-y-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.qti-padding-y-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.qti-padding-y-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.qti-padding-y-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.qti-padding-y-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n/*\n For padding Top\n */\n\n.qti-padding-t-0 {\n padding-top: 0 !important;\n}\n\n.qti-padding-t-1 {\n padding-top: 0.25rem !important;\n}\n\n.qti-padding-t-2 {\n padding-top: 0.5rem !important;\n}\n\n.qti-padding-t-3 {\n padding-top: 1rem !important;\n}\n\n.qti-padding-t-4 {\n padding-top: 1.5rem !important;\n}\n\n.qti-padding-t-5 {\n padding-top: 3rem !important;\n}\n\n/*\n For padding Bottom\n */\n\n.qti-padding-b-0 {\n padding-bottom: 0 !important;\n}\n\n.qti-padding-b-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.qti-padding-b-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.qti-padding-b-3 {\n padding-bottom: 1rem !important;\n}\n\n.qti-padding-b-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.qti-padding-b-5 {\n padding-bottom: 3rem !important;\n}\n\n/*\n For padding Start LTR\n */\n\n.qti-padding-s-0 {\n padding-left: 0 !important;\n}\n\n.qti-padding-s-1 {\n padding-left: 0.25rem !important;\n}\n\n.qti-padding-s-2 {\n padding-left: 0.5rem !important;\n}\n\n.qti-padding-s-3 {\n padding-left: 1rem !important;\n}\n\n.qti-padding-s-4 {\n padding-left: 1.5rem !important;\n}\n\n.qti-padding-s-5 {\n padding-left: 3rem !important;\n}\n\n/*\n For padding End LTR\n */\n\n.qti-padding-e-0 {\n padding-right: 0 !important;\n}\n\n.qti-padding-e-1 {\n padding-right: 0.25rem !important;\n}\n\n.qti-padding-e-2 {\n padding-right: 0.5rem !important;\n}\n\n.qti-padding-e-3 {\n padding-right: 1rem !important;\n}\n\n.qti-padding-e-4 {\n padding-right: 1.5rem !important;\n}\n\n.qti-padding-e-5 {\n padding-right: 3rem !important;\n}\n\n/* ====================\n Horizontal alignment\n ==================== */\n\n.qti-align-left {\n text-align: left;\n}\n\n.qti-align-center {\n text-align: center;\n}\n\n.qti-align-right {\n text-align: right;\n}\n\n/* ==================\n Vertical alignment\n ================== */\n\n.qti-valign-top {\n vertical-align: top;\n}\n\n.qti-valign-middle {\n vertical-align: middle;\n}\n\n.qti-valign-baseline {\n vertical-align: baseline;\n}\n\n.qti-valign-bottom {\n vertical-align: bottom;\n}\n\n/* =============\n Height styles\n ============= */\n\n.qti-height-0 {\n height: 0;\n}\n\n.qti-height-px {\n height: 1px;\n}\n\n.qti-height-0p5 {\n height: 0.125rem;\n}\n\n.qti-height-1 {\n height: 0.25rem;\n}\n\n.qti-height-1p5 {\n height: 0.375rem;\n}\n\n.qti-height-2 {\n height: 0.5rem;\n}\n\n.qti-height-2p5 {\n height: 0.625rem;\n}\n\n.qti-height-3 {\n height: 0.75rem;\n}\n\n.qti-height-3p5 {\n height: 0.875rem;\n}\n\n.qti-height-4 {\n height: 1rem;\n}\n\n.qti-height-5 {\n height: 1.25rem;\n}\n\n.qti-height-6 {\n height: 1.5rem;\n}\n\n.qti-height-7 {\n height: 1.75rem;\n}\n\n.qti-height-8 {\n height: 2rem;\n}\n\n.qti-height-9 {\n height: 2.25rem;\n}\n\n.qti-height-10 {\n height: 2.5rem;\n}\n\n.qti-height-11 {\n height: 2.75rem;\n}\n\n.qti-height-12 {\n height: 3rem;\n}\n\n.qti-height-14 {\n height: 3.5rem;\n}\n\n.qti-height-16 {\n height: 4rem;\n}\n\n.qti-height-20 {\n height: 5rem;\n}\n\n.qti-height-24 {\n height: 6rem;\n}\n\n.qti-height-28 {\n height: 7rem;\n}\n\n.qti-height-32 {\n height: 8rem;\n}\n\n.qti-height-36 {\n height: 9rem;\n}\n\n.qti-height-40 {\n height: 10rem;\n}\n\n.qti-height-44 {\n height: 11rem;\n}\n\n.qti-height-48 {\n height: 12rem;\n}\n\n.qti-height-52 {\n height: 13rem;\n}\n\n.qti-height-56 {\n height: 14rem;\n}\n\n.qti-height-60 {\n height: 15rem;\n}\n\n.qti-height-64 {\n height: 16rem;\n}\n\n.qti-height-72 {\n height: 18rem;\n}\n\n.qti-height-80 {\n height: 20rem;\n}\n\n.qti-height-96 {\n height: 24rem;\n}\n\n.qti-height-1-2 {\n height: 50%;\n}\n\n.qti-height-1-3 {\n height: 33.3333%;\n}\n\n.qti-height-2-3 {\n height: 66.6667%;\n}\n\n.qti-height-1-4 {\n height: 25%;\n}\n\n.qti-height-2-4 {\n height: 50%;\n}\n\n.qti-height-3-4 {\n height: 75%;\n}\n\n.qti-height-1-5 {\n height: 20%;\n}\n\n.qti-height-2-5 {\n height: 40%;\n}\n\n.qti-height-3-5 {\n height: 60%;\n}\n\n.qti-height-4-5 {\n height: 80%;\n}\n\n.qti-height-1-6 {\n height: 16.6667%;\n}\n\n.qti-height-2-6 {\n height: 33.3333%;\n}\n\n.qti-height-3-6 {\n height: 50%;\n}\n\n.qti-height-4-6 {\n height: 66.6667%;\n}\n\n.qti-height-5-6 {\n height: 83.3333%;\n}\n\n.qti-height-auto {\n height: auto;\n}\n\n.qti-height-full {\n height: 100%;\n}\n\n/* ============\n Width styles\n ============ */\n\n.qti-width-0 {\n width: 0;\n}\n\n.qti-width-px {\n width: 1px;\n}\n\n.qti-width-0p5 {\n width: 0.125rem;\n}\n\n.qti-width-1 {\n width: 0.25rem;\n}\n\n.qti-width-1p5 {\n width: 0.375rem;\n}\n\n.qti-width-2 {\n width: 0.5rem;\n}\n\n.qti-width-2p5 {\n width: 0.625rem;\n}\n\n.qti-width-3 {\n width: 0.75rem;\n}\n\n.qti-width-3p5 {\n width: 0.875rem;\n}\n\n.qti-width-4 {\n width: 1rem;\n}\n\n.qti-width-5 {\n width: 1.25rem;\n}\n\n.qti-width-6 {\n width: 1.5rem;\n}\n\n.qti-width-7 {\n width: 1.75rem;\n}\n\n.qti-width-8 {\n width: 2rem;\n}\n\n.qti-width-9 {\n width: 2.25rem;\n}\n\n.qti-width-10 {\n width: 2.5rem;\n}\n\n.qti-width-11 {\n width: 2.75rem;\n}\n\n.qti-width-12 {\n width: 3rem;\n}\n\n.qti-width-14 {\n width: 3.5rem;\n}\n\n.qti-width-16 {\n width: 4rem;\n}\n\n.qti-width-20 {\n width: 5rem;\n}\n\n.qti-width-24 {\n width: 6rem;\n}\n\n.qti-width-28 {\n width: 7rem;\n}\n\n.qti-width-32 {\n width: 8rem;\n}\n\n.qti-width-36 {\n width: 9rem;\n}\n\n.qti-width-40 {\n width: 10rem;\n}\n\n.qti-width-44 {\n width: 11rem;\n}\n\n.qti-width-48 {\n width: 12rem;\n}\n\n.qti-width-52 {\n width: 13rem;\n}\n\n.qti-width-56 {\n width: 14rem;\n}\n\n.qti-width-60 {\n width: 15rem;\n}\n\n.qti-width-64 {\n width: 16rem;\n}\n\n.qti-width-72 {\n width: 18rem;\n}\n\n.qti-width-80 {\n width: 20rem;\n}\n\n.qti-width-96 {\n width: 24rem;\n}\n\n.qti-width-auto {\n width: auto;\n}\n\n.qti-width-1-2 {\n width: 50%;\n}\n\n.qti-width-1-3 {\n width: 33.3333%;\n}\n\n.qti-width-2-3 {\n width: 66.6667%;\n}\n\n.qti-width-1-4 {\n width: 25%;\n}\n\n.qti-width-2-4 {\n width: 50%;\n}\n\n.qti-width-3-4 {\n width: 75%;\n}\n\n.qti-width-1-5 {\n width: 20%;\n}\n\n.qti-width-2-5 {\n width: 40%;\n}\n\n.qti-width-3-5 {\n width: 60%;\n}\n\n.qti-width-4-5 {\n width: 80%;\n}\n\n.qti-width-1-6 {\n width: 16.6667%;\n}\n\n.qti-width-2-6 {\n width: 33.3333%;\n}\n\n.qti-width-3-6 {\n width: 50%;\n}\n\n.qti-width-4-6 {\n width: 66.6667%;\n}\n\n.qti-width-5-6 {\n width: 83.3333%;\n}\n\n.qti-width-1-12 {\n width: 8.3333%;\n}\n\n.qti-width-2-12 {\n width: 16.6667%;\n}\n\n.qti-width-3-12 {\n width: 25%;\n}\n\n.qti-width-4-12 {\n width: 33.3333%;\n}\n\n.qti-width-5-12 {\n width: 41.6667%;\n}\n\n.qti-width-6-12 {\n width: 50%;\n}\n\n.qti-width-7-12 {\n width: 58.3333%;\n}\n\n.qti-width-8-12 {\n width: 66.6667%;\n}\n\n.qti-width-9-12 {\n width: 75%;\n}\n\n.qti-width-10-12 {\n width: 83.3333%;\n}\n\n.qti-width-11-12 {\n width: 91.6667%;\n}\n\n.qti-width-full,\n.qti-fullwidth {\n width: 100%;\n}\n\n/* ==================\n Text Indent styles\n ================== */\n\n.qti-text-indent-0 {\n text-indent: 0;\n}\n\n.qti-text-indent-px {\n text-indent: 1px;\n}\n\n.qti-text-indent-0p5 {\n text-indent: 0.125rem;\n}\n\n.qti-text-indent-1 {\n text-indent: 0.25rem;\n}\n\n.qti-text-indent-1p5 {\n text-indent: 0.375rem;\n}\n\n.qti-text-indent-2 {\n text-indent: 0.5rem;\n}\n\n.qti-text-indent-2p5 {\n text-indent: 0.625rem;\n}\n\n.qti-text-indent-3 {\n text-indent: 0.75rem;\n}\n\n.qti-text-indent-3p5 {\n text-indent: 0.875rem;\n}\n\n.qti-text-indent-4 {\n text-indent: 1rem;\n}\n\n.qti-text-indent-5 {\n text-indent: 1.25rem;\n}\n\n.qti-text-indent-6 {\n text-indent: 1.5rem;\n}\n\n.qti-text-indent-7 {\n text-indent: 1.75rem;\n}\n\n.qti-text-indent-8 {\n text-indent: 2rem;\n}\n\n.qti-text-indent-12 {\n text-indent: 3rem;\n}\n\n.qti-text-indent-16 {\n text-indent: 4rem;\n}\n\n.qti-text-indent-20 {\n text-indent: 5rem;\n}\n\n.qti-text-indent-24 {\n text-indent: 6rem;\n}\n\n.qti-text-indent-28 {\n text-indent: 7rem;\n}\n\n.qti-text-indent-32 {\n text-indent: 8rem;\n}\n\n/* =================\n List Style styles\n ================= */\n\n.qti-list-style-type-none {\n list-style-type: none;\n}\n\n.qti-list-style-type-disc {\n list-style-type: disc;\n}\n\n.qti-list-style-type-circle {\n list-style-type: circle;\n}\n\n.qti-list-style-type-square {\n list-style-type: square;\n}\n\n.qti-list-style-type-decimal {\n list-style-type: decimal;\n}\n\n.qti-list-style-type-decimal-leading-zero {\n list-style-type: decimal-leading-zero;\n}\n\n.qti-list-style-type-lower-alpha {\n list-style-type: lower-alpha;\n}\n\n.qti-list-style-type-upper-alpha {\n list-style-type: upper-alpha;\n}\n\n.qti-list-style-type-lower-roman {\n list-style-type: lower-roman;\n}\n\n.qti-list-style-type-upper-roman {\n list-style-type: upper-roman;\n}\n\n.qti-list-style-type-lower-latin {\n list-style-type: lower-latin;\n}\n\n.qti-list-style-type-upper-latin {\n list-style-type: upper-latin;\n}\n\n.qti-list-style-type-lower-greek {\n list-style-type: lower-greek;\n}\n\n.qti-list-style-type-arabic-indic {\n list-style-type: arabic-indic;\n}\n\n.qti-list-style-type-armenian {\n list-style-type: armenian;\n}\n\n.qti-list-style-type-lower-armenian {\n list-style-type: lower-armenian;\n}\n\n.qti-list-style-type-upper-armenian {\n list-style-type: upper-armenian;\n}\n\n.qti-list-style-type-bengali {\n list-style-type: bengali;\n}\n\n.qti-list-style-type-cambodian {\n list-style-type: cambodian;\n}\n\n.qti-list-style-type-simp-chinese-formal {\n list-style-type: simp-chinese-formal;\n}\n\n.qti-list-style-type-simp-chinese-informal {\n list-style-type: simp-chinese-informal;\n}\n\n.qti-list-style-type-trad-chinese-formal {\n list-style-type: trad-chinese-formal;\n}\n\n.qti-list-style-type-trad-chinese-informal {\n list-style-type: trad-chinese-informal;\n}\n\n.qti-list-style-type-cjk-ideographic {\n list-style-type: cjk-ideographic;\n}\n\n.qti-list-style-type-cjk-heavenly-stem {\n list-style-type: cjk-heavenly-stem;\n}\n\n.qti-list-style-type-cjk-earthly-branch {\n list-style-type: cjk-earthly-branch;\n}\n\n.qti-list-style-type-devanagari {\n list-style-type: devanagari;\n}\n\n.qti-list-style-type-ethiopic-halehame-ti-er {\n list-style-type: ethiopic-halehame-ti-er;\n}\n\n.qti-list-style-type-ethiopic-halehame-ti-et {\n list-style-type: ethiopic-halehame-ti-et;\n}\n\n.qti-list-style-type-ethiopic-halehame-am {\n list-style-type: ethiopic-halehame-am;\n}\n\n.qti-list-style-type-ethiopic-halehame {\n list-style-type: ethiopic-halehame;\n}\n\n.qti-list-style-type-georgian {\n list-style-type: georgian;\n}\n\n.qti-list-style-type-gujarati {\n list-style-type: gujarati;\n}\n\n.qti-list-style-type-gurmukhi {\n list-style-type: gurmukhi;\n}\n\n.qti-list-style-type-hangul {\n list-style-type: hangul;\n}\n\n.qti-list-style-type-hangul-consonant {\n list-style-type: hangul-consonant;\n}\n\n.qti-list-style-type-hebrew {\n list-style-type: hebrew;\n}\n\n.qti-list-style-type-hiragana {\n list-style-type: hiragana;\n}\n\n.qti-list-style-type-hiragana-iroha {\n list-style-type: hiragana-iroha;\n}\n\n.qti-list-style-type-khmer {\n list-style-type: khmer;\n}\n\n.qti-list-style-type-korean-hangul-formal {\n list-style-type: korean-hangul-formal;\n}\n\n.qti-list-style-type-korean-hanja-formal {\n list-style-type: korean-hanja-formal;\n}\n\n.qti-list-style-type-korean-hanja-informal {\n list-style-type: korean-hanja-informal;\n}\n\n.qti-list-style-type-lao {\n list-style-type: lao;\n}\n\n.qti-list-style-type-malayalam {\n list-style-type: malayalam;\n}\n\n.qti-list-style-type-mongolian {\n list-style-type: mongolian;\n}\n\n.qti-list-style-type-myanmar {\n list-style-type: myanmar;\n}\n\n.qti-list-style-type-oriya {\n list-style-type: oriya;\n}\n\n.qti-list-style-type-persian {\n list-style-type: persian;\n}\n\n.qti-list-style-type-thai {\n list-style-type: thai;\n}\n\n.qti-list-style-type-tibetan {\n list-style-type: tibetan;\n}\n\n.qti-list-style-type-telugu {\n list-style-type: telugu;\n}\n\n.qti-list-style-type-urdu {\n list-style-type: urdu;\n}\n\n/* =========================\n Other QTI 3 Presentation Utilities\n ========================= */\n\n.qti-bordered {\n border: 1px solid var(--table-border-color);\n}\n\n.qti-underline {\n text-decoration: underline;\n text-decoration-color: var(--foreground);\n}\n\n.qti-italic {\n font-style: italic;\n}\n\n.qti-well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: var(--well-bg);\n border: var(--well-border);\n border-radius: 4px;\n box-shadow: var(--well-box-shadow);\n}\n\n/* Set writing-mode to vertical-rl \n Typical for CJK vertical text */\n\n.qti-writing-mode-vertical-rl {\n writing-mode: vertical-rl;\n}\n\n/* Set writing-mode to vertical-lr\n Typical for Mongolian vertical text */\n\n.qti-writing-mode-vertical-lr {\n writing-mode: vertical-lr;\n}\n\n/* Set writing-mode to horizontal-tb \n Browser default */\n\n.qti-writing-mode-horizontal-tb {\n writing-mode: horizontal-tb;\n}\n\n/* Float an element left */\n\n.qti-float-left {\n float: left;\n}\n\n/* Float an element right */\n\n.qti-float-right {\n float: right;\n}\n\n/* Remove a float */\n\n.qti-float-none {\n float: none;\n}\n\n/* Clearfix Hack to apply to a container of \n floated content that overflows the container. */\n\n.qti-float-clearfix::after {\n content: '';\n clear: both;\n display: table;\n}\n\n.qti-float-clear-left\n .qti-float-clear-right\n .qti-float-clear-both\n \n /* Set text-orientation to upright */\n .qti-text-orientation-upright {\n text-orientation: upright;\n}\n\n/* stylelint-disable number-max-precision */\n\n@layer qti-base {\n .qti-layout-row {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n gap: 2.1276595745%;\n }\n\n .qti-layout-row [class*='qti-layout-col']:not(:empty) {\n box-sizing: border-box;\n }\n\n .qti-layout-row [class*='qti-layout-col']:empty {\n width: 0;\n overflow: hidden; /* to fully collapse if there’s padding or borders */\n }\n\n .qti-layout-col1 {\n width: 6.3829787234%;\n }\n\n .qti-layout-col2 {\n width: 14.8936170213%;\n }\n\n .qti-layout-col3 {\n width: 23.4042553191%;\n }\n\n .qti-layout-col4 {\n width: 31.914893617%;\n }\n\n .qti-layout-col5 {\n width: 40.4255319149%;\n }\n\n .qti-layout-col6 {\n width: 48.9361702128%;\n }\n\n .qti-layout-col7 {\n width: 57.4468085106%;\n }\n\n .qti-layout-col8 {\n width: 65.9574468085%;\n }\n\n .qti-layout-col9 {\n width: 74.4680851064%;\n }\n\n .qti-layout-col10 {\n width: 82.9787234043%;\n }\n\n .qti-layout-col11 {\n width: 91.4893617021%;\n }\n\n .qti-layout-col12 {\n width: 100%;\n }\n\n .qti-layout-offset1 {\n margin-left: 8.5106382979%;\n }\n\n .qti-layout-offset2 {\n margin-left: 17.0212765957%;\n }\n\n .qti-layout-offset3 {\n margin-left: 25.5319148936%;\n }\n\n .qti-layout-offset4 {\n margin-left: 34.0425531915%;\n }\n\n .qti-layout-offset5 {\n margin-left: 42.5531914894%;\n }\n\n .qti-layout-offset6 {\n margin-left: 51.0638297872%;\n }\n\n .qti-layout-offset7 {\n margin-left: 59.5744680851%;\n }\n\n .qti-layout-offset8 {\n margin-left: 68.085106383%;\n }\n\n .qti-layout-offset9 {\n margin-left: 76.5957446809%;\n }\n\n .qti-layout-offset10 {\n margin-left: 85.1063829787%;\n }\n\n .qti-layout-offset11 {\n margin-left: 93.6170212766%;\n }\n\n .qti-layout-offset12 {\n margin-left: 102.1276595745%;\n }\n\n @media (width <= 767px) {\n [class*='qti-layout-col'] {\n width: 100%;\n }\n }\n}\n\n[view],\nqti-outcome-declaration,\nqti-response-declaration {\n display: none;\n}\n\n[view].show {\n display: block;\n}\n\n:host {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n/* components */\n\n@layer qti-components {\n qti-choice-interaction {\n &.qti-input-control-hidden {\n & qti-simple-choice {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n &:not(.qti-input-control-hidden) {\n & qti-simple-choice {\n\n &:not([aria-disabled='true'], [aria-readonly='true'], :state(--checked)):hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n &::part(cha) {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n }\n\n &:state(radio)::part(ch) {\n border-radius: 100%;\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(radio):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n }\n\n &:state(checkbox)::part(ch) {\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(checkbox):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n }\n\n gap: 0.5rem;\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n outline: none;\n\n cursor: pointer\n }\n }\n\n & qti-simple-choice {\n width: -moz-fit-content;\n width: fit-content;\n cursor: pointer;\n\n &:state(correct-response),\n &[data-correct-response='true'] {\n &::after {\n content: '\\02714';\n color: #16a34a; /* text-green-600 */\n }\n }\n }\n\n & qti-simple-choice > p {\n margin: 0 !important;\n padding: 0 !important;\n }\n }\n\n .hover-border {\n border: 2px solid #000; /* Adjust the border style and color as needed */\n }\n\n qti-graphic-gap-match-interaction {\n position: relative;\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n & qti-gap-img,\n qti-gap-text {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: grab;\n }\n\n & qti-associable-hotspot {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid transparent;\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &[active] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active)\n }\n\n &[disabled] {\n\n &:not(:empty) {\n cursor: default !important;\n }\n\n cursor: not-allowed;\n\n background-color: var(--qti-disabled-bg);\n\n color: var(--qti-disabled-color);\n\n border-color: var(--qti-border-color);\n\n outline: 4px solid var(--qti-disabled-bg)\n }\n\n &:empty::after {\n padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */\n content: '\\0000a0'; /* when empty, put a space in it */\n }\n\n &:not(:empty) {\n padding: 0;\n width: auto;\n }\n\n &:not(:empty) > * {\n flex: 1;\n transform: rotate(0); /* rotate-0 */\n box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */\n }\n }\n\n & img {\n margin: 0;\n padding: 0;\n }\n }\n\n qti-text-entry-interaction {\n &::part(input) {\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: unset;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus-within {\n &::part(input) {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n border-color: var(--qti-border-active);\n }\n }\n }\n\n qti-extended-text-interaction {\n &::part(textarea) {\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: unset;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus-within {\n &::part(textarea) {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n border-color: var(--qti-border-active);\n }\n }\n }\n\n qti-gap-match-interaction {\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n & qti-gap-text {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n\n background-repeat: repeat-y;\n\n background-position: left center;\n\n background-size: 14px 8px\n }\n\n & qti-gap {\n\n &[disabled] {\n\n &:not(:empty) {\n cursor: default !important;\n }\n\n cursor: not-allowed;\n\n background-color: var(--qti-disabled-bg);\n\n color: var(--qti-disabled-color);\n\n border-color: var(--qti-border-color);\n\n outline: 4px solid var(--qti-disabled-bg)\n }\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n border-color: var(--qti-dark-border-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &[active] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active)\n }\n\n display: inline-flex;\n align-items: center;\n\n &:empty::after {\n padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */\n content: '\\0000a0'; /* when empty, put a space in it */\n }\n\n &:not(:empty) {\n display: inline-flex;\n padding: 0;\n width: auto;\n }\n\n &:not(:empty) > * {\n flex: 1;\n transform: rotate(0); /* rotate-0 */\n box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */\n }\n\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n\n border-radius: var(--qti-border-radius);\n\n position: relative;\n\n background-color: var(--qti-bg);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n qti-hotspot-interaction {\n & qti-hotspot-choice {\n &[shape='circle'] {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n }\n\n &:state(--readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(--disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='rect'] {\n\n /* &:hover {\n @apply hov;\n } */\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='poly'] {\n &:hover::after {\n content: '';\n width: 100%;\n height: 100%;\n background: repeating-linear-gradient(\n 45deg,\n var(--qti-border-active),\n var(--qti-border-active) 5px,\n transparent 5px,\n transparent 10px\n );\n display: block;\n }\n\n &:state(--checked)::after,\n &[aria-checked='true']::after {\n content: '';\n width: 100%;\n height: 100%;\n background: repeating-linear-gradient(\n 45deg,\n transparent,\n transparent 5px,\n var(--qti-border-active) 5px,\n var(--qti-border-active) 10px\n );\n display: block;\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n }\n }\n\n qti-hottext-interaction {\n /* &:not(.qti-input-control-hidden),\n &:not(.qti-unselected-hidden) { */\n qti-hottext {\n display: inline-flex;\n align-items: center;\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(cha) {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n }\n\n &:state(radio)::part(ch) {\n border-radius: 100%;\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(radio):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n }\n\n &:state(checkbox)::part(ch) {\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(checkbox):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n }\n\n gap: 0.5rem;\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n outline: none;\n\n cursor: pointer\n }\n\n /* } */\n\n &.qti-input-control-hidden {\n qti-hottext {\n /* --qti-padding-md: 0.1rem;\n --qti-padding-lg: 0.2rem;\n --qti-border-radius-md: 0.3rem;\n --qti-border-thickness: 1px;\n --qti-font-weight-semibold: 400; */\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n /* @layer qti-variants { */\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n /* } */\n }\n\n &.qti-unselected-hidden {\n qti-hottext {\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n cursor: pointer;\n\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked) {\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n }\n }\n\n qti-inline-choice-interaction {\n &::part(select) {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n border-radius: var(--qti-border-radius);\n\n position: relative;\n\n -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n padding-right: calc(var(--qti-padding-horizontal) + 1.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px\n }\n }\n\n qti-match-interaction:not(.qti-match-tabular) {\n &:state(--dragzone-enabled) qti-simple-match-set:first-of-type {\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-active) qti-simple-match-set:first-of-type {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n /* The draggables */\n & qti-simple-match-set:first-of-type {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start; /* Prevents children from stretching */\n gap: var(--qti-gap-size);\n border: 2px solid transparent;\n\n & qti-simple-associable-choice {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n\n background-repeat: repeat-y;\n\n background-position: left center;\n\n background-size: 14px 8px\n }\n }\n\n /* The droppables */\n & qti-simple-match-set:last-of-type {\n display: grid;\n grid-auto-columns: 1fr; /* auto-cols-fr */\n grid-auto-flow: column; /* grid-flow-col */\n gap: var(--qti-gap-size); /* gap-2 */\n width: 100%; /* w-full */\n\n & qti-simple-associable-choice {\n display: flex;\n flex-direction: column;\n }\n\n & > qti-simple-associable-choice {\n /* a droppable qti-simple-associable-choice */\n box-sizing: border-box;\n display: grid;\n grid-row: 2 / 4;\n grid-template-rows: subgrid;\n\n & img {\n max-width: 100%;\n height: auto;\n }\n\n &[enabled] {\n &::part(dropslot) {\n background-color: var(--qti-bg-active);\n }\n }\n\n &[disabled] {\n &::part(dropslot) {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n\n &[active] {\n &::part(dropslot) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n }\n\n &::part(dropslot) {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n min-height: 6rem;\n gap: var(--qti-gap-size);\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n & > *:not(qti-simple-associable-choice) {\n pointer-events: none;\n }\n\n & > qti-simple-associable-choice {\n\n &::part(dropslot) {\n display: none;\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n flex-basis: fit-content;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n\n background-repeat: repeat-y;\n\n background-position: left center;\n\n background-size: 14px 8px;\n }\n }\n }\n }\n\n qti-order-interaction:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n qti-order-interaction:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n qti-order-interaction {\n &::part(qti-simple-choice),\n & qti-simple-choice {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n\n background-repeat: repeat-y;\n\n background-position: left center;\n\n background-size: 14px 8px\n }\n\n &::part(qti-simple-choice) {\n display: flex;\n overflow: hidden;\n align-items: center;\n width: 100%;\n text-overflow: ellipsis;\n }\n\n &::part(drops) {\n gap: 0.5rem; /* gap-2 */\n }\n\n &::part(drags) {\n gap: 0.5rem; /* gap-2 */\n }\n\n &::part(drop-list) {\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n border-color: var(--qti-dark-border-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n display: flex;\n min-height: 4rem;\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &::part(active) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n & drop-list {\n &[shape='circle'] {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='square'] {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n }\n\n qti-associate-interaction {\n /* General styles for active and enabled states */\n &:state(--dragzone-active) slot[name='qti-simple-associable-choice'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled) slot[name='qti-simple-associable-choice'] {\n background-color: var(--qti-bg-active);\n }\n\n & qti-simple-associable-choice, /* drags when in lightdom */\n &::part(qti-simple-associable-choice) /* drags when in shadowdom */ {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n\n background-repeat: repeat-y;\n\n background-position: left center;\n\n background-size: 14px 8px\n }\n\n /* display: flex;\n overflow: hidden;\n align-items: center; */\n\n /* &::part(drop-container) {\n display: flex;\n flex-direction: column;\n gap: var(--qti-gap-size);\n } */\n\n &::part(drop-list) {\n\n display: grid;\n height: 3rem;\n min-width: 10rem;\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &::part(drop-list):focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(drop-list)[dragging] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n /* &::part(drop-list) {\n @apply act;\n } */\n }\n\n qti-graphic-order-interaction {\n & qti-hotspot-choice {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n &[aria-ordervalue] {\n display: grid;\n place-content: center;\n }\n\n &[aria-ordervalue]::after {\n content: attr(aria-ordervalue) !important;\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n }\n\n qti-graphic-associate-interaction {\n position: relative;\n display: block;\n\n & qti-associable-hotspot {\n &[shape='circle'] {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='square'] {\n\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n }\n\n qti-slider-interaction {\n --qti-tick-color: rgb(229 231 235 / 100%);\n --qti-tick-width: 1px;\n }\n\n qti-select-point-interaction {\n &::part(point) {\n &:hover {\n background-color: var(--qti-hover-bg);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n border-radius: 100%;\n\n width: var(--qti-point-size);\n\n height: var(--qti-point-size);\n\n background-color: transparent;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n }\n }\n\n qti-position-object-stage {\n & qti-position-object-interaction {\n /* no styles necessary, only layout styles, defined in the component */\n }\n }\n\n qti-prompt {\n margin: 0.5rem 0; /* my-2 */\n display: block;\n width: 100%;\n }\n}\n";var tj=String.raw,tI=tj(T());var tD=null;var tN=function(){var n,t={load:function e(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return o(function(){return U(this,function(i){return[2,new Promise(function(i){m(e,r).then(function(r){return n=r,t.path(e.substring(0,e.lastIndexOf("/"))),i(t)})})]})})()},parse:function e(e){return n=y(e),t},path:function(e){return k(n,e),t},fn:function e(e){return e(n),t},pciHooks:function e(e){var r=["hook","module"],i=e.substring(0,e.lastIndexOf("/"));var o=true,a=false,s=undefined;try{var l=function(){var t=c.value;n.querySelectorAll("["+t+"]").forEach(function(n){var r=n.getAttribute(t);!r.startsWith("data:")&&!r.startsWith("http")&&(n.setAttribute("base-url",e),n.setAttribute("module",i+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var d=r[Symbol.iterator](),c;!(o=(c=d.next()).done);o=true)l()}catch(n){a=true;s=n}finally{try{if(!o&&d.return!=null){d.return()}}finally{if(a){throw s}}}return t},extendElementName:function(e,r){return d(n,e,r),t},extendElementsWithClass:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return u(n,e),t},customInteraction:function e(e,r){var i=n.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",e),i.setAttribute("data-base-item",e+r),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),t},convertCDATAtoComment:function e(){return _(n),t},stripStyleSheets:function e(){return C(n),t},html:function t(){return new XMLSerializer().serializeToString(q(n))},xml:function t(){return new XMLSerializer().serializeToString(n)},htmlDoc:function t(){return q(n)},xmlDoc:function t(){return n}};return t};var tH=function(){var n,t={load:function e(e){return o(function(){return U(this,function(r){return[2,new Promise(function(r,i){m(e).then(function(i){return n=i,t.path(e.substring(0,e.lastIndexOf("/"))),r(t)})})]})})()},parse:function e(e){return n=y(e),t},path:function(e){return k(n,e),t},fn:function e(e){return e(n),t},items:function t(){return f(n)},html:function t(){return new XMLSerializer().serializeToString(q(n))},xml:function t(){return new XMLSerializer().serializeToString(n)},htmlDoc:function t(){return q(n)},xmlDoc:function t(){return n}};return t};var tB=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments);n.testURL=null;n.testDoc=null;n.testXML=null;n.templateContent=null;return n}c(t,[{key:"handleTestURLChange",value:function n(){var n=this;return o(function(){var t,e;return U(this,function(r){switch(r.label){case 0:if(!n.testURL)return[3,4];r.label=1;case 1:r.trys.push([1,3,,4]);return[4,tH().load(n.testURL)];case 2:t=r.sent();n.testDoc=t.htmlDoc();return[3,4];case 3:e=r.sent();console.error("Error loading or parsing XML:",e);return[3,4];case 4:return[2]}})})()}},{key:"handleTestXMLChange",value:function n(){if(this.testXML)try{this.testDoc=tH().parse(this.testXML).htmlDoc()}catch(n){console.error("Error parsing XML:",n)}}},{key:"connectedCallback",value:function n(){var n=this;var e=this,r=function(){return h(v(t.prototype),"connectedCallback",n)};return o(function(){return U(this,function(n){r().call(e),e.initializeTemplateContent(),e.applyStyles(),e.testURL&&e.handleTestURLChange(),e.testXML&&e.handleTestXMLChange();return[2]})})()}},{key:"initializeTemplateContent",value:function n(){var n=this.querySelector("template");this.templateContent=n?n.content:n5(M())}},{key:"applyStyles",value:function n(){var n=new CSSStyleSheet;n.replaceSync(tL),this.shadowRoot.adoptedStyleSheets=[n]}},{key:"render",value:function n(){return n5(j(),this.templateContent,tM(this.testDoc,n5(L())))}}]);return t}(tp);Z([t({type:String,attribute:"test-url"})],tB.prototype,"testURL",2),Z([e()],tB.prototype,"testDoc",2),Z([e()],tB.prototype,"testXML",2),Z([l("testURL",{waitUntilFirstUpdate:!0})],tB.prototype,"handleTestURLChange",1),Z([l("testXML",{waitUntilFirstUpdate:!0})],tB.prototype,"handleTestXMLChange",1),tB=Z([tf("test-container")],tB);var tV=function(n){var t=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){for(var n=arguments.length,e=new Array(n),r=0;r<n;r++){e[r]=arguments[r]}s(this,t);var i;i=a(this,t,S(e)),i.addEventListener("qti-assessment-test-connected",function(){}),i.addEventListener("qti-load-item-request",function(n){var t=n.detail;t.promise=o(function(){return U(this,function(n){switch(n.label){case 0:return[4,tN().load("".concat(t.href),t.cancelPreviousRequest)];case 1:return[2,n.sent().htmlDoc()]}})})()}),i.addEventListener("qti-interaction-changed",function(n){}),i.addEventListener("qti-outcome-changed",function(){});return i}return t}(n);return t};var tF=function(n){var t=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){for(var n=arguments.length,e=new Array(n),r=0;r<n;r++){e[r]=arguments[r]}s(this,t);var i;i=a(this,t,S(e)),i.addEventListener("qti-request-test-item",function(n){var t=n.detail;if(!t)return;i._clearLoadedItems();var e=i.testElement.el.querySelector('qti-assessment-item-ref[identifier="'.concat(t,'"]')),r=i._loadItemRequest(e.href,!1),o=e.closest("qti-test-part").identifier,a=e.closest("qti-assessment-section").identifier;i._testContext=x(w({},i._testContext),{navPartId:o,navSectionId:a,navItemId:t,navItemLoading:!0}),r?r.then(function(n){e.xmlDoc=n,requestAnimationFrame(function(){return i.dispatchEvent(new CustomEvent("qti-item-connected",{bubbles:!0,composed:!0}))}),i._testContext=x(w({},i._testContext),{navItemLoading:!1})}).catch(function(n){return console.error("Failed to load item:",n)}):console.info("Load item request was not handled:",e.href)}),i.addEventListener("qti-assessment-test-connected",function(){var n=i._testContext.navItemId;n||(n=i.testElement.el.querySelector("qti-assessment-item-ref").identifier),i.dispatchEvent(new CustomEvent("qti-request-test-item",{detail:n,bubbles:!0,composed:!0}))});return i}c(t,[{key:"_clearLoadedItems",value:function n(){var n=this.testElement.el.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(n).forEach(function(n){n.xmlDoc=null})}},{key:"_loadItemRequest",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var e=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:n,promise:null,cancelPreviousRequest:t}});return this.dispatchEvent(e),e.detail.promise}}]);return t}(n);return t};var tW=function(n){var t=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){for(var n=arguments.length,e=new Array(n),r=0;r<n;r++){e[r]=arguments[r]}s(this,t);var i;i=a(this,t,S(e)),i._testContext=x(w({},i._testContext),{view:"candidate"}),i.addEventListener("on-test-switch-view",function(n){i._testContext=x(w({},i._testContext),{view:n.detail}),i._updateElementView()}),i.addEventListener("qti-assessment-test-connected",function(){i._updateElementView()}),i.addEventListener("qti-assessment-item-connected",function(n){i._updateElementView(),i._setCorrectResponseVisibility(n.detail)});return i}c(t,[{key:"willUpdate",value:function n(n){h(v(t.prototype),"willUpdate",this).call(this,n),n.has("_testContext")&&this._updateElementView()}},{key:"_updateElementView",value:function n(){var n=this;if(this.testElement&&this.testElement.el){Array.from(this.testElement.el.querySelectorAll("[view]")).forEach(function(t){t.classList.toggle("show",t.getAttribute("view")===n._testContext.view)});var t=this.testElement.el.querySelector('qti-assessment-item[identifier="'.concat(this._testContext.navItemId,'"]'));t&&t.showCorrectResponse(this._testContext.view==="scorer")}}},{key:"_setCorrectResponseVisibility",value:function n(n){n.showCorrectResponse(this._testContext.view==="scorer")}}]);return t}(n);return t};var tX=/*#__PURE__*/function(n){"use strict";p(t,n);function t(n,e,r){s(this,t);var i;i=a(this,t,["context-request",{bubbles:!0,composed:!0}]),i.context=n,i.callback=e,i.subscribe=r!==null&&r!==void 0?r:!1;return i}return t}(R(Event));var tQ=/*#__PURE__*/function(){"use strict";function n(t,e,r,i){var o=this;s(this,n);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(n,t){o.unsubscribe&&(o.unsubscribe!==t&&(o.provided=!1,o.unsubscribe()),o.subscribe||o.unsubscribe()),o.value=n,o.host.requestUpdate(),o.provided&&!o.subscribe||(o.provided=!0,o.callback&&o.callback(n,t)),o.unsubscribe=t},this.host=t,e.context!==void 0){var a=e;var l;this.context=a.context,this.callback=a.callback,this.subscribe=(l=a.subscribe)!==null&&l!==void 0?l:!1}else this.context=e,this.callback=r,this.subscribe=i!==null&&i!==void 0?i:!1;this.host.addController(this)}c(n,[{key:"hostConnected",value:function n(){this.dispatchRequest()}},{key:"hostDisconnected",value:function n(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function n(){this.host.dispatchEvent(new tX(this.context,this.t,this.subscribe))}}]);return n}();var tG=/*#__PURE__*/function(){"use strict";function n(t){var e=this;s(this,n);this.subscriptions=new Map,this.updateObservers=function(){var n=true,t=false,r=undefined;try{for(var i=e.subscriptions[Symbol.iterator](),o;!(n=(o=i.next()).done);n=true){var a=A(o.value,2),s=a[0],l=a[1],d=l.disposer;s(e.o,d)}}catch(n){t=true;r=n}finally{try{if(!n&&i.return!=null){i.return()}}finally{if(t){throw r}}}},t!==void 0&&(this.value=t)}c(n,[{key:"value",get:function n(){return this.o},set:function n(n){this.setValue(n)}},{key:"setValue",value:function n(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var e=t||!Object.is(n,this.o);this.o=n,e&&this.updateObservers()}},{key:"addCallback",value:function n(n,t,e){var r=this;if(!e)return void n(this.value);this.subscriptions.has(n)||this.subscriptions.set(n,{disposer:function(){r.subscriptions.delete(n)},consumerHost:t});var i=this.subscriptions.get(n),o=i.disposer;n(this.value,o)}},{key:"clearCallbacks",value:function n(){this.subscriptions.clear()}}]);return n}();var tK=/*#__PURE__*/function(n){"use strict";p(t,n);function t(n){s(this,t);var e;e=a(this,t,["context-provider",{bubbles:!0,composed:!0}]),e.context=n;return e}return t}(R(Event)),tZ=/*#__PURE__*/function(n){"use strict";p(t,n);function t(n,e,r){s(this,t);var i;var o,l;i=a(this,t,[e.context!==void 0?e.initialValue:r]),i.onContextRequest=function(n){var t=n.composedPath()[0];n.context===i.context&&t!==i.host&&(n.stopPropagation(),i.addCallback(n.callback,t,n.subscribe))},i.onProviderRequest=function(n){var t=n.composedPath()[0];if(n.context!==i.context||t===i.host)return;var e=new Set;var r=true,o=false,a=undefined;try{for(var s=i.subscriptions[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var d=A(l.value,2),c=d[0],u=d[1],h=u.consumerHost;e.has(c)||(e.add(c),h.dispatchEvent(new tX(i.context,c,!0)))}}catch(n){o=true;a=n}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}n.stopPropagation()},i.host=n,e.context!==void 0?i.context=e.context:i.context=e,i.attachListeners(),(o=(l=i.host).addController)===null||o===void 0?void 0:o.call(l,i);return i}c(t,[{key:"attachListeners",value:function n(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function n(){this.host.dispatchEvent(new tK(this.context))}}]);return t}(tG);var tY=Symbol("test"),tJ=Symbol("testElement");var t0=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t);n._testContext={items:[],testOutcomeVariables:[]};n.testElement={el:null};n._updateItemInTestContext=function(t){var e;var r=t.identifier,i=t.variables,o=n._testContext.items.find(function(n){return(n===null||n===void 0?void 0:n.identifier)===r});if(!o){console.warn("Item IDs between assessment.xml and item.xml should match: ".concat(r," is not found!"));return}((e=o.variables)===null||e===void 0?void 0:e.length)===1?n._updateItemVariablesInTestContext(r,i):t.variables=S(o.variables||[])};n.addEventListener("qti-assessment-test-connected",function(t){var e=t.detail,r=Array.from(e.querySelectorAll("qti-assessment-item-ref")).map(function(n){return{href:n.href,identifier:n.identifier,category:n.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}});n.testElement={el:e},n._testContext=x(w({},n._testContext),{items:r})}),n.addEventListener("qti-assessment-item-connected",function(t){n._updateItemInTestContext(t.detail)}),n.addEventListener("qti-outcome-changed",function(t){var e=t.composedPath()[0];n._updateItemVariablesInTestContext(e.identifier,e.variables)});return n}c(t,[{key:"context",get:function n(){return this._testContext},set:function n(n){var t=this;var e;n!=null&&(this._testContext=w({},n),(e=n.items)===null||e===void 0?void 0:e.forEach(function(n){var e=t._testContext.items.find(function(t){return t.identifier===n.identifier});e?e.variables=n.variables:t._testContext.items.push(n)}))}},{key:"_updateItemVariablesInTestContext",value:function n(n,t){this._testContext=x(w({},this._testContext),{items:this._testContext.items.map(function(e){return e.identifier!==n?e:x(w({},e),{variables:t.map(function(n){var t=e.variables.find(function(t){return t.identifier===n.identifier});return t?w({},t,n):n})})})})}},{key:"connectedCallback",value:function n(){h(v(t.prototype),"connectedCallback",this).call(this),this.setAttribute("qti-test","")}}]);return t}(tp);Z([e(),E({context:tY})],t0.prototype,"_testContext",2),Z([e(),E({context:tJ})],t0.prototype,"testElement",2);var t1=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function n(){return n5(I())}}]);return t}(tV(tF(tW(t0))));t1=Z([tf("qti-test")],t1);var t2={fromAttribute:function n(n){return n==="true"},toAttribute:function n(n){return n?"true":"false"}},t5=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments);n.weigths=new Map;return n}c(t,[{key:"createRenderRoot",value:function n(){return this}},{key:"assessmentItem",get:function n(){var n;return(n=this.renderRoot)===null||n===void 0?void 0:n.querySelector("qti-assessment-item")}},{key:"connectedCallback",value:function n(){var n=this;var e=this,r=function(){return h(v(t.prototype),"connectedCallback",n)};return o(function(){return U(this,function(n){switch(n.label){case 0:r().call(e);return[4,e.updateComplete];case 1:n.sent(),e.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:e.identifier,href:e.href,category:e.category}}));return[2]}})})()}},{key:"render",value:function n(){return n5(D(),this.xmlDoc)}}]);return t}(tp);Z([t({type:String})],t5.prototype,"category",2),Z([t({type:String})],t5.prototype,"identifier",2),Z([t({type:Boolean,converter:t2})],t5.prototype,"required",2),Z([t({type:Boolean,converter:t2})],t5.prototype,"fixed",2),Z([t({type:String})],t5.prototype,"href",2),Z([$({context:tY,subscribe:!0})],t5.prototype,"_testContext",2),Z([t({type:Object,attribute:!1})],t5.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",t5);var t3={fromAttribute:function n(n){return n==="true"},toAttribute:function n(n){return n?"true":"false"}},t4=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function n(){var n=this;var e=this,r=function(){return h(v(t.prototype),"connectedCallback",n)};return o(function(){return U(this,function(n){switch(n.label){case 0:r().call(e);return[4,e.updateComplete];case 1:n.sent(),e.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}));return[2]}})})()}},{key:"render",value:function n(){return n5(N())}}]);return t}(tp);Z([t({type:String})],t4.prototype,"identifier",2),Z([t({type:String})],t4.prototype,"required",2),Z([t({type:Boolean,converter:t3})],t4.prototype,"fixed",2),Z([t({type:String})],t4.prototype,"title",2),Z([t({type:Boolean,converter:t3})],t4.prototype,"visible",2),Z([t({type:Boolean,converter:t3,attribute:"keep-together"})],t4.prototype,"keepTogether",2),Z([$({context:tY,subscribe:!0})],t4.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",t4);var t6=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function n(){var n=this;var e=this,r=function(){return h(v(t.prototype),"connectedCallback",n)};return o(function(){return U(this,function(n){switch(n.label){case 0:r().call(e);return[4,e.updateComplete];case 1:n.sent(),e.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:e,bubbles:!0,composed:!0}));return[2]}})})()}},{key:"render",value:function n(){return n5(H())}}]);return t}(tp);Z([t({type:String})],t6.prototype,"identifier",2),Z([t({type:String})],t6.prototype,"title",2),Z([$({context:tY,subscribe:!0})],t6.prototype,"_testContext",2),t6=Z([tf("qti-assessment-test")],t6);var t8=/*#__PURE__*/function(n){"use strict";p(t,n);function t(){s(this,t);var n;n=a(this,t,arguments);n.identifier="";n.title="";n.class="";n.NavigationMode="nonlinear";n.submissionMode="individual";return n}c(t,[{key:"connectedCallback",value:function n(){var n=this;var e=this,r=function(){return h(v(t.prototype),"connectedCallback",n)};return o(function(){return U(this,function(n){switch(n.label){case 0:r().call(e);return[4,e.updateComplete];case 1:n.sent(),e.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}));return[2]}})})()}},{key:"render",value:function n(){return n5(B())}}]);return t}(tp);Z([t({type:String})],t8.prototype,"identifier",2),Z([t({type:String})],t8.prototype,"title",2),Z([t({type:String})],t8.prototype,"class",2),Z([t({type:String,attribute:"navigation-mode"})],t8.prototype,"NavigationMode",2),Z([t({type:String,attribute:"submission-mode"})],t8.prototype,"submissionMode",2),t8=Z([tf("qti-test-part")],t8);customElements.get("qti-test-part")||customElements.define("qti-test-part",t8);return K(Y)}();/*! Bundled license information:
2
-
3
- @lit-labs/ssr-dom-shim/lib/element-internals.js:
4
- (**
5
- * @license
6
- * Copyright 2023 Google LLC
7
- * SPDX-License-Identifier: BSD-3-Clause
8
- *)
9
-
10
- @lit-labs/ssr-dom-shim/index.js:
11
- (**
12
- * @license
13
- * Copyright 2019 Google LLC
14
- * SPDX-License-Identifier: BSD-3-Clause
15
- *)
16
-
17
- @lit/reactive-element/node/css-tag.js:
18
- (**
19
- * @license
20
- * Copyright 2019 Google LLC
21
- * SPDX-License-Identifier: BSD-3-Clause
22
- *)
23
-
24
- lit-html/node/lit-html.js:
25
- (**
26
- * @license
27
- * Copyright 2017 Google LLC
28
- * SPDX-License-Identifier: BSD-3-Clause
29
- *)
30
-
31
- lit-element/lit-element.js:
32
- (**
33
- * @license
34
- * Copyright 2017 Google LLC
35
- * SPDX-License-Identifier: BSD-3-Clause
36
- *)
37
-
38
- lit-html/node/is-server.js:
39
- (**
40
- * @license
41
- * Copyright 2022 Google LLC
42
- * SPDX-License-Identifier: BSD-3-Clause
43
- *)
44
-
45
- @lit/reactive-element/node/decorators/custom-element.js:
46
- (**
47
- * @license
48
- * Copyright 2017 Google LLC
49
- * SPDX-License-Identifier: BSD-3-Clause
50
- *)
51
-
52
- @lit/reactive-element/node/decorators/property.js:
53
- (**
54
- * @license
55
- * Copyright 2017 Google LLC
56
- * SPDX-License-Identifier: BSD-3-Clause
57
- *)
58
-
59
- @lit/reactive-element/node/decorators/state.js:
60
- (**
61
- * @license
62
- * Copyright 2017 Google LLC
63
- * SPDX-License-Identifier: BSD-3-Clause
64
- *)
65
-
66
- @lit/reactive-element/node/decorators/event-options.js:
67
- (**
68
- * @license
69
- * Copyright 2017 Google LLC
70
- * SPDX-License-Identifier: BSD-3-Clause
71
- *)
72
-
73
- @lit/reactive-element/node/decorators/base.js:
74
- (**
75
- * @license
76
- * Copyright 2017 Google LLC
77
- * SPDX-License-Identifier: BSD-3-Clause
78
- *)
79
-
80
- @lit/reactive-element/node/decorators/query.js:
81
- (**
82
- * @license
83
- * Copyright 2017 Google LLC
84
- * SPDX-License-Identifier: BSD-3-Clause
85
- *)
86
-
87
- @lit/reactive-element/node/decorators/query-all.js:
88
- (**
89
- * @license
90
- * Copyright 2017 Google LLC
91
- * SPDX-License-Identifier: BSD-3-Clause
92
- *)
93
-
94
- @lit/reactive-element/node/decorators/query-async.js:
95
- (**
96
- * @license
97
- * Copyright 2017 Google LLC
98
- * SPDX-License-Identifier: BSD-3-Clause
99
- *)
100
-
101
- @lit/reactive-element/node/decorators/query-assigned-elements.js:
102
- (**
103
- * @license
104
- * Copyright 2021 Google LLC
105
- * SPDX-License-Identifier: BSD-3-Clause
106
- *)
107
-
108
- @lit/reactive-element/node/decorators/query-assigned-nodes.js:
109
- (**
110
- * @license
111
- * Copyright 2017 Google LLC
112
- * SPDX-License-Identifier: BSD-3-Clause
113
- *)
114
-
115
- lit-html/node/directive-helpers.js:
116
- (**
117
- * @license
118
- * Copyright 2020 Google LLC
119
- * SPDX-License-Identifier: BSD-3-Clause
120
- *)
121
-
122
- lit-html/node/directive.js:
123
- (**
124
- * @license
125
- * Copyright 2017 Google LLC
126
- * SPDX-License-Identifier: BSD-3-Clause
127
- *)
128
-
129
- lit-html/node/async-directive.js:
130
- (**
131
- * @license
132
- * Copyright 2017 Google LLC
133
- * SPDX-License-Identifier: BSD-3-Clause
134
- *)
135
-
136
- lit-html/node/directives/private-async-helpers.js:
137
- (**
138
- * @license
139
- * Copyright 2021 Google LLC
140
- * SPDX-License-Identifier: BSD-3-Clause
141
- *)
142
-
143
- lit-html/node/directives/until.js:
144
- (**
145
- * @license
146
- * Copyright 2017 Google LLC
147
- * SPDX-License-Identifier: BSD-3-Clause
148
- *)
149
-
150
- @lit/context/lib/context-request-event.js:
151
- (**
152
- * @license
153
- * Copyright 2021 Google LLC
154
- * SPDX-License-Identifier: BSD-3-Clause
155
- *)
156
-
157
- @lit/context/lib/create-context.js:
158
- (**
159
- * @license
160
- * Copyright 2021 Google LLC
161
- * SPDX-License-Identifier: BSD-3-Clause
162
- *)
163
-
164
- @lit/context/lib/controllers/context-consumer.js:
165
- (**
166
- * @license
167
- * Copyright 2021 Google LLC
168
- * SPDX-License-Identifier: BSD-3-Clause
169
- *)
170
-
171
- @lit/context/lib/value-notifier.js:
172
- (**
173
- * @license
174
- * Copyright 2021 Google LLC
175
- * SPDX-License-Identifier: BSD-3-Clause
176
- *)
177
-
178
- @lit/context/lib/controllers/context-provider.js:
179
- (**
180
- * @license
181
- * Copyright 2021 Google LLC
182
- * SPDX-License-Identifier: BSD-3-Clause
183
- *)
184
-
185
- @lit/context/lib/context-root.js:
186
- (**
187
- * @license
188
- * Copyright 2021 Google LLC
189
- * SPDX-License-Identifier: BSD-3-Clause
190
- *)
191
-
192
- @lit/context/lib/decorators/provide.js:
193
- (**
194
- * @license
195
- * Copyright 2017 Google LLC
196
- * SPDX-License-Identifier: BSD-3-Clause
197
- *)
198
-
199
- @lit/context/lib/decorators/consume.js:
200
- (**
201
- * @license
202
- * Copyright 2022 Google LLC
203
- * SPDX-License-Identifier: BSD-3-Clause
204
- *)
205
- */
@@ -1 +0,0 @@
1
- function t(t,e,r,n,i,o,u){try{var a=t[o](u);var c=a.value}catch(t){r(t);return}if(a.done){e(c)}else{Promise.resolve(c).then(n,i)}}function e(e){return function(){var r=this,n=arguments;return new Promise(function(i,o){var u=e.apply(r,n);function a(e){t(u,i,o,a,c,"next",e)}function c(e){t(u,i,o,a,c,"throw",e)}a(undefined)})}}function r(t,e){if(!e){e=t.slice(0)}return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function n(t){"@swc/helpers - typeof";return t&&typeof Symbol!=="undefined"&&t.constructor===Symbol?"symbol":typeof t}function i(t,e){var r,n,i,o,u={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(t){return function(e){return c([t,e])}}function c(o){if(r)throw new TypeError("Generator is already executing.");while(u)try{if(r=1,n&&(i=o[0]&2?n["return"]:o[0]?n["throw"]||((i=n["return"])&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;if(n=0,i)o=[o[0]&2,i.value];switch(o[0]){case 0:case 1:i=o;break;case 4:u.label++;return{value:o[1],done:false};case 5:u.label++;n=o[1];o=[0];continue;case 7:o=u.ops.pop();u.trys.pop();continue;default:if(!(i=u.trys,i=i.length>0&&i[i.length-1])&&(o[0]===6||o[0]===2)){u=0;continue}if(o[0]===3&&(!i||o[1]>i[0]&&o[1]<i[3])){u.label=o[1];break}if(o[0]===6&&u.label<i[1]){u.label=i[1];i=o;break}if(i&&u.label<i[2]){u.label=i[2];u.ops.push(o);break}if(i[2])u.ops.pop();u.trys.pop();continue}o=e.call(t,u)}catch(t){o=[6,t];n=0}finally{r=i=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}function o(){var t=r(['<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy>\n </xsl:template>\n\n \x3c!-- remove existing namespaces --\x3e\n <xsl:template match="*">\n \x3c!-- remove element prefix --\x3e\n <xsl:element name="{local-name()}">\n \x3c!-- process attributes --\x3e\n <xsl:for-each select="@*">\n \x3c!-- remove attribute prefix --\x3e\n <xsl:attribute name="{local-name()}">\n <xsl:value-of select="."/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>']);o=function e(){return t};return t}var QtiComponents=function(){var t=function t(t,e,r){t.querySelectorAll(e).forEach(function(t){var n="".concat(e,"-").concat(r),i=u(t,n);t.replaceWith(i)})};var r=function t(t,e){t.querySelectorAll("*").forEach(function(t){var r=t.classList;r&&r.forEach(function(r){if(r.startsWith("".concat(e,":"))){var n=r.slice("".concat(e,":").length),i="".concat(t.nodeName,"-").concat(n),o=u(t,i);t.replaceWith(o)}})})};var u=function t(t,e){var r=document.createElement(e);var n=true,i=false,o=undefined;try{for(var u=t.attributes[Symbol.iterator](),a;!(n=(a=u.next()).done);n=true){var c=a.value;r.setAttribute(c.name,c.value)}}catch(t){i=true;o=t}finally{try{if(!n&&u.return!=null){u.return()}}finally{if(i){throw o}}}for(;t.firstChild;)r.appendChild(t.firstChild);return r};var a=function t(t){var e=[];return t.querySelectorAll("qti-assessment-item-ref").forEach(function(t){var r=t.getAttribute("identifier"),n=t.getAttribute("href"),i=t.getAttribute("category");e.push({identifier:r,href:n,category:i})}),e};var c=function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return e&&q!==null&&q.abort(),new Promise(function(e,r){var n=new XMLHttpRequest;q=n,n.open("GET",t,!0),n.responseType="document",n.onload=function(){n.status>=200&&n.status<300?e(n.responseXML):r(n.statusText)},n.onerror=function(){r(n.statusText)},n.send()})};var l=function t(t){return new DOMParser().parseFromString(t,"text/xml")};var s=function t(t){var e=new XSLTProcessor,r=new DOMParser().parseFromString(A,"text/xml");return e.importStylesheet(r),e.transformToFragment(t,document)};var f=function t(t,e){e.endsWith("/")||(e+="/"),t.querySelectorAll("[src],[href],[primary-path]").forEach(function(t){var r;var n="";t.getAttribute("src")&&(n="src"),t.getAttribute("href")&&(n="href"),t.getAttribute("primary-path")&&(n="primary-path");var i=(r=t.getAttribute(n))===null||r===void 0?void 0:r.trim();if(!i.startsWith("data:")&&!i.startsWith("http")){var o=e+encodeURI(i);t.setAttribute(n,o)}})};var h=function t(t){t.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(t){var e=document.createComment(t.textContent);t.replaceChild(e,t.firstChild)})};var m=function t(t){t.querySelectorAll("qti-stylesheet").forEach(function(t){return t.remove()})};var v=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var b=function(t,e){for(var r in e)v(t,r,{get:e[r],enumerable:!0})},x=function(t,e,r,i){var o=true,u=false,a=undefined;if(e&&(typeof e==="undefined"?"undefined":n(e))=="object"||typeof e=="function")try{var c=function(){var n=s.value;!y.call(t,n)&&n!==r&&v(t,n,{get:function(){return e[n]},enumerable:!(i=p(e,n))||i.enumerable})};for(var l=d(e)[Symbol.iterator](),s;!(o=(s=l.next()).done);o=true)c()}catch(t){u=true;a=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(u){throw a}}}return t};var g=function(t){return x(v({},"__esModule",{value:!0}),t)};var w={};b(w,{qtiTransformItem:function(){return T},qtiTransformManifest:function(){return O},qtiTransformTest:function(){return P}});var S=String.raw,A=S(o());var q=null;var T=function(){var n,o={load:function t(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return e(function(){return i(this,function(e){return[2,new Promise(function(e){c(t,r).then(function(r){return n=r,o.path(t.substring(0,t.lastIndexOf("/"))),e(o)})})]})})()},parse:function t(t){return n=l(t),o},path:function(t){return f(n,t),o},fn:function t(t){return t(n),o},pciHooks:function t(t){var e=["hook","module"],r=t.substring(0,t.lastIndexOf("/"));var i=true,u=false,a=undefined;try{var c=function(){var e=s.value;n.querySelectorAll("["+e+"]").forEach(function(n){var i=n.getAttribute(e);!i.startsWith("data:")&&!i.startsWith("http")&&(n.setAttribute("base-url",t),n.setAttribute("module",r+"/"+encodeURI(i+(i.endsWith(".js")?"":".js"))))})};for(var l=e[Symbol.iterator](),s;!(i=(s=l.next()).done);i=true)c()}catch(t){u=true;a=t}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(u){throw a}}}return o},extendElementName:function(e,r){return t(n,e,r),o},extendElementsWithClass:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return r(n,t),o},customInteraction:function t(t,e){var r=n.querySelector("qti-custom-interaction"),i=r.querySelector("object");return r.setAttribute("data-base-ref",t),r.setAttribute("data-base-item",t+e),r.setAttribute("data",i.getAttribute("data")),r.setAttribute("width",i.getAttribute("width")),r.setAttribute("height",i.getAttribute("height")),r.removeChild(i),o},convertCDATAtoComment:function t(){return h(n),o},stripStyleSheets:function t(){return m(n),o},html:function t(){return new XMLSerializer().serializeToString(s(n))},xml:function t(){return new XMLSerializer().serializeToString(n)},htmlDoc:function t(){return s(n)},xmlDoc:function t(){return n}};return o};var O=function(){var t,r={load:function n(n){return e(function(){return i(this,function(e){return[2,new Promise(function(e){c(n).then(function(n){return t=n,e(r)})})]})})()},parse:function e(e){t=l(e)},assessmentTest:function e(){var e=t.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:e.getAttribute("href"),identifier:e.getAttribute("identifier")}}};return r};var P=function(){var t,r={load:function n(n){return e(function(){return i(this,function(e){return[2,new Promise(function(e,i){c(n).then(function(i){return t=i,r.path(n.substring(0,n.lastIndexOf("/"))),e(r)})})]})})()},parse:function e(e){return t=l(e),r},path:function(e){return f(t,e),r},fn:function e(e){return e(t),r},items:function e(){return a(t)},html:function e(){return new XMLSerializer().serializeToString(s(t))},xml:function e(){return new XMLSerializer().serializeToString(t)},htmlDoc:function e(){return s(t)},xmlDoc:function e(){return t}};return r};return g(w)}();
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/qti-transformers/qti-transformers.ts","../src/lib/qti-transformers/qti-transform-item.ts","../src/lib/qti-transformers/qti-transform-manifest.ts","../src/lib/qti-transformers/qti-transform-test.ts"],"sourcesContent":["const xml = String.raw;\n\n/* <!-- convert CDATA to comments -->\n <xsl:template match=\"text()[contains(., 'CDATA')]\">\n <xsl:comment>\n <xsl:value-of select=\".\"/>\n </xsl:comment>\n</xsl:template>\n*/\n\n/*\n <!-- remove xml comments -->\n <xsl:template match=\"comment()\" />\n */\n\nconst xmlToHTML = xml`<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n<xsl:output method=\"html\" version=\"5.0\" encoding=\"UTF-8\" indent=\"yes\" />\n <xsl:template match=\"@*|node()\">\n <xsl:copy>\n <xsl:apply-templates select=\"@*|node()\"/>\n </xsl:copy>\n </xsl:template>\n\n <!-- remove existing namespaces -->\n <xsl:template match=\"*\">\n <!-- remove element prefix -->\n <xsl:element name=\"{local-name()}\">\n <!-- process attributes -->\n <xsl:for-each select=\"@*\">\n <!-- remove attribute prefix -->\n <xsl:attribute name=\"{local-name()}\">\n <xsl:value-of select=\".\"/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>`;\n\n// Function to extend elements with a specific tag name by adding an extension suffix\nexport function extendElementName(xmlFragment: XMLDocument, tagName: string, extension: string) {\n xmlFragment.querySelectorAll(tagName).forEach(element => {\n const newTagName = `${tagName}-${extension}`;\n const newElement = createElementWithNewTagName(element, newTagName);\n element.replaceWith(newElement);\n });\n}\n\n// Function to extend any element with a specific class pattern (e.g., \"extend:suffix\")\nexport function extendElementsWithClass(xmlFragment: XMLDocument, classNamePattern: string) {\n xmlFragment.querySelectorAll('*').forEach(element => {\n const classList = element.classList;\n if (classList) {\n classList.forEach(className => {\n if (className.startsWith(`${classNamePattern}:`)) {\n const suffix = className.slice(`${classNamePattern}:`.length);\n const newTagName = `${element.nodeName}-${suffix}`;\n const newElement = createElementWithNewTagName(element, newTagName);\n element.replaceWith(newElement);\n }\n });\n }\n });\n}\n\n// Helper function to create a new element with a new tag name and copy attributes and children\nfunction createElementWithNewTagName(element, newTagName) {\n const newElement = document.createElement(newTagName);\n // Copy attributes\n for (const attr of element.attributes) {\n newElement.setAttribute(attr.name, attr.value);\n }\n // Copy child nodes\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n return newElement;\n}\n\nexport function itemsFromTest(xmlFragment: DocumentFragment) {\n const items: { identifier: string; href: string; category: string }[] = [];\n xmlFragment.querySelectorAll('qti-assessment-item-ref').forEach(el => {\n const identifier = el.getAttribute('identifier');\n const href = el.getAttribute('href');\n const category = el.getAttribute('category');\n items.push({ identifier, href, category });\n });\n return items;\n}\n\nlet currentRequest: XMLHttpRequest | null = null;\n\nexport function loadXML(url, cancelPreviousRequest = false) {\n if (cancelPreviousRequest && currentRequest !== null) {\n currentRequest.abort(); // Abort the ongoing request if there is one\n }\n\n return new Promise<XMLDocument | null>((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n currentRequest = xhr; // Store the current request\n\n xhr.open('GET', url, true);\n xhr.responseType = 'document';\n\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n resolve(xhr.responseXML);\n } else {\n reject(xhr.statusText);\n }\n };\n\n xhr.onerror = () => {\n reject(xhr.statusText);\n };\n\n xhr.send();\n });\n}\n\nexport function parseXML(xmlDocument: string) {\n const parser = new DOMParser();\n const xmlFragment = parser.parseFromString(xmlDocument, 'text/xml');\n return xmlFragment;\n}\n\nexport function toHTML(xmlFragment: Document): DocumentFragment {\n const processor = new XSLTProcessor();\n const xsltDocument = new DOMParser().parseFromString(xmlToHTML, 'text/xml');\n processor.importStylesheet(xsltDocument);\n const itemHTMLFragment = processor.transformToFragment(xmlFragment, document);\n return itemHTMLFragment;\n}\n\nexport function setLocation(xmlFragment: DocumentFragment, location: string) {\n if (!location.endsWith('/')) {\n location += '/';\n }\n\n xmlFragment.querySelectorAll('[src],[href],[primary-path]').forEach(elWithSrc => {\n let attr: 'src' | 'href' | 'primary-path' | '' = '';\n\n if (elWithSrc.getAttribute('src')) {\n attr = 'src';\n }\n if (elWithSrc.getAttribute('href')) {\n attr = 'href';\n }\n if (elWithSrc.getAttribute('primary-path')) {\n attr = 'primary-path';\n }\n const attrValue = elWithSrc.getAttribute(attr)?.trim();\n\n if (!attrValue.startsWith('data:') && !attrValue.startsWith('http')) {\n const newSrcValue = location + encodeURI(attrValue);\n elWithSrc.setAttribute(attr, newSrcValue);\n }\n });\n}\n\nexport function convertCDATAtoComment(xmlFragment: DocumentFragment) {\n const cdataElements = xmlFragment.querySelectorAll('qti-custom-operator[class=\"js.org\"] > qti-base-value');\n cdataElements.forEach(element => {\n const commentText = document.createComment(element.textContent);\n element.replaceChild(commentText, element.firstChild);\n });\n}\n\nexport function stripStyleSheets(xmlFragment: DocumentFragment) {\n // remove qti-stylesheet tag\n xmlFragment.querySelectorAll('qti-stylesheet').forEach(stylesheet => stylesheet.remove());\n}\n","/**\n * Browser based QTI-XML to HTML transformer.\n * Returns an object with methods to load, parse, transform and serialize QTI XML items.\n * @returns An object with methods to load, parse, transform and serialize QTI XML items.\n * @example\n * const qtiTransformer = qtiTransformItem();\n * await qtiTransformer.load('path/to/xml/file.xml');\n * qtiTransformer.path('/assessmentItem/itemBody');\n * const html = qtiTransformer.html();\n * const xml = qtiTransformer.xml();\n * const htmldoc = qtiTransformer.htmldoc();\n * const xmldoc = qtiTransformer.xmldoc();\n *\n * qtiTransformItem().parse(storyXML).html()\n */\n\nimport {\n convertCDATAtoComment,\n extendElementName,\n extendElementsWithClass,\n loadXML,\n parseXML,\n setLocation,\n stripStyleSheets,\n toHTML\n} from './qti-transformers';\n\nexport type transformItemApi = {\n load: (uri: string, cancelPreviousRequest?: boolean) => Promise<transformItemApi>;\n parse: (xmlString: string) => transformItemApi;\n path: (location: string) => transformItemApi;\n fn: (fn: (xmlFragment: XMLDocument) => void) => transformItemApi;\n pciHooks: (uri: string) => transformItemApi;\n extendElementName: (elementName: string, extend: string) => transformItemApi;\n extendElementsWithClass: (param?: string) => transformItemApi;\n customInteraction: (baseRef: string, baseItem: string) => transformItemApi;\n convertCDATAtoComment: () => transformItemApi;\n stripStyleSheets: () => transformItemApi;\n html: () => string;\n xml: () => string;\n htmlDoc: () => DocumentFragment;\n xmlDoc: () => XMLDocument;\n};\n\nexport const qtiTransformItem = () => {\n let xmlFragment: XMLDocument;\n\n const api: transformItemApi = {\n async load(uri: string, cancelPreviousRequest = false): Promise<typeof api> {\n return new Promise<typeof api>(resolve => {\n loadXML(uri, cancelPreviousRequest).then(xml => {\n xmlFragment = xml;\n // set the base path for images and other resources,\n // you probably want to set the base path to the document root else you can use the path method to set it\n api.path(uri.substring(0, uri.lastIndexOf('/')));\n return resolve(api);\n });\n });\n },\n parse(xmlString: string): typeof api {\n xmlFragment = parseXML(xmlString);\n return api;\n },\n path: (location: string): typeof api => {\n setLocation(xmlFragment, location);\n return api;\n },\n fn(fn: (xmlFragment: XMLDocument) => void): typeof api {\n fn(xmlFragment);\n return api;\n },\n pciHooks(uri: string): typeof api {\n const attributes = ['hook', 'module'];\n const documentPath = uri.substring(0, uri.lastIndexOf('/'));\n for (const attribute of attributes) {\n const srcAttributes = xmlFragment.querySelectorAll('[' + attribute + ']');\n srcAttributes.forEach(node => {\n const srcValue = node.getAttribute(attribute)!;\n if (!srcValue.startsWith('data:') && !srcValue.startsWith('http')) {\n // Just paste the relative path of the src location after the documentrootPath\n // old pcis can have a .js, new pci's don't\n node.setAttribute('base-url', uri);\n node.setAttribute(\n 'module',\n documentPath + '/' + encodeURI(srcValue + (srcValue.endsWith('.js') ? '' : '.js'))\n );\n }\n });\n }\n return api;\n },\n extendElementName: (tagName: string, extension: string): typeof api => {\n extendElementName(xmlFragment, tagName, extension);\n return api;\n },\n extendElementsWithClass: (param: string = 'extend'): typeof api => {\n extendElementsWithClass(xmlFragment, param);\n return api;\n },\n customInteraction(baseRef: string, baseItem: string): typeof api {\n const qtiCustomInteraction = xmlFragment.querySelector('qti-custom-interaction');\n const qtiCustomInteractionObject = qtiCustomInteraction.querySelector('object');\n\n qtiCustomInteraction.setAttribute('data-base-ref', baseRef);\n qtiCustomInteraction.setAttribute('data-base-item', baseRef + baseItem);\n qtiCustomInteraction.setAttribute('data', qtiCustomInteractionObject.getAttribute('data'));\n qtiCustomInteraction.setAttribute('width', qtiCustomInteractionObject.getAttribute('width'));\n qtiCustomInteraction.setAttribute('height', qtiCustomInteractionObject.getAttribute('height'));\n\n qtiCustomInteraction.removeChild(qtiCustomInteractionObject);\n return api;\n },\n convertCDATAtoComment(): typeof api {\n convertCDATAtoComment(xmlFragment);\n return api;\n },\n stripStyleSheets(): typeof api {\n stripStyleSheets(xmlFragment);\n return api;\n },\n html() {\n return new XMLSerializer().serializeToString(toHTML(xmlFragment));\n },\n xml(): string {\n return new XMLSerializer().serializeToString(xmlFragment);\n },\n htmlDoc() {\n return toHTML(xmlFragment);\n },\n xmlDoc(): XMLDocument {\n return xmlFragment; // new XMLSerializer().serializeToString(xmlFragment);\n }\n };\n return api;\n};\n","import { loadXML, parseXML } from './qti-transformers';\n\nexport const qtiTransformManifest = (): {\n load: (uri: string) => Promise<typeof api>;\n assessmentTest: () => { href: string; identifier: string };\n} => {\n let xmlFragment: XMLDocument;\n\n const api = {\n async load(uri) {\n return new Promise<typeof api>(resolve => {\n loadXML(uri).then(xml => {\n xmlFragment = xml;\n return resolve(api);\n });\n });\n },\n parse(xmlString: string) {\n xmlFragment = parseXML(xmlString);\n },\n assessmentTest() {\n const el = xmlFragment.querySelector('resource[type=\"imsqti_test_xmlv3p0\"]');\n return { href: el.getAttribute('href'), identifier: el.getAttribute('identifier') };\n }\n };\n return api;\n};\n","/**\n * Returns an object with methods to load, parse and transform QTI tests.\n * @returns An object with methods to load, parse and transform QTI tests.\n * @example\n * const qtiTransformer = qtiTransformTest();\n * await qtiTransformer.load('https://example.com/test.xml');\n * const items = qtiTransformer.items();\n * const html = qtiTransformer.html();\n * const xml = qtiTransformer.xml();\n */\n\nimport { itemsFromTest, loadXML, parseXML, setLocation, toHTML } from './qti-transformers';\n\nexport type transformTestApi = {\n load: (uri: string) => Promise<transformTestApi>;\n parse: (xmlString: string) => transformTestApi;\n path: (location: string) => transformTestApi;\n fn: (fn: (xmlFragment: XMLDocument) => void) => transformTestApi;\n items: () => { identifier: string; href: string; category: string }[];\n html: () => string;\n xml: () => string;\n htmlDoc: () => DocumentFragment;\n xmlDoc: () => XMLDocument;\n};\n\nexport const qtiTransformTest = (): transformTestApi => {\n let xmlFragment: XMLDocument;\n\n const api: transformTestApi = {\n async load(uri) {\n return new Promise<transformTestApi>((resolve, _) => {\n loadXML(uri).then(xml => {\n xmlFragment = xml;\n\n api.path(uri.substring(0, uri.lastIndexOf('/')));\n return resolve(api);\n });\n });\n },\n parse(xmlString: string) {\n xmlFragment = parseXML(xmlString);\n return api;\n },\n path: (location: string): typeof api => {\n setLocation(xmlFragment, location);\n return api;\n },\n fn(fn: (xmlFragment: XMLDocument) => void) {\n fn(xmlFragment);\n return api;\n },\n items() {\n return itemsFromTest(xmlFragment);\n },\n html() {\n return new XMLSerializer().serializeToString(toHTML(xmlFragment));\n },\n xml(): string {\n return new XMLSerializer().serializeToString(xmlFragment);\n },\n htmlDoc() {\n return toHTML(xmlFragment);\n },\n xmlDoc(): XMLDocument {\n return xmlFragment;\n }\n };\n return api;\n};\n"],"mappings":";AAAA,IAAM,MAAM,OAAO;AAenB,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBX,SAAS,kBAAkB,aAA0B,SAAiB,WAAmB;AAC9F,cAAY,iBAAiB,OAAO,EAAE,QAAQ,aAAW;AACvD,UAAM,aAAa,GAAG,OAAO,IAAI,SAAS;AAC1C,UAAM,aAAa,4BAA4B,SAAS,UAAU;AAClE,YAAQ,YAAY,UAAU;AAAA,EAChC,CAAC;AACH;AAGO,SAAS,wBAAwB,aAA0B,kBAA0B;AAC1F,cAAY,iBAAiB,GAAG,EAAE,QAAQ,aAAW;AACnD,UAAM,YAAY,QAAQ;AAC1B,QAAI,WAAW;AACb,gBAAU,QAAQ,eAAa;AAC7B,YAAI,UAAU,WAAW,GAAG,gBAAgB,GAAG,GAAG;AAChD,gBAAM,SAAS,UAAU,MAAM,GAAG,gBAAgB,IAAI,MAAM;AAC5D,gBAAM,aAAa,GAAG,QAAQ,QAAQ,IAAI,MAAM;AAChD,gBAAM,aAAa,4BAA4B,SAAS,UAAU;AAClE,kBAAQ,YAAY,UAAU;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAGA,SAAS,4BAA4B,SAAS,YAAY;AACxD,QAAM,aAAa,SAAS,cAAc,UAAU;AAEpD,aAAW,QAAQ,QAAQ,YAAY;AACrC,eAAW,aAAa,KAAK,MAAM,KAAK,KAAK;AAAA,EAC/C;AAEA,SAAO,QAAQ,YAAY;AACzB,eAAW,YAAY,QAAQ,UAAU;AAAA,EAC3C;AACA,SAAO;AACT;AAEO,SAAS,cAAc,aAA+B;AAC3D,QAAM,QAAkE,CAAC;AACzE,cAAY,iBAAiB,yBAAyB,EAAE,QAAQ,QAAM;AACpE,UAAM,aAAa,GAAG,aAAa,YAAY;AAC/C,UAAM,OAAO,GAAG,aAAa,MAAM;AACnC,UAAM,WAAW,GAAG,aAAa,UAAU;AAC3C,UAAM,KAAK,EAAE,YAAY,MAAM,SAAS,CAAC;AAAA,EAC3C,CAAC;AACD,SAAO;AACT;AAEA,IAAI,iBAAwC;AAErC,SAAS,QAAQ,KAAK,wBAAwB,OAAO;AAC1D,MAAI,yBAAyB,mBAAmB,MAAM;AACpD,mBAAe,MAAM;AAAA,EACvB;AAEA,SAAO,IAAI,QAA4B,CAAC,SAAS,WAAW;AAC1D,UAAM,MAAM,IAAI,eAAe;AAC/B,qBAAiB;AAEjB,QAAI,KAAK,OAAO,KAAK,IAAI;AACzB,QAAI,eAAe;AAEnB,QAAI,SAAS,MAAM;AACjB,UAAI,IAAI,UAAU,OAAO,IAAI,SAAS,KAAK;AACzC,gBAAQ,IAAI,WAAW;AAAA,MACzB,OAAO;AACL,eAAO,IAAI,UAAU;AAAA,MACvB;AAAA,IACF;AAEA,QAAI,UAAU,MAAM;AAClB,aAAO,IAAI,UAAU;AAAA,IACvB;AAEA,QAAI,KAAK;AAAA,EACX,CAAC;AACH;AAEO,SAAS,SAAS,aAAqB;AAC5C,QAAM,SAAS,IAAI,UAAU;AAC7B,QAAM,cAAc,OAAO,gBAAgB,aAAa,UAAU;AAClE,SAAO;AACT;AAEO,SAAS,OAAO,aAAyC;AAC9D,QAAM,YAAY,IAAI,cAAc;AACpC,QAAM,eAAe,IAAI,UAAU,EAAE,gBAAgB,WAAW,UAAU;AAC1E,YAAU,iBAAiB,YAAY;AACvC,QAAM,mBAAmB,UAAU,oBAAoB,aAAa,QAAQ;AAC5E,SAAO;AACT;AAEO,SAAS,YAAY,aAA+B,UAAkB;AAC3E,MAAI,CAAC,SAAS,SAAS,GAAG,GAAG;AAC3B,gBAAY;AAAA,EACd;AAEA,cAAY,iBAAiB,6BAA6B,EAAE,QAAQ,eAAa;AAC/E,QAAI,OAA6C;AAEjD,QAAI,UAAU,aAAa,KAAK,GAAG;AACjC,aAAO;AAAA,IACT;AACA,QAAI,UAAU,aAAa,MAAM,GAAG;AAClC,aAAO;AAAA,IACT;AACA,QAAI,UAAU,aAAa,cAAc,GAAG;AAC1C,aAAO;AAAA,IACT;AACA,UAAM,YAAY,UAAU,aAAa,IAAI,GAAG,KAAK;AAErD,QAAI,CAAC,UAAU,WAAW,OAAO,KAAK,CAAC,UAAU,WAAW,MAAM,GAAG;AACnE,YAAM,cAAc,WAAW,UAAU,SAAS;AAClD,gBAAU,aAAa,MAAM,WAAW;AAAA,IAC1C;AAAA,EACF,CAAC;AACH;AAEO,SAAS,sBAAsB,aAA+B;AACnE,QAAM,gBAAgB,YAAY,iBAAiB,sDAAsD;AACzG,gBAAc,QAAQ,aAAW;AAC/B,UAAM,cAAc,SAAS,cAAc,QAAQ,WAAW;AAC9D,YAAQ,aAAa,aAAa,QAAQ,UAAU;AAAA,EACtD,CAAC;AACH;AAEO,SAAS,iBAAiB,aAA+B;AAE9D,cAAY,iBAAiB,gBAAgB,EAAE,QAAQ,gBAAc,WAAW,OAAO,CAAC;AAC1F;;;AC/HO,IAAM,mBAAmB,MAAM;AACpC,MAAI;AAEJ,QAAM,MAAwB;AAAA,IAC5B,MAAM,KAAK,KAAa,wBAAwB,OAA4B;AAC1E,aAAO,IAAI,QAAoB,aAAW;AACxC,gBAAQ,KAAK,qBAAqB,EAAE,KAAK,CAAAA,SAAO;AAC9C,wBAAcA;AAGd,cAAI,KAAK,IAAI,UAAU,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC;AAC/C,iBAAO,QAAQ,GAAG;AAAA,QACpB,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,MAAM,WAA+B;AACnC,oBAAc,SAAS,SAAS;AAChC,aAAO;AAAA,IACT;AAAA,IACA,MAAM,CAAC,aAAiC;AACtC,kBAAY,aAAa,QAAQ;AACjC,aAAO;AAAA,IACT;AAAA,IACA,GAAG,IAAoD;AACrD,SAAG,WAAW;AACd,aAAO;AAAA,IACT;AAAA,IACA,SAAS,KAAyB;AAChC,YAAM,aAAa,CAAC,QAAQ,QAAQ;AACpC,YAAM,eAAe,IAAI,UAAU,GAAG,IAAI,YAAY,GAAG,CAAC;AAC1D,iBAAW,aAAa,YAAY;AAClC,cAAM,gBAAgB,YAAY,iBAAiB,MAAM,YAAY,GAAG;AACxE,sBAAc,QAAQ,UAAQ;AAC5B,gBAAM,WAAW,KAAK,aAAa,SAAS;AAC5C,cAAI,CAAC,SAAS,WAAW,OAAO,KAAK,CAAC,SAAS,WAAW,MAAM,GAAG;AAGjE,iBAAK,aAAa,YAAY,GAAG;AACjC,iBAAK;AAAA,cACH;AAAA,cACA,eAAe,MAAM,UAAU,YAAY,SAAS,SAAS,KAAK,IAAI,KAAK,MAAM;AAAA,YACnF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT;AAAA,IACA,mBAAmB,CAAC,SAAiB,cAAkC;AACrE,wBAAkB,aAAa,SAAS,SAAS;AACjD,aAAO;AAAA,IACT;AAAA,IACA,yBAAyB,CAAC,QAAgB,aAAyB;AACjE,8BAAwB,aAAa,KAAK;AAC1C,aAAO;AAAA,IACT;AAAA,IACA,kBAAkB,SAAiB,UAA8B;AAC/D,YAAM,uBAAuB,YAAY,cAAc,wBAAwB;AAC/E,YAAM,6BAA6B,qBAAqB,cAAc,QAAQ;AAE9E,2BAAqB,aAAa,iBAAiB,OAAO;AAC1D,2BAAqB,aAAa,kBAAkB,UAAU,QAAQ;AACtE,2BAAqB,aAAa,QAAQ,2BAA2B,aAAa,MAAM,CAAC;AACzF,2BAAqB,aAAa,SAAS,2BAA2B,aAAa,OAAO,CAAC;AAC3F,2BAAqB,aAAa,UAAU,2BAA2B,aAAa,QAAQ,CAAC;AAE7F,2BAAqB,YAAY,0BAA0B;AAC3D,aAAO;AAAA,IACT;AAAA,IACA,wBAAoC;AAClC,4BAAsB,WAAW;AACjC,aAAO;AAAA,IACT;AAAA,IACA,mBAA+B;AAC7B,uBAAiB,WAAW;AAC5B,aAAO;AAAA,IACT;AAAA,IACA,OAAO;AACL,aAAO,IAAI,cAAc,EAAE,kBAAkB,OAAO,WAAW,CAAC;AAAA,IAClE;AAAA,IACA,MAAc;AACZ,aAAO,IAAI,cAAc,EAAE,kBAAkB,WAAW;AAAA,IAC1D;AAAA,IACA,UAAU;AACR,aAAO,OAAO,WAAW;AAAA,IAC3B;AAAA,IACA,SAAsB;AACpB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;;;ACpIO,IAAM,uBAAuB,MAG/B;AACH,MAAI;AAEJ,QAAM,MAAM;AAAA,IACV,MAAM,KAAK,KAAK;AACd,aAAO,IAAI,QAAoB,aAAW;AACxC,gBAAQ,GAAG,EAAE,KAAK,CAAAC,SAAO;AACvB,wBAAcA;AACd,iBAAO,QAAQ,GAAG;AAAA,QACpB,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,MAAM,WAAmB;AACvB,oBAAc,SAAS,SAAS;AAAA,IAClC;AAAA,IACA,iBAAiB;AACf,YAAM,KAAK,YAAY,cAAc,sCAAsC;AAC3E,aAAO,EAAE,MAAM,GAAG,aAAa,MAAM,GAAG,YAAY,GAAG,aAAa,YAAY,EAAE;AAAA,IACpF;AAAA,EACF;AACA,SAAO;AACT;;;ACDO,IAAM,mBAAmB,MAAwB;AACtD,MAAI;AAEJ,QAAM,MAAwB;AAAA,IAC5B,MAAM,KAAK,KAAK;AACd,aAAO,IAAI,QAA0B,CAAC,SAAS,MAAM;AACnD,gBAAQ,GAAG,EAAE,KAAK,CAAAC,SAAO;AACvB,wBAAcA;AAEd,cAAI,KAAK,IAAI,UAAU,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC;AAC/C,iBAAO,QAAQ,GAAG;AAAA,QACpB,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IACA,MAAM,WAAmB;AACvB,oBAAc,SAAS,SAAS;AAChC,aAAO;AAAA,IACT;AAAA,IACA,MAAM,CAAC,aAAiC;AACtC,kBAAY,aAAa,QAAQ;AACjC,aAAO;AAAA,IACT;AAAA,IACA,GAAG,IAAwC;AACzC,SAAG,WAAW;AACd,aAAO;AAAA,IACT;AAAA,IACA,QAAQ;AACN,aAAO,cAAc,WAAW;AAAA,IAClC;AAAA,IACA,OAAO;AACL,aAAO,IAAI,cAAc,EAAE,kBAAkB,OAAO,WAAW,CAAC;AAAA,IAClE;AAAA,IACA,MAAc;AACZ,aAAO,IAAI,cAAc,EAAE,kBAAkB,WAAW;AAAA,IAC1D;AAAA,IACA,UAAU;AACR,aAAO,OAAO,WAAW;AAAA,IAC3B;AAAA,IACA,SAAsB;AACpB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;","names":["xml","xml","xml"]}