@nocobase/app 2.0.0-beta.8 → 2.0.0

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 (98) hide show
  1. package/client/.umirc.ts +4 -0
  2. package/dist/client/{113.736e29a0.async.js → 113.470c21ad.async.js} +1 -1
  3. package/dist/client/1161.1a2c10e3.async.js +40 -0
  4. package/dist/client/1442.fd65d046.async.js +5 -0
  5. package/dist/client/{1595.9f992743.async.js → 1595.6281d837.async.js} +3 -3
  6. package/dist/client/{1758.eeeacf43.async.js → 1758.404cac6d.async.js} +3 -3
  7. package/dist/client/{1883.6ee256ab.async.js → 1883.7bf62549.async.js} +4 -4
  8. package/dist/client/1905.2e6345d8.async.js +12 -0
  9. package/dist/client/{2042.feb4b9ac.async.js → 2042.7da1cbfb.async.js} +1 -1
  10. package/dist/client/{2097.919e4d8a.async.js → 2097.469d41dd.async.js} +2 -2
  11. package/dist/client/{2380.900b7a22.async.js → 2380.ce39cb9d.async.js} +12 -9
  12. package/dist/client/2612.99f32922.async.js +22 -0
  13. package/dist/client/{2775.455c3402.async.js → 2775.364c188c.async.js} +8 -8
  14. package/dist/client/2936.745e500f.async.js +28 -0
  15. package/dist/client/3357.0dc001fc.async.js +28 -0
  16. package/dist/client/341.01fc2262.async.js +28 -0
  17. package/dist/client/{3451.a9466e73.async.js → 3451.29052272.async.js} +6 -6
  18. package/dist/client/3781.16f1bb74.async.js +1 -0
  19. package/dist/client/4279.f53ade52.async.js +1 -0
  20. package/dist/client/{4327.68c0f17b.async.js → 4327.d9c9bdf4.async.js} +5 -5
  21. package/dist/client/{4351.efe05af2.async.js → 4351.40ef71f0.async.js} +5 -5
  22. package/dist/client/{4356.d61392c6.async.js → 4356.a3863dfa.async.js} +2 -2
  23. package/dist/client/4727.09926a61.async.js +1 -0
  24. package/dist/client/{4750.ce3051f3.async.js → 4750.0863f7b1.async.js} +2 -2
  25. package/dist/client/{4926.58238954.async.js → 4926.f49ba56d.async.js} +6 -6
  26. package/dist/client/501.e8db2401.async.js +1 -0
  27. package/dist/client/{5013.b14730ba.async.js → 5013.eaaaceb4.async.js} +1 -1
  28. package/dist/client/5501.7bed1ac8.async.js +23 -0
  29. package/dist/client/5662.3071d144.async.js +26 -0
  30. package/dist/client/6021.b3ab345b.async.js +22 -0
  31. package/dist/client/{645.ab5af584.async.js → 645.b70364b3.async.js} +3 -3
  32. package/dist/client/{6474.49632e37.async.js → 6474.8e54befa.async.js} +1 -1
  33. package/dist/client/6534.87203710.async.js +33 -0
  34. package/dist/client/{6747.de538558.async.js → 6747.1009bdb8.async.js} +12 -7
  35. package/dist/client/{689.4de33d65.async.js → 689.4dc252d6.async.js} +1 -1
  36. package/dist/client/{6920.497d7e80.async.js → 6920.d29cfa84.async.js} +5 -5
  37. package/dist/client/6998.e875a954.async.js +62 -0
  38. package/dist/client/{703.7ad807b0.async.js → 703.8c09e144.async.js} +3 -3
  39. package/dist/client/7087.e5b68989.async.js +6 -0
  40. package/dist/client/{7483.546ddcb6.async.js → 7483.c3bd056f.async.js} +4 -4
  41. package/dist/client/7534.1a42bafc.async.js +36 -0
  42. package/dist/client/{7764.a3ae7727.async.js → 7764.f7b626cb.async.js} +2 -2
  43. package/dist/client/816.4e92dc2c.async.js +1 -0
  44. package/dist/client/{8183.4c6f7e21.async.js → 8183.5418c6c8.async.js} +1 -1
  45. package/dist/client/{8408.c0ef773c.async.js → 8408.455572b7.async.js} +5 -6
  46. package/dist/client/{8805.819c4f44.async.js → 8805.00cfa044.async.js} +6 -6
  47. package/dist/client/{9042.3d21f631.async.js → 9042.9568dd16.async.js} +7 -7
  48. package/dist/client/{908.0e8c8a54.async.js → 908.4b088a69.async.js} +2 -3
  49. package/dist/client/{9317.fe6ffa9a.async.js → 9317.7d0009d1.async.js} +2 -2
  50. package/dist/client/935.63a37ee3.async.js +27 -0
  51. package/dist/client/{95.24aa76c4.async.js → 95.cf18a56e.async.js} +2 -2
  52. package/dist/client/{9547.a442df93.async.js → 9547.a9f2ea1d.async.js} +23 -6
  53. package/dist/client/{9801.34b13a74.async.js → 9801.dacad822.async.js} +1 -1
  54. package/dist/client/9844.b905f4ce.async.js +37 -0
  55. package/dist/client/index.html +3 -1
  56. package/dist/client/index.html.tpl +3 -1
  57. package/dist/client/{npm._at_ant-design.3d565a45.async.js → npm._at_ant-design.4fb666c7.async.js} +3 -3
  58. package/dist/client/npm._at_budibase.2d91cea2.async.js +36 -0
  59. package/dist/client/{npm._at_codemirror.23366286.async.js → npm._at_codemirror.aa828743.async.js} +10 -10
  60. package/dist/client/{npm.antd.601f2259.async.js → npm.antd.d7898d85.async.js} +13 -13
  61. package/dist/client/{npm.dagre-d3-es.5506d747.async.js → npm.dagre-d3-es.a13ce21a.async.js} +1 -1
  62. package/dist/client/{npm.highlight.js.5db864c8.async.js → npm.highlight.js.763ebb2d.async.js} +2 -2
  63. package/dist/client/{npm.lodash-es.d3d83c5d.async.js → npm.lodash-es.9fd92a41.async.js} +1 -1
  64. package/dist/client/npm.mathjs.7874451c.async.js +53 -0
  65. package/dist/client/npm.mermaid.952e77a0.async.js +1556 -0
  66. package/dist/client/{npm.rc-picker.baba6981.async.js → npm.rc-picker.95a28587.async.js} +1 -1
  67. package/dist/client/{npm.sanitize-html.506a0a55.async.js → npm.sanitize-html.2df959dd.async.js} +14 -14
  68. package/dist/client/{npm.slate-react.ef6881ab.async.js → npm.slate-react.f9b7bba3.async.js} +1 -1
  69. package/dist/client/npm.slate.6a5d16e1.async.js +1 -0
  70. package/dist/client/npm.typed-function.9df0469b.async.js +1 -0
  71. package/dist/client/p__index.d0d7bcb9.async.js +2697 -0
  72. package/dist/client/{umi.cc111fee.js → umi.973c27a2.js} +2 -2
  73. package/package.json +6 -6
  74. package/dist/client/1161.0b3b5766.async.js +0 -40
  75. package/dist/client/1442.be509f94.async.js +0 -5
  76. package/dist/client/1905.ff0793ff.async.js +0 -12
  77. package/dist/client/2612.0865e67e.async.js +0 -19
  78. package/dist/client/2936.902710e4.async.js +0 -28
  79. package/dist/client/3357.be95167c.async.js +0 -28
  80. package/dist/client/341.fba65e23.async.js +0 -28
  81. package/dist/client/3885.fd54a10c.async.js +0 -50
  82. package/dist/client/4727.0f6df8fb.async.js +0 -1
  83. package/dist/client/501.72b99d17.async.js +0 -1
  84. package/dist/client/5501.22d50b3a.async.js +0 -23
  85. package/dist/client/5662.8c643e63.async.js +0 -26
  86. package/dist/client/6021.cdefa0d3.async.js +0 -22
  87. package/dist/client/6534.6ea6468b.async.js +0 -33
  88. package/dist/client/7087.5646e199.async.js +0 -6
  89. package/dist/client/7534.0d69e071.async.js +0 -34
  90. package/dist/client/816.b71d5e67.async.js +0 -1
  91. package/dist/client/935.97d45ffa.async.js +0 -27
  92. package/dist/client/9844.6f484975.async.js +0 -37
  93. package/dist/client/npm._at_budibase.b1200847.async.js +0 -36
  94. package/dist/client/npm.mathjs.fd97f3b7.async.js +0 -52
  95. package/dist/client/npm.mermaid.91e7e45d.async.js +0 -1556
  96. package/dist/client/npm.slate.44c32547.async.js +0 -1
  97. package/dist/client/npm.uuid.15e7bb90.async.js +0 -1
  98. package/dist/client/p__index.725d9fd4.async.js +0 -2505
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[4727],{64727:function(h,n,e){e.r(n),e.d(n,{JSColumnRunJSContext:function(){return o}});var r=e(72004),t=e.n(r),s=e(12444),l=e.n(s),a=e(31996),u=e.n(a),i=e(26037),d=e.n(i),m=e(1772),o=function(c){u()(_,c);var b=d()(_);function _(){return l()(this,_),b.apply(this,arguments)}return t()(_)}(m.Uo);o.define({label:"JSColumn RunJS context",properties:{element:"ElementProxy instance providing a safe DOM container for the current table cell. Supports innerHTML/append and basic DOM APIs.",record:"Current row record object (read-only).",recordIndex:"Index of the current row in the page (0-based).",collection:"Collection definition metadata (read-only).",viewer:"View controller providing dialog/drawer/embed helpers for interactions initiated from the cell (e.g., open details).",React:"React library",antd:"Ant Design library"},methods:{onRefReady:"Wait for cell DOM element to be ready before executing callback. Parameters: (ref, callback, timeout?) => void",requireAsync:"Load external library by URL: `const lib = await ctx.requireAsync(url)`",importAsync:"Dynamically import ESM module by URL: `const mod = await ctx.importAsync(url)`"}}),o.define({label:"JS \u5217 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u683C\u5355\u5143\u683C\u7684\u5B89\u5168 DOM \u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49",record:"\u5F53\u524D\u884C\u8BB0\u5F55\u5BF9\u8C61\uFF08\u53EA\u8BFB\uFF09",recordIndex:"\u5F53\u524D\u884C\u7D22\u5F15\uFF08\u4ECE 0 \u5F00\u59CB\uFF09",collection:"\u96C6\u5408\u5B9A\u4E49\u5143\u6570\u636E\uFF08\u53EA\u8BFB\uFF09",viewer:"\u89C6\u56FE\u63A7\u5236\u5668\uFF0C\u53EF\u7528\u4E8E\u5728\u5355\u5143\u683C\u4E2D\u89E6\u53D1\u62BD\u5C49/\u5BF9\u8BDD\u6846/\u5185\u5D4C\u7B49\u4EA4\u4E92",React:"React \u5E93",antd:"Ant Design \u5E93"},methods:{onRefReady:"\u7B49\u5F85\u5355\u5143\u683C DOM \u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)",requireAsync:"\u6309 URL \u5F02\u6B65\u52A0\u8F7D\u5916\u90E8\u5E93\uFF1A`const lib = await ctx.requireAsync(url)`",importAsync:"\u6309 URL \u52A8\u6001\u5BFC\u5165 ESM \u6A21\u5757\uFF1A`const mod = await ctx.importAsync(url)`"}},{locale:"zh-CN"})}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[501],{80501:function(N,m,e){e.r(m),e.d(m,{default:function(){return A}});var y=e(84203),p=e(34138),j=e.n(p),x=e(97857),C=e.n(x),o=e(46911);function k(u,I){o.o.initialize(C()({securityLevel:"loose"},I));function L(n){return n.split(/\s+/g)[0]}var l=u.renderer.rules.fence;function R(n,c,E,F,s){var v=n[c],f=v.info.trim(),H=f?L(f):"";if(["mermaid","{mermaid}"].indexOf(H)===-1)return l!==void 0?l(n,c,E,F,s):"";var g="",r=[],a=document.createElement("div");document.body.appendChild(a);try{var h="mermaid-container";o.o.mermaidAPI.render(h,v.content,function(d){var i=document.getElementById(h);i!==null&&r.push(["style","max-width:".concat(i.style.maxWidth,";max-height:").concat(i.style.maxHeight)]),g=d},a)}catch(d){return'<div class="alert alert-danger">'.concat(d,"</div>")}finally{a.remove()}return r.push(["src","data:image/svg+xml,".concat(encodeURIComponent(g))]),"<img ".concat(s.renderAttrs({attrs:r}),">")}u.renderer.rules.fence=R}var t=new y.Z({html:!0,linkify:!0,typographer:!0,breaks:!0});t.use(j()),t.use(k);var A=t}}]);
@@ -1,23 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[5501,1442],{41442:function(t,n,e){e.r(n),e.d(n,{JSItemRunJSContext:function(){return s}});var _=e(72004),r=e.n(_),a=e(12444),l=e.n(a),d=e(31996),i=e.n(d),u=e(26037),m=e.n(u),c=e(1772),s=function(b){i()(o,b);var p=m()(o);function o(){return l()(this,o),p.apply(this,arguments)}return r()(o)}(c.Uo);s.define({label:"JSItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form item rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,resource:`Current resource instance (read-only).
3
- Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
4
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
5
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),s.define({label:"JS \u8868\u5355\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u9879\u6E32\u67D3\u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49 DOM \u64CD\u4F5C",resource:"\u5F53\u524D\u8D44\u6E90\uFF08\u53EA\u8BFB\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)"}},{locale:"zh-CN"})},45501:function(t,n,e){e.r(n);var _=e(41442),r={contexts:[_.JSItemRunJSContext],prefix:"sn-link-require",label:"Conditional required field",description:"Make a field required based on another field's value",locales:{"zh-CN":{label:"\u6761\u4EF6\u5FC5\u586B",description:"\u6839\u636E\u53E6\u4E00\u4E2A\u5B57\u6BB5\u7684\u503C\u52A8\u6001\u8BBE\u7F6E\u5FC5\u586B\u72B6\u6001"}},content:`
6
- // When 'needsApproval' is true, make 'approver' field required
7
- const needsApproval = ctx.record?.needsApproval;
8
-
9
- const items = ctx.model?.subModels?.grid?.subModels?.items;
10
- const candidates = Array.isArray(items) ? items : Array.from(items?.values?.() || items || []);
11
-
12
- const approverField = candidates.find((item) => item?.props?.name === 'approver');
13
-
14
- if (approverField) {
15
- approverField.setProps({
16
- required: !!needsApproval,
17
- // Also toggle visibility if needed
18
- // display: needsApproval ? 'visible' : 'hidden',
19
- });
20
- } else {
21
- console.warn('[Form snippet] approver field not found');
22
- }
23
- `};n.default=r}}]);
@@ -1,26 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[5662,1442],{41442:function(a,n,e){e.r(n),e.d(n,{JSItemRunJSContext:function(){return t}});var _=e(72004),s=e.n(_),r=e(12444),l=e.n(r),d=e(31996),i=e.n(d),m=e(26037),u=e.n(m),c=e(1772),t=function(b){i()(o,b);var h=u()(o);function o(){return l()(this,o),h.apply(this,arguments)}return s()(o)}(c.Uo);t.define({label:"JSItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form item rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,resource:`Current resource instance (read-only).
3
- Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
4
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
5
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),t.define({label:"JS \u8868\u5355\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u9879\u6E32\u67D3\u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49 DOM \u64CD\u4F5C",resource:"\u5F53\u524D\u8D44\u6E90\uFF08\u53EA\u8BFB\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)"}},{locale:"zh-CN"})},75662:function(a,n,e){e.r(n);var _=e(41442),s={contexts:[_.JSItemRunJSContext],prefix:"sn-link-show-hide",label:"Show/hide fields based on condition",description:"Toggle multiple fields visibility based on a condition",locales:{"zh-CN":{label:"\u6761\u4EF6\u663E\u793A/\u9690\u85CF\u5B57\u6BB5",description:"\u6839\u636E\u6761\u4EF6\u6279\u91CF\u663E\u793A\u6216\u9690\u85CF\u591A\u4E2A\u5B57\u6BB5"}},content:`
6
- // Show payment fields only when paymentMethod is 'online'
7
- const paymentMethod = ctx.record?.paymentMethod;
8
- const showPaymentFields = paymentMethod === 'online';
9
-
10
- const items = ctx.model?.subModels?.grid?.subModels?.items;
11
- const candidates = Array.isArray(items) ? items : Array.from(items?.values?.() || items || []);
12
-
13
- // Fields to toggle
14
- const fieldNames = ['creditCard', 'expiryDate', 'cvv'];
15
-
16
- fieldNames.forEach((fieldName) => {
17
- const field = candidates.find((item) => item?.props?.name === fieldName);
18
- if (field) {
19
- field.setProps({
20
- display: showPaymentFields ? 'visible' : 'hidden',
21
- // Also clear values when hiding
22
- value: showPaymentFields ? field.props.value : undefined,
23
- });
24
- }
25
- });
26
- `};n.default=s}}]);
@@ -1,22 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[6021,1442],{41442:function(s,n,e){e.r(n),e.d(n,{JSItemRunJSContext:function(){return r}});var t=e(72004),_=e.n(t),a=e(12444),l=e.n(a),u=e(31996),i=e.n(u),d=e(26037),m=e.n(d),c=e(1772),r=function(b){i()(o,b);var p=m()(o);function o(){return l()(this,o),p.apply(this,arguments)}return _()(o)}(c.Uo);r.define({label:"JSItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form item rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,resource:`Current resource instance (read-only).
3
- Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
4
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
5
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),r.define({label:"JS \u8868\u5355\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u9879\u6E32\u67D3\u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49 DOM \u64CD\u4F5C",resource:"\u5F53\u524D\u8D44\u6E90\uFF08\u53EA\u8BFB\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)"}},{locale:"zh-CN"})},96021:function(s,n,e){e.r(n);var t=e(41442),_={contexts:[t.JSItemRunJSContext],prefix:"sn-link-calc",label:"Calculate total price (quantity \xD7 price)",description:"Automatically calculate total when quantity or unit price changes",locales:{"zh-CN":{label:"\u8BA1\u7B97\u603B\u4EF7\uFF08\u6570\u91CF \xD7 \u5355\u4EF7\uFF09",description:"\u5F53\u6570\u91CF\u6216\u5355\u4EF7\u53D8\u5316\u65F6\u81EA\u52A8\u8BA1\u7B97\u603B\u4EF7"}},content:`
6
- // Get quantity and unit price from current record
7
- const quantity = Number(ctx.record?.quantity) || 0;
8
- const unitPrice = Number(ctx.record?.unitPrice) || 0;
9
- const total = quantity * unitPrice;
10
-
11
- // Find and update the 'totalPrice' field
12
- const items = ctx.model?.subModels?.grid?.subModels?.items;
13
- const candidates = Array.isArray(items) ? items : Array.from(items?.values?.() || items || []);
14
-
15
- const totalField = candidates.find((item) => item?.props?.name === 'totalPrice');
16
-
17
- if (totalField) {
18
- totalField.setProps({ value: total.toFixed(2) });
19
- } else {
20
- console.warn('[Form snippet] totalPrice field not found');
21
- }
22
- `};n.default=_}}]);
@@ -1,33 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[6534,1442],{41442:function(r,n,e){e.r(n),e.d(n,{JSItemRunJSContext:function(){return t}});var s=e(72004),_=e.n(s),a=e(12444),l=e.n(a),i=e(31996),d=e.n(i),m=e(26037),u=e.n(m),c=e(1772),t=function(b){d()(o,b);var p=u()(o);function o(){return l()(this,o),p.apply(this,arguments)}return _()(o)}(c.Uo);t.define({label:"JSItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form item rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,resource:`Current resource instance (read-only).
3
- Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
4
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
5
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),t.define({label:"JS \u8868\u5355\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u9879\u6E32\u67D3\u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49 DOM \u64CD\u4F5C",resource:"\u5F53\u524D\u8D44\u6E90\uFF08\u53EA\u8BFB\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)"}},{locale:"zh-CN"})},76534:function(r,n,e){e.r(n);var s=e(41442),_={contexts:[s.JSItemRunJSContext],prefix:"sn-link-copy",label:"Copy value from another field",description:"Copy value from one field to another when checkbox is checked",locales:{"zh-CN":{label:"\u590D\u5236\u5B57\u6BB5\u503C",description:"\u52FE\u9009\u590D\u9009\u6846\u65F6\uFF0C\u5C06\u4E00\u4E2A\u5B57\u6BB5\u7684\u503C\u590D\u5236\u5230\u53E6\u4E00\u4E2A\u5B57\u6BB5"}},content:`
6
- // When 'sameAsAbove' is checked, copy billing address to shipping address
7
- const sameAsAbove = ctx.record?.sameAsAbove;
8
-
9
- if (!sameAsAbove) {
10
- return;
11
- }
12
-
13
- const items = ctx.model?.subModels?.grid?.subModels?.items;
14
- const candidates = Array.isArray(items) ? items : Array.from(items?.values?.() || items || []);
15
-
16
- // Source and target field mappings
17
- const fieldMappings = [
18
- { from: 'billingAddress', to: 'shippingAddress' },
19
- { from: 'billingCity', to: 'shippingCity' },
20
- { from: 'billingZipCode', to: 'shippingZipCode' },
21
- ];
22
-
23
- fieldMappings.forEach(({ from, to }) => {
24
- const sourceValue = ctx.record?.[from];
25
- const targetField = candidates.find((item) => item?.props?.name === to);
26
-
27
- if (targetField) {
28
- targetField.setProps({ value: sourceValue });
29
- }
30
- });
31
-
32
- ctx.message?.success?.(ctx.t('Address copied successfully'));
33
- `};n.default=_}}]);
@@ -1,6 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[7087],{67087:function(p,n,e){e.r(n),e.d(n,{FormJSFieldItemRunJSContext:function(){return o}});var s=e(72004),r=e.n(s),l=e(12444),a=e.n(l),t=e(31996),d=e.n(t),m=e(26037),u=e.n(m),i=e(1772),o=function(b){d()(_,b);var c=u()(_);function _(){return a()(this,_),c.apply(this,arguments)}return r()(_)}(i.Uo);o.define({label:"FormJSFieldItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form field rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,value:"Current field value (read-only in display mode; in controlled scenarios, use setProps to modify).",record:`Current record data object (read-only).
3
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form field container DOM element to be ready before executing callback.
4
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`,setProps:`Set form field properties programmatically.
5
- Parameters: (fieldModel: any, props: { value?: any, disabled?: boolean, visible?: boolean }) => void
6
- Example: ctx.setProps(fieldModel, { value: "new value" })`}}),o.define({label:"\u8868\u5355 JS \u5B57\u6BB5\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u5B57\u6BB5\u5BB9\u5668",value:"\u5B57\u6BB5\u503C\uFF08\u5C55\u793A\u6A21\u5F0F\u4E3A\u53EA\u8BFB\uFF1B\u53D7\u63A7\u573A\u666F\u7528 setProps \u4FEE\u6539\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u56DE\u8C03",setProps:"\u8BBE\u7F6E\u8868\u5355\u9879\u5C5E\u6027\uFF1A`setProps(fieldModel, { value })`\uFF08\u7531\u8054\u52A8/\u8868\u5355\u4E0A\u4E0B\u6587\u63D0\u4F9B\uFF09"}},{locale:"zh-CN"})}}]);
@@ -1,34 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[7534,4727],{64727:function(s,n,e){e.r(n),e.d(n,{JSColumnRunJSContext:function(){return l}});var t=e(72004),r=e.n(t),a=e(12444),_=e.n(a),i=e(31996),u=e.n(i),d=e(26037),c=e.n(d),m=e(1772),l=function(b){u()(o,b);var p=c()(o);function o(){return _()(this,o),p.apply(this,arguments)}return r()(o)}(m.Uo);l.define({label:"JSColumn RunJS context",properties:{element:"ElementProxy instance providing a safe DOM container for the current table cell. Supports innerHTML/append and basic DOM APIs.",record:"Current row record object (read-only).",recordIndex:"Index of the current row in the page (0-based).",collection:"Collection definition metadata (read-only).",viewer:"View controller providing dialog/drawer/embed helpers for interactions initiated from the cell (e.g., open details).",React:"React library",antd:"Ant Design library"},methods:{onRefReady:"Wait for cell DOM element to be ready before executing callback. Parameters: (ref, callback, timeout?) => void",requireAsync:"Load external library by URL: `const lib = await ctx.requireAsync(url)`",importAsync:"Dynamically import ESM module by URL: `const mod = await ctx.importAsync(url)`"}}),l.define({label:"JS \u5217 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u683C\u5355\u5143\u683C\u7684\u5B89\u5168 DOM \u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49",record:"\u5F53\u524D\u884C\u8BB0\u5F55\u5BF9\u8C61\uFF08\u53EA\u8BFB\uFF09",recordIndex:"\u5F53\u524D\u884C\u7D22\u5F15\uFF08\u4ECE 0 \u5F00\u59CB\uFF09",collection:"\u96C6\u5408\u5B9A\u4E49\u5143\u6570\u636E\uFF08\u53EA\u8BFB\uFF09",viewer:"\u89C6\u56FE\u63A7\u5236\u5668\uFF0C\u53EF\u7528\u4E8E\u5728\u5355\u5143\u683C\u4E2D\u89E6\u53D1\u62BD\u5C49/\u5BF9\u8BDD\u6846/\u5185\u5D4C\u7B49\u4EA4\u4E92",React:"React \u5E93",antd:"Ant Design \u5E93"},methods:{onRefReady:"\u7B49\u5F85\u5355\u5143\u683C DOM \u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)",requireAsync:"\u6309 URL \u5F02\u6B65\u52A0\u8F7D\u5916\u90E8\u5E93\uFF1A`const lib = await ctx.requireAsync(url)`",importAsync:"\u6309 URL \u52A8\u6001\u5BFC\u5165 ESM \u6A21\u5757\uFF1A`const mod = await ctx.importAsync(url)`"}},{locale:"zh-CN"})},67534:function(s,n,e){e.r(n);var t=e(64727),r={contexts:[t.JSColumnRunJSContext],prefix:"sn-col-concat",label:"Concat two fields",description:"Combine two field values into the current column cell",locales:{"zh-CN":{label:"\u62FC\u63A5\u4E24\u4E2A\u5B57\u6BB5\u503C",description:"\u5728\u81EA\u5B9A\u4E49\u5217\u4E2D\u62FC\u63A5\u4E24\u4E2A\u5B57\u6BB5\u7684\u503C\u4F5C\u4E3A\u663E\u793A\u5185\u5BB9"}},content:`
2
- // Demo helper: infer previous columns' dataIndex values based on the current column position
3
- // In production, hardcode field names to avoid surprises when columns are reordered
4
- function resolvePreviousDataIndexes() {
5
- const parent = ctx.model?.parent;
6
- const list = parent?.subModels?.columns;
7
- if (!Array.isArray(list)) return [];
8
- const currentUid = ctx.model?.uid;
9
- const currentIndex = list.findIndex((item) => item?.uid === currentUid);
10
- if (currentIndex <= 0) return [];
11
- return list
12
- .slice(Math.max(0, currentIndex - 2), currentIndex)
13
- .map((item) => (item && item.props ? item.props.dataIndex : undefined))
14
- .filter((key) => typeof key === 'string' && key.length > 0);
15
- }
16
-
17
- const [autoFieldA, autoFieldB] = resolvePreviousDataIndexes();
18
-
19
- // Fallback: manually specify field keys when auto detection is not enough
20
- const fieldA = autoFieldA || 'firstName';
21
- const fieldB = autoFieldB || 'lastName';
22
-
23
- const normalize = (value) => {
24
- if (value === undefined || value === null) return '';
25
- return String(value).trim();
26
- };
27
-
28
- const valueA = normalize(ctx.record?.[fieldA]);
29
- const valueB = normalize(ctx.record?.[fieldB]);
30
-
31
- const parts = [valueA, valueB].filter((item) => item.length > 0);
32
-
33
- ctx.element.textContent = parts.length ? parts.join(' / ') : ctx.t('N/A');
34
- `};n.default=r}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[816],{20816:function(M,m,e){e.r(m),e.d(m,{default:function(){return A}});var y=e(84203),p=e(34138),j=e.n(p),x=e(97857),C=e.n(x),o=e(46911);function k(u,I){o.o.initialize(C()({securityLevel:"loose"},I));function L(n){return n.split(/\s+/g)[0]}var l=u.renderer.rules.fence;function R(n,c,E,F,s){var v=n[c],f=v.info.trim(),H=f?L(f):"";if(["mermaid","{mermaid}"].indexOf(H)===-1)return l!==void 0?l(n,c,E,F,s):"";var g="",r=[],a=document.createElement("div");document.body.appendChild(a);try{var h="mermaid-container";o.o.mermaidAPI.render(h,v.content,function(d){var i=document.getElementById(h);i!==null&&r.push(["style","max-width:".concat(i.style.maxWidth,";max-height:").concat(i.style.maxHeight)]),g=d},a)}catch(d){return'<div class="alert alert-danger">'.concat(d,"</div>")}finally{a.remove()}return r.push(["src","data:image/svg+xml,".concat(encodeURIComponent(g))]),"<img ".concat(s.renderAttrs({attrs:r}),">")}u.renderer.rules.fence=R}var t=new y.Z({html:!0,linkify:!0,typographer:!0,breaks:!0});t.use(j()),t.use(k);var A=t}}]);
@@ -1,27 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[935,1442],{41442:function(a,n,e){e.r(n),e.d(n,{JSItemRunJSContext:function(){return s}});var t=e(72004),_=e.n(t),r=e(12444),l=e.n(r),d=e(31996),i=e.n(d),m=e(26037),u=e.n(m),c=e(1772),s=function(b){i()(o,b);var f=u()(o);function o(){return l()(this,o),f.apply(this,arguments)}return _()(o)}(c.Uo);s.define({label:"JSItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form item rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,resource:`Current resource instance (read-only).
3
- Provides access to the data resource associated with the current form context.`,record:`Current record data object (read-only).
4
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form item container DOM element to be ready before executing callback.
5
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`}}),s.define({label:"JS \u8868\u5355\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u9879\u6E32\u67D3\u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49 DOM \u64CD\u4F5C",resource:"\u5F53\u524D\u8D44\u6E90\uFF08\u53EA\u8BFB\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)"}},{locale:"zh-CN"})},90935:function(a,n,e){e.r(n);var t=e(41442),_={contexts:[t.JSItemRunJSContext],prefix:"sn-link-set",label:"Set field value",description:"Programmatically update another field in linkage scripts",locales:{"zh-CN":{label:"\u8BBE\u7F6E\u5B57\u6BB5\u503C",description:"\u5728\u8054\u52A8\u811A\u672C\u4E2D\u4E3A\u5176\u4ED6\u5B57\u6BB5\u8BBE\u7F6E\u503C"}},content:`
6
- // Update another field in the same form/block
7
- const targetFieldUid = 'FIELD_UID_OR_NAME';
8
- const nextValue = ctx.record?.status ?? ctx.t('Updated value');
9
-
10
- const items = ctx.model?.subModels?.grid?.subModels?.items;
11
- const candidates = Array.isArray(items)
12
- ? items
13
- : Array.from(items?.values?.() || items || []);
14
- const fieldModel =
15
- candidates.find((item) => item?.uid === targetFieldUid) ||
16
- candidates.find((item) => item?.props?.name === targetFieldUid);
17
-
18
- if (!fieldModel) {
19
- ctx.message?.warning?.(ctx.t('Field {{name}} not found', { name: targetFieldUid }));
20
- return;
21
- }
22
-
23
- fieldModel.setProps({ value: nextValue });
24
- ctx.message?.success?.(
25
- ctx.t('Updated field {{name}}', { name: fieldModel?.props?.label || targetFieldUid }),
26
- );
27
- `};n.default=_}}]);
@@ -1,37 +0,0 @@
1
- "use strict";(self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[9844,113,4727,7087],{67087:function(p,o,e){e.r(o),e.d(o,{FormJSFieldItemRunJSContext:function(){return _}});var r=e(72004),t=e.n(r),l=e(12444),s=e.n(l),a=e(31996),u=e.n(a),d=e(26037),i=e.n(d),m=e(1772),_=function(c){u()(n,c);var b=i()(n);function n(){return s()(this,n),b.apply(this,arguments)}return t()(n)}(m.Uo);_.define({label:"FormJSFieldItem RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for form field rendering.
2
- Supports innerHTML, append, and other DOM manipulation methods.`,value:"Current field value (read-only in display mode; in controlled scenarios, use setProps to modify).",record:`Current record data object (read-only).
3
- Contains all field values of the parent record.`},methods:{onRefReady:`Wait for form field container DOM element to be ready before executing callback.
4
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void`,setProps:`Set form field properties programmatically.
5
- Parameters: (fieldModel: any, props: { value?: any, disabled?: boolean, visible?: boolean }) => void
6
- Example: ctx.setProps(fieldModel, { value: "new value" })`}}),_.define({label:"\u8868\u5355 JS \u5B57\u6BB5\u9879 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u5355\u5B57\u6BB5\u5BB9\u5668",value:"\u5B57\u6BB5\u503C\uFF08\u5C55\u793A\u6A21\u5F0F\u4E3A\u53EA\u8BFB\uFF1B\u53D7\u63A7\u573A\u666F\u7528 setProps \u4FEE\u6539\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09"},methods:{onRefReady:"\u5BB9\u5668\u5C31\u7EEA\u56DE\u8C03",setProps:"\u8BBE\u7F6E\u8868\u5355\u9879\u5C5E\u6027\uFF1A`setProps(fieldModel, { value })`\uFF08\u7531\u8054\u52A8/\u8868\u5355\u4E0A\u4E0B\u6587\u63D0\u4F9B\uFF09"}},{locale:"zh-CN"})},64727:function(p,o,e){e.r(o),e.d(o,{JSColumnRunJSContext:function(){return _}});var r=e(72004),t=e.n(r),l=e(12444),s=e.n(l),a=e(31996),u=e.n(a),d=e(26037),i=e.n(d),m=e(1772),_=function(c){u()(n,c);var b=i()(n);function n(){return s()(this,n),b.apply(this,arguments)}return t()(n)}(m.Uo);_.define({label:"JSColumn RunJS context",properties:{element:"ElementProxy instance providing a safe DOM container for the current table cell. Supports innerHTML/append and basic DOM APIs.",record:"Current row record object (read-only).",recordIndex:"Index of the current row in the page (0-based).",collection:"Collection definition metadata (read-only).",viewer:"View controller providing dialog/drawer/embed helpers for interactions initiated from the cell (e.g., open details).",React:"React library",antd:"Ant Design library"},methods:{onRefReady:"Wait for cell DOM element to be ready before executing callback. Parameters: (ref, callback, timeout?) => void",requireAsync:"Load external library by URL: `const lib = await ctx.requireAsync(url)`",importAsync:"Dynamically import ESM module by URL: `const mod = await ctx.importAsync(url)`"}}),_.define({label:"JS \u5217 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u8868\u683C\u5355\u5143\u683C\u7684\u5B89\u5168 DOM \u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49",record:"\u5F53\u524D\u884C\u8BB0\u5F55\u5BF9\u8C61\uFF08\u53EA\u8BFB\uFF09",recordIndex:"\u5F53\u524D\u884C\u7D22\u5F15\uFF08\u4ECE 0 \u5F00\u59CB\uFF09",collection:"\u96C6\u5408\u5B9A\u4E49\u5143\u6570\u636E\uFF08\u53EA\u8BFB\uFF09",viewer:"\u89C6\u56FE\u63A7\u5236\u5668\uFF0C\u53EF\u7528\u4E8E\u5728\u5355\u5143\u683C\u4E2D\u89E6\u53D1\u62BD\u5C49/\u5BF9\u8BDD\u6846/\u5185\u5D4C\u7B49\u4EA4\u4E92",React:"React \u5E93",antd:"Ant Design \u5E93"},methods:{onRefReady:"\u7B49\u5F85\u5355\u5143\u683C DOM \u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)",requireAsync:"\u6309 URL \u5F02\u6B65\u52A0\u8F7D\u5916\u90E8\u5E93\uFF1A`const lib = await ctx.requireAsync(url)`",importAsync:"\u6309 URL \u52A8\u6001\u5BFC\u5165 ESM \u6A21\u5757\uFF1A`const mod = await ctx.importAsync(url)`"}},{locale:"zh-CN"})},40113:function(p,o,e){e.r(o),e.d(o,{JSFieldRunJSContext:function(){return _}});var r=e(72004),t=e.n(r),l=e(12444),s=e.n(l),a=e(31996),u=e.n(a),d=e(26037),i=e.n(d),m=e(1772),_=function(c){u()(n,c);var b=i()(n);function n(){return s()(this,n),b.apply(this,arguments)}return t()(n)}(m.Uo);_.define({label:"JSField RunJS context",properties:{element:`ElementProxy instance providing a safe DOM container for field rendering.
7
- Supports innerHTML, append, and other DOM manipulation methods.`,value:`Current value of the field (read-only).
8
- Contains the data value stored in this field.`,record:`Current record data object (read-only).
9
- Contains all field values of the parent record.`,collection:`Collection definition metadata (read-only).
10
- Provides schema information about the collection this field belongs to.`},methods:{onRefReady:`Wait for field container DOM element to be ready before executing callback.
11
- Parameters: (ref: React.RefObject, callback: (element: HTMLElement) => void, timeout?: number) => void
12
- Example: ctx.onRefReady(ctx.ref, (el) => { el.innerHTML = ctx.value })`}}),_.define({label:"JS \u5B57\u6BB5 RunJS \u4E0A\u4E0B\u6587",properties:{element:"ElementProxy\uFF0C\u5B57\u6BB5\u6E32\u67D3\u5BB9\u5668\uFF0C\u652F\u6301 innerHTML/append \u7B49 DOM \u64CD\u4F5C",value:"\u5B57\u6BB5\u5F53\u524D\u503C\uFF08\u53EA\u8BFB\uFF09",record:"\u5F53\u524D\u8BB0\u5F55\u5BF9\u8C61\uFF08\u53EA\u8BFB\uFF0C\u5305\u542B\u7236\u8BB0\u5F55\u5168\u90E8\u5B57\u6BB5\u503C\uFF09",collection:"\u96C6\u5408\u5B9A\u4E49\u5143\u6570\u636E\uFF08\u53EA\u8BFB\uFF0C\u63CF\u8FF0\u5B57\u6BB5\u6240\u5C5E\u96C6\u5408\u7684 Schema\uFF09"},methods:{onRefReady:"\u5728\u5B57\u6BB5\u5BB9\u5668 DOM \u5C31\u7EEA\u540E\u6267\u884C\u56DE\u8C03\u3002\u53C2\u6570\uFF1A(ref, callback, timeout?)\uFF1B\u793A\u4F8B\uFF1Actx.onRefReady(ctx.ref, el => { el.innerHTML = ctx.value })"}},{locale:"zh-CN"})},69844:function(p,o,e){e.r(o);var r=e(40113),t=e(67087),l=e(64727),s={contexts:[r.JSFieldRunJSContext,t.FormJSFieldItemRunJSContext,l.JSColumnRunJSContext],scenes:["detail","table"],prefix:"sn-jsf-status-tag",label:"Display status field as colored tag",description:"Display status values using colored tags",locales:{"zh-CN":{label:"\u5C06\u72B6\u6001\u5B57\u6BB5\u663E\u793A\u4E3A\u5F69\u8272\u6807\u7B7E",description:"\u6839\u636E\u72B6\u6001\u503C\u663E\u793A\u4E0D\u540C\u989C\u8272\u7684\u6807\u7B7E"}},content:`
13
- const statusColors = {
14
- active: 'green',
15
- pending: 'orange',
16
- inactive: 'gray',
17
- error: 'red',
18
- success: 'blue',
19
- };
20
-
21
- const status = String(ctx.value || 'unknown');
22
- const color = statusColors[status] || 'default';
23
-
24
- ctx.element.innerHTML = \`
25
- <span style="
26
- display: inline-block;
27
- padding: 2px 8px;
28
- border-radius: 4px;
29
- font-size: 12px;
30
- background-color: var(--\${color}-1, #f0f0f0);
31
- color: var(--\${color}-6, #333);
32
- border: 1px solid var(--\${color}-3, #d9d9d9);
33
- ">
34
- \${ctx.t(status)}
35
- </span>
36
- \`;
37
- `};o.default=s}}]);
@@ -1,36 +0,0 @@
1
- (self.webpackChunknocobase=self.webpackChunknocobase||[]).push([[527],{11700:function(h,v,f){"use strict";var l=f(77218);h.exports=function(u,a){typeof u=="string"?u=[u]:Array.isArray(u)||(a=u,u=null),a=a||{};var e=a.handlebars||a.hbs||f(96750);if(h.exports.handlebars=e,u)u.forEach(function(n){e.registerHelper(l[n])});else for(const n in l){const r=l[n];e.registerHelper(r)}return e.helpers};for(const s in l){const u=l[s];h.exports[s]=function(a){a=a||{};var e=a.handlebars||a.hbs||f(96750);return h.exports.handlebars=e,e.registerHelper(u),u}}h.exports.utils=f(18849)},19886:function(h,v,f){"use strict";var l=f(6057),s=h.exports;const u=f(29946),a=f(54358);s.after=function(e,n){return l.isUndefined(e)?"":(e=l.result(e),Array.isArray(e)?e.slice(n):"")},s.arrayify=function(e){return l.isUndefined(e)?[]:e?Array.isArray(e)?e:[e]:[]},s.before=function(e,n){return l.isUndefined(e)?"":(e=l.result(e),Array.isArray(e)?e.slice(0,n-1):"")},s.eachIndex=function(e,n){var r="";if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e))for(var t=0;t<e.length;t++)r+=n.fn({item:e[t],index:t});return r},s.filter=function(e,n,r){if(l.isUndefined(e))return r.inverse(this);if(e=l.result(e),Array.isArray(e)){var t="",i=[],c=r.hash&&(r.hash.property||r.hash.prop);if(c?i=e.filter(function(d){return n===u(d,c)}):i=e.filter(function(d){return n===d}),i&&i.length>0){for(var o=0;o<i.length;o++)t+=r.fn(i[o]);return t}}return r.inverse(this)},s.first=function(e,n){return l.isUndefined(e)?[]:(e=l.result(e),Array.isArray(e)?isNaN(n)?e[0]:e.slice(0,n):[])},s.forEach=function(e,n){if(l.isUndefined(e))return n.inverse(this);if(e=l.result(e),Array.isArray(e)){for(var r=a(n,n.hash),t=e.length,i="",c=-1;++c<t;){var o=e[c];r.index=c,o.index=c+1,o.total=t,o.isFirst=c===0,o.isLast=c===t-1,i+=n.fn(o,{data:r})}return i}return n.inverse(this)},s.inArray=function(e,n,r){return l.isUndefined(e)?"":(e=l.result(e),Array.isArray(e)?l.value(l.indexOf(e,n)>-1,this,r):"")},s.isArray=function(e){return Array.isArray(e)},s.itemAt=function(e,n){if(l.isUndefined(e))return null;if(e=l.result(e),Array.isArray(e)){if(n=isNaN(n)?0:+n,n<0)return e[e.length+n];if(n<e.length)return e[n]}return null},s.join=function(e,n){return l.isUndefined(e)?"":typeof e=="string"?e:(e=l.result(e),Array.isArray(e)?(n=l.isString(n)?n:", ",e.join(n)):"")},s.equalsLength=function(e,n,r){l.isOptions(n)&&(r=n,n=0);var t=s.length(e);return l.value(t===n,this,r)},s.last=function(e,n){return l.isUndefined(e)||!Array.isArray(e)&&typeof value!="string"?"":isNaN(n)?e[e.length-1]:e.slice(-Math.abs(n))},s.length=function(e){return l.isUndefined(e)?0:(l.isObject(e)&&!l.isOptions(e)&&(e=Object.keys(e)),typeof e=="string"&&e.startsWith("[")&&e.endsWith("]")?e.split(",").length:typeof e=="string"||Array.isArray(e)?e.length:0)},s.lengthEqual=s.equalsLength,s.map=function(e,n){if(l.isUndefined(e)||!Array.isArray(e))return"";var r=e.length,t=new Array(r),i=-1;if(typeof n!="function")return e;for(;++i<r;)t[i]=n(e[i],i,e);return t},s.pluck=function(e,n){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){for(var r=[],t=0;t<e.length;t++){var i=u(e[t],n);typeof i<"u"&&r.push(i)}return r}return""},s.reverse=function(e){return l.isUndefined(e)?"":(e=l.result(e),Array.isArray(e)?[...e].reverse():e&&typeof e=="string"?e.split("").reverse().join(""):"")},s.some=function(e,n,r){if(l.isUndefined(e))return r.inverse(this);if(e=l.result(e),Array.isArray(e)){for(var t=0;t<e.length;t++)if(n(e[t],t,e))return r.fn(this)}return r.inverse(this)},s.sort=function(e,n){return l.isUndefined(e)?"":(e=l.result(e),Array.isArray(e)?u(n,"hash.reverse")?[...e].sort().reverse():[...e].sort():"")},s.sortBy=function(e,n,r){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){var t=[].slice.call(arguments);return t.pop(),!l.isString(n)&&typeof n!="function"?[...e].sort():typeof n=="function"?[...e].sort(n):[...e].sort((i,c)=>i[n]>c[n]?1:-1)}return""},s.withAfter=function(e,n,r){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){e=e.slice(n);for(var t="",i=0;i<e.length;i++)t+=r.fn(e[i]);return t}return""},s.withBefore=function(e,n,r){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){e=e.slice(0,-n);for(var t="",i=0;i<e.length;i++)t+=r.fn(e[i]);return t}return""},s.withFirst=function(e,n,r){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){if(l.isUndefined(n)||(n=parseFloat(l.result(n))),l.isUndefined(n))return r=n,r.fn(e[0]);e=e.slice(0,n);for(var t="",i=0;i<e.length;i++)t+=r.fn(e[i]);return t}return""},s.withGroup=function(e,n,r){if(l.isUndefined(e))return"";var t="";if(e=l.result(e),Array.isArray(e)&&e.length>0){for(var i=[],c=0;c<e.length;c++)c>0&&c%n===0&&(t+=r.fn(i),i=[]),i.push(e[c]);t+=r.fn(i)}return t},s.withLast=function(e,n,r){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){if(l.isUndefined(n)||(n=parseFloat(l.result(n))),l.isUndefined(n))return r=n,r.fn(e[e.length-1]);e=e.slice(-n);for(var t=e.length,i=-1,c="";++i<t;)c+=r.fn(e[i]);return c}return""},s.withSort=function(e,n,r){if(l.isUndefined(e))return"";if(e=l.result(e),Array.isArray(e)){var t="";if(l.isUndefined(n)){r=n,e=[...e].sort(),u(r,"hash.reverse")&&(e=e.reverse());for(var i=0,c=e.length;i<c;i++)t+=r.fn(e[i]);return t}e=[...e].sort(function(y,w){return y=u(y,n),w=u(w,n),y>w?1:y<w?-1:0}),u(r,"hash.reverse")&&(e=e.reverse());for(var o=e.length,d=-1;++d<o;)t+=r.fn(e[d]);return t}return""},s.unique=function(e,n){return l.isUndefined(e)?"":(e=l.result(e),Array.isArray(e)?e.filter(function(r,t,i){return i.indexOf(r)===t}):"")}},94841:function(h,v,f){"use strict";var l=f(59816),s=f(94612);const u=f(13319),a=f(12533);var e=h.exports;e.embed=function(r,t){t=typeof t!="string"?s.extname(r).slice(1):t;var i=l.readFileSync(r,"utf8");return(t==="markdown"||t==="md")&&(t="markdown",i=i.split("`").join("&#x60")),u(i,t).trim()+`
2
- `},e.gist=function(n){return a("script",{src:"https://gist.github.com/"+n+".js"})},e.jsfiddle=function(r){var t=Object.assign({},r&&r.hash);if(typeof t.id>"u")throw new Error("jsfiddle helper expects an `id`");return t.id="http://jsfiddle.net/"+t.id,t.width=t.width||"100%",t.height=t.height||"300",t.skin=t.skin||"/presentation/",t.tabs=(t.tabs||"result,js,html,css")+t.skin,t.src=t.id+"/embedded/"+t.tabs,t.allowfullscreen=t.allowfullscreen||"allowfullscreen",t.frameborder=t.frameborder||"0",delete t.tabs,delete t.skin,delete t.id,a("iframe",t)}},4361:function(h,v,f){"use strict";var l=f(6057),s=f(32975),u=f(19886),a=u.forEach,e=s.forOwn,n=h.exports;n.isEmpty=function(r,t){if(!l.isOptions(t))return t=r,l.fn(!0,this,t);if(Array.isArray(r)&&!r.length)return l.fn(!0,this,t);var i=Object.keys(r),c=typeof r=="object"&&!i.length;return l.value(c,this,t)},n.iterate=function(r,t){return Array.isArray(r)?a.apply(null,arguments):l.isObject(r)?e.apply(null,arguments):t.inverse(this)}},20954:function(h,v,f){"use strict";var l=f(13501),s=f(6057),u=f(18849);const a=f(3503),e=f(72219);var n=h.exports;n.and=function(){for(var r=arguments.length-1,t=arguments[r],i=!0,c=0;c<r;c++)if(!arguments[c]){i=!1;break}return s.value(i,this,t)},n.compare=function(r,t,i,c){if(arguments.length<4)throw new Error("handlebars Helper {{compare}} expects 4 arguments");var o;switch(t){case"==":o=r==i;break;case"===":o=r===i;break;case"!=":o=r!=i;break;case"!==":o=r!==i;break;case"<":o=r<i;break;case">":o=r>i;break;case"<=":o=r<=i;break;case">=":o=r>=i;break;case"typeof":o=typeof r===i;break;default:throw new Error("helper {{compare}}: invalid operator: `"+t+"`")}return s.value(o,this,c)},n.contains=function(r,t,i,c){typeof i=="object"&&(c=i,i=void 0);var o=u.contains(r,t,i);return s.value(o,this,c)},n.default=function(){for(var r=0;r<arguments.length-1;r++)if(arguments[r]!=null)return arguments[r];return""},n.eq=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r===t,this,i)},n.gt=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r>t,this,i)},n.gte=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r>=t,this,i)},n.has=function(r,t,i){return s.isOptions(r)&&(i=r,t=null,r=null),s.isOptions(t)&&(i=t,t=null),r===null?s.value(!1,this,i):arguments.length===2?s.value(l(this,r),this,i):(Array.isArray(r)||s.isString(r))&&s.isString(t)&&r.indexOf(t)>-1?s.fn(!0,this,i):s.isObject(r)&&s.isString(t)&&t in r?s.fn(!0,this,i):s.inverse(!1,this,i)},n.isFalsey=function(r,t){return s.value(a(r),this,t)},n.isTruthy=function(r,t){return s.value(!a(r),this,t)},n.ifEven=function(r,t){return s.value(!e(r),this,t)},n.ifNth=function(r,t,i){var c=!isNaN(r)&&!isNaN(t)&&t%r===0;return s.value(c,this,i)},n.ifOdd=function(r,t){return s.value(e(r),this,t)},n.is=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r==t,this,i)},n.isnt=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r!=t,this,i)},n.lt=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r<t,this,i)},n.lte=function(r,t,i){return arguments.length===2&&(i=t,t=i.hash.compare),s.value(r<=t,this,i)},n.neither=function(r,t,i){return s.value(!r&&!t,this,i)},n.not=function(r,t){return s.value(!r,this,t)},n.or=function(){for(var r=arguments.length-1,t=arguments[r],i=!1,c=0;c<r;c++)if(arguments[c]){i=!0;break}return s.value(i,this,t)},n.unlessEq=function(r,t,i){return s.isOptions(t)&&(i=t,t=i.hash.compare),s.value(r!==t,this,i)},n.unlessGt=function(r,t,i){return s.isOptions(t)&&(i=t,t=i.hash.compare),s.value(r<=t,this,i)},n.unlessLt=function(r,t,i){return s.isOptions(t)&&(i=t,t=i.hash.compare),s.value(r>=t,this,i)},n.unlessGteq=function(r,t,i){return s.isOptions(t)&&(i=t,t=i.hash.compare),s.value(r<t,this,i)},n.unlessLteq=function(r,t,i){return s.isOptions(t)&&(i=t,t=i.hash.compare),s.value(r>t,this,i)}},11691:function(h,v,f){"use strict";var l=f(94612),s=f(6057),u=f(59251),a=u.parseAttributes,e=h.exports;const n=f(12533);e.attr=function(r){var t=a(r&&r.hash||{});return t.trim()?" "+t:""},e.css=function(r,t){arguments.length<2&&(t=r,r=[]);var i=s.arrayify(r),c="";return this&&this.options&&(c=this.options.assets||""),t.hash.href&&(i=s.arrayify(t.hash.href)),i.map(function(o){var d=l.extname(o),y=o;return/(^\/\/)|(:\/\/)/.test(o)||(y=l.posix.join(c,o)),d===".less"?`<link type="text/css" rel="stylesheet/less" href="${y}">`:`<link type="text/css" rel="stylesheet" href="${y}">`}).join(`
3
- `)},e.js=function(r){if(typeof r=="object"&&r.hash){var t=a(r.hash);return`<script${t?" "+t:""}><\/script>`}return typeof r=="string"?`<script src="${r}"><\/script>`:(r=s.arrayify(r),r.map(function(i){return l.extname(i)===".coffee"?n("script",{type:"text/coffeescript",src:i}):n("script",{src:i})}).join(`
4
- `))},e.sanitize=function(r){return u.sanitize(r)},e.ul=function(r,t){return"<ul "+a(t.hash)+">"+r.map(function(i){return typeof i!="string"&&(i=t.fn(i)),"<li>"+i+"</li>"}).join(`
5
- `)+"</ul>"},e.ol=function(r,t){return"<ol "+a(t.hash)+">"+r.map(function(i){return typeof i!="string"&&(i=t.fn(i)),"<li>"+i+"</li>"}).join(`
6
- `)+"</ol>"},e.thumbnailImage=function(r){var t="",i="",c=r.full||!1,o={alt:r.alt,src:r.thumbnail,width:r.size.width,height:r.size.height},d={id:"image-"+r.id},y={href:c,rel:"thumbnail"};return r.classes&&(r.classes.image&&(o.class=r.classes.image.join(" ")),r.classes.figure&&(d.class=r.classes.figure.join(" ")),r.classes.link&&(y.class=r.classes.link.join(" "))),t+="<figure "+a(d)+`>
7
- `,i+="<img "+a(o)+`>
8
- `,c?t+="<a "+a(y)+`>
9
- `+i+`</a>
10
- `:t+=i,r.caption&&(t+="<figcaption>"+r.caption+`</figcaption>
11
- `),t+="</figure>",t}},86205:function(h,v,f){"use strict";var l=f(6057),s=h.exports;const u=f(29946);s.i18n=function(a,e,n){if(l.isOptions(e)&&(n=e,e={}),!l.isString(a))throw new Error('{{i18n}} helper expected "key" to be a string');var r=l.options(this,e,n),t=Object.assign({},this,r),i=t.language||t.lang;if(typeof i!="string")throw new TypeError('{{i18n}} helper expected "language" to be a string');var c=t[i];if(typeof c>"u")throw new Error('{{i18n}} helper cannot find language "'+i+'"');var o=u(c,a);if(typeof o>"u")throw new Error('{{i18n}} helper cannot find property "'+a+'" for language "'+i+'"');return o}},77218:function(h,v,f){"use strict";h.exports={array:f(19886),code:f(94841),collection:f(4361),comparison:f(20954),html:f(11691),i18n:f(86205),inflection:f(74914),match:f(20952),math:f(36231),misc:f(71469),number:f(29389),object:f(32975),path:f(52951),regex:f(34996),string:f(27845),url:f(21769),uuid:f(95936)}},74914:function(h,v,f){"use strict";var l=f(6057),s=h.exports;s.inflect=function(u,a,e,n){var r=u>1||u===0?e:a;return n===!0?String(u)+" "+r:r},s.ordinalize=function(u){var a=Math.abs(Math.round(u)),e=String(u),n=a%100;if(l.indexOf([11,12,13],n)>=0)return e+"th";switch(a%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd";default:return e+"th"}}},22194:function(h){const v=`Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta.
12
-
13
- Crase tempor malesuada magna a vehicula. Nam sollicitudin vel turpis id fermentum. Ut sit amet nisl ac nulla vulputate ultrices vitae vitae urna. Quisque eget odio ac lectus vestibulum faucibus eget in metus. In pellentesque faucibus vestibulum. Nulla at nulla justo, eget luctus tortor. Nulla facilisi. Donec vulputate interdum sollicitudin. Nunc lacinia auctor quam sed pellentesque. Aliquam dui mauris, mattis quis lacus id, pellentesque lobortis odio.
14
-
15
- Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede. Donec nec justo eget felis facilisis fermentum. Aliquam porttitor mauris sit amet orci. Aenean dignissim pellentesque felis. Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi. Praesent id justo in neque elementum ultrices. Sed malesuada augue eu sapien sodales congue. Nam ut dui. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi. Proin vel ante a orci tempus eleifend ut et magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus luctus urna sed urna ultricies ac tempor dui sagittis. In condimentum facilisis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci ac euismod semper, magna diam porttitor mauris, quis sollicitudin sapien justo in libero. Vestibulum mollis mauris enim. Morbi euismod magna ac lorem rutrum elementum. Donec viverra auctor lobortis. Pellentesque eu est a nulla placerat dignissim. Morbi a enim in magna semper bibendum. Etiam scelerisque, nunc ac egestas consequat, odio nibh euismod nulla, eget auctor orci nibh vel nisi. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero. Vivamus fermentum nibh in augue. Praesent a lacus at urna congue rutrum. Nulla enim eros, porttitor eu, tempus id, varius non, nibh. Vestibulum imperdiet nibh vel magna lacinia ultrices. Sed id ligula quis est convallis tempor.
16
-
17
- Aliquam erat volutpat. Integer aliquam ultrices nunc. Ut lectus dui, tincidunt ac, scelerisque ac, ultrices vitae, risus. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur vehicula nisi a magna. Sed nec libero. Phasellus nonummy magna. Sed et libero nec ligula blandit fringilla. Ut pretium tempus gravida. Proin lacinia justo vel ipsum varius eget auctor est iaculis.
18
-
19
- Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce luctus vestibulum augue ut aliquet. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta.
20
-
21
- Nam dui erat, auctor a, dignissim quis. Aenean dignissim pellentesque felis. Sed gravida ante at nunc dictum placerat. Donec placerat nisl magna, et faucibus arcu condimentum sed. Curabitur et eros ac orci vehicula vestibulum sit amet at nunc. Maecenas non diam cursus, tincidunt nisi vitae, hendrerit enim. Donec vulputate felis id felis dapibus fermentum.
22
-
23
- Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede. Donec nec justo eget felis facilisis fermentum. Aliquam porttitor mauris sit amet orci. Aenean dignissim pellentesque felis. Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi. Praesent id justo in neque elementum ultrices. Sed malesuada augue eu sapien sodales congue. Nam ut dui. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi.
24
-
25
- Pellentesque sit amet mauris eget lectus commodo viverra. Donec vulputate interdum sollicitudin. Nunc lacinia auctor quam sed pellentesque. Aliquam dui mauris, mattis quis lacus id, pellentesque lobortis odio. Cras ultricies ligula sed magna dictum porta. Curabitur aliquet quam id dui posuere blandit. Nulla porttitor accumsan tincidunt. Donec sollicitudin molestie malesuada. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Sed porttitor lectus nibh. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.
26
-
27
- Cras ultricies ligula sed magna dictum porta. Donec rutrum congue leo eget malesuada. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Donec rutrum congue leo eget malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Nulla porttitor accumsan tincidunt.
28
-
29
- Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit.
30
-
31
- Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus.
32
-
33
- Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.`;h.exports=v},20952:function(h,v,f){"use strict";var l=f(6057),s=h.exports;const u=f(19498);s.match=function(a,e,n,r){var t=l.options(this,n,r);return typeof e=="string"&&(e=e.split(/, */)),u(a,e,t)},s.isMatch=function(a,e,n,r){var t=l.options(this,n,r);return u.isMatch(a,e,t)},s.mm=function(){return console.log("the {{mm}} helper is depcrecated and will be removed"),console.log("in handlebars-helpers v1.0.0, please use the {{match}}"),console.log("helper instead."),s.match.apply(this,arguments)}},36231:function(h,v,f){"use strict";var l=f(18849),s=h.exports;s.abs=function(u){if(isNaN(u))throw new TypeError("expected a number");return Math.abs(u)},s.add=function(u,a){return!isNaN(u)&&!isNaN(a)?Number(u)+Number(a):typeof u=="string"&&typeof a=="string"?u+a:""},s.avg=function(){const u=[].concat.apply([],arguments);return u.pop(),s.sum(u)/u.length},s.ceil=function(u){if(isNaN(u))throw new TypeError("expected a number");return Math.ceil(u)},s.divide=function(u,a){if(isNaN(u))throw new TypeError("expected the first argument to be a number");if(isNaN(a))throw new TypeError("expected the second argument to be a number");return Number(u)/Number(a)},s.floor=function(u){if(isNaN(u))throw new TypeError("expected a number");return Math.floor(u)},s.minus=function(u,a){if(isNaN(u))throw new TypeError("expected the first argument to be a number");if(isNaN(a))throw new TypeError("expected the second argument to be a number");return Number(u)-Number(a)},s.modulo=function(u,a){if(isNaN(u))throw new TypeError("expected the first argument to be a number");if(isNaN(a))throw new TypeError("expected the second argument to be a number");return Number(u)%Number(a)},s.multiply=function(u,a){if(isNaN(u))throw new TypeError("expected the first argument to be a number");if(isNaN(a))throw new TypeError("expected the second argument to be a number");return Number(u)*Number(a)},s.plus=function(u,a){if(isNaN(u))throw new TypeError("expected the first argument to be a number");if(isNaN(a))throw new TypeError("expected the second argument to be a number");return Number(u)+Number(a)},s.random=function(u,a){if(isNaN(u))throw new TypeError("expected minimum to be a number");if(isNaN(a))throw new TypeError("expected maximum to be a number");return l.random(u,a)},s.remainder=function(u,a){return u%a},s.round=function(u){if(isNaN(u))throw new TypeError("expected a number");return Math.round(u)},s.subtract=function(u,a){if(isNaN(u))throw new TypeError("expected the first argument to be a number");if(isNaN(a))throw new TypeError("expected the second argument to be a number");return Number(u)-Number(a)},s.sum=function(){for(var u=[].concat.apply([],arguments),a=u.length,e=0;a--;)isNaN(u[a])||(e+=Number(u[a]));return e}},71469:function(h,v,f){"use strict";var l=f(6057),s=h.exports;const u=f(29946),a=f(54358);s.frame=function(e,n){typeof e=="object"&&e.hash&&(n=e,e=n.data);var r=a(e);return typeof n!="object"&&(n={}),r.extend(n.hash),n.fn(this,{data:r})},s.option=function(e,n,r){return u(l.options(this,n,r),e)},s.noop=function(e){return e.fn(this)},s.typeOf=function(e){return typeof e},s.withHash=function(e){return e.hash&&Object.keys(e.hash).length?e.fn(e.hash):e.inverse(this)}},29389:function(h,v,f){"use strict";var l=f(6057),s=h.exports;s.bytes=function(u,a,e){if(u==null||isNaN(u)&&(u=u.length,!u))return"0 B";isNaN(a)&&(a=2);var n=["B","kB","MB","GB","TB","PB","EB","ZB","YB"];a=Math.pow(10,a),u=Number(u);for(var r=n.length-1;r-->=0;){var t=Math.pow(10,r*3);if(t<=u+1){u=Math.round(u*a/t)/a,u+=" "+n[r];break}}return u},s.addCommas=function(u){return u.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,")},s.phoneNumber=function(u){return u=u.toString(),"("+u.substr(0,3)+") "+u.substr(3,3)+"-"+u.substr(6,4)},s.toAbbr=function(u,a){isNaN(u)&&(u=0),l.isUndefined(a)&&(a=2),u=Number(u),a=Math.pow(10,a);for(var e=["k","m","b","t","q"],n=e.length-1;n>=0;){var r=Math.pow(10,(n+1)*3);if(r<=u+1){u=Math.round(u*a/r)/a,u+=e[n];break}n--}return u},s.toExponential=function(u,a){return isNaN(u)&&(u=0),l.isUndefined(a)&&(a=0),Number(u).toExponential(a)},s.toFixed=function(u,a){return isNaN(u)&&(u=0),isNaN(a)&&(a=0),Number(u).toFixed(a)},s.toFloat=function(u){return parseFloat(u)},s.toInt=function(u){return parseInt(u,10)},s.toPrecision=function(u,a){return isNaN(u)&&(u=0),isNaN(a)&&(a=1),Number(u).toPrecision(a)}},32975:function(h,v,f){"use strict";var l=Object.hasOwnProperty,s=f(6057),u=f(19886),a=h.exports;const e=f(29946),n=f(69391),r=f(54358);a.extend=function(){var t=[].slice.call(arguments),i={};s.isOptions(t[t.length-1])&&(i=t.pop().hash,t.push(i));for(var c={},o=0;o<t.length;o++){var d=t[o];if(s.isObject(d))for(var y=Object.keys(d),w=0;w<y.length;w++){var C=y[w];c[C]=d[C]}}return c},a.forIn=function(t,i){if(!s.isOptions(i))return t.inverse(this);var c=r(i,i.hash),o="";for(var d in t)c.key=d,o+=i.fn(t[d],{data:c});return o},a.forOwn=function(t,i){if(!s.isOptions(i))return t.inverse(this);var c=r(i,i.hash),o="";for(var d in t)t.hasOwnProperty(d)&&(c.key=d,o+=i.fn(t[d],{data:c}));return o},a.toPath=function(){for(var t=[],i=0;i<arguments.length;i++)(typeof arguments[i]=="string"||typeof arguments[i]=="number")&&t.push(arguments[i]);return t.join(".")},a.get=function(t,i,c){var o=e(i,t);return c&&c.fn?o?c.fn(o):c.inverse(i):o},a.getObject=function(t,i){return n(i,t)},a.hasOwn=function(t,i){return l.call(t,i)},a.isObject=function(t){return typeof t=="object"},a.JSONparse=function(t,i){return JSON.parse(t)},a.JSONstringify=function(t,i){return isNaN(i)&&(i=0),JSON.stringify(t,null,i)},a.merge=function(t){var i=[].slice.call(arguments),c={};return s.isOptions(i[i.length-1])&&(c=i.pop().hash,i.push(c)),Object.assign.apply(null,i)},a.parseJSON=a.JSONparse,a.pick=function(t,i,c){for(var o=u.arrayify(t),d=o.length,y=-1,w={};++y<d;)w=a.extend({},w,n(i,o[y]));return c.fn?Object.keys(w).length?c.fn(w):c.inverse(i):w},a.stringify=a.JSONstringify},52951:function(h,v,f){"use strict";var l=f(34155),s=f(6057),u=f(94612);const a=f(45824);var e=h.exports;e.absolute=function(n,r){r=r||{data:{}};var t=s.options(this,r),i=Object.assign({},r.data.root,t),c=i.cwd||l.cwd();return u.resolve(c,n)},e.dirname=function(n,r){if(typeof n!="string")throw new TypeError(s.expectedType("filepath","string",n));return u.dirname(n)},e.relative=function(n,r){if(typeof n!="string")throw new TypeError(s.expectedType("first path","string",n));if(typeof r!="string")throw new TypeError(s.expectedType("second path","string",r));return a(n,r)},e.basename=function(n){if(typeof n!="string")throw new TypeError(s.expectedType("filepath","string",n));return u.basename(n)},e.stem=function(n){if(typeof n!="string")throw new TypeError(s.expectedType("filepath","string",n));return u.basename(n,u.extname(n))},e.extname=function(n){if(typeof n!="string")throw new TypeError(s.expectedType("filepath","string",n));return u.extname(n)},e.resolve=function(n){var r=[].slice.call(arguments),t=s.options(this,r.pop()),i=u.resolve(t.cwd||l.cwd());return r.unshift(i),u.resolve.apply(u,r)},e.segments=function(n,r,t){if(typeof n!="string")throw new TypeError(s.expectedType("filepath","string",n));var i=n.split(/[\\\/]+/);return i.slice(r,t).join("/")}},34996:function(h,v,f){"use strict";var l=f(6057),s=h.exports;const u=f(26401);s.toRegex=function(a,e,n){var r=l.options({},e,n);return new RegExp(a,r.flags)},s.test=function(a,e){if(typeof a!="string")return!1;if(u(e)!=="regexp")throw new TypeError("expected a regular expression");return e.test(a)}},27845:function(h,v,f){"use strict";var l=f(6057),s=f(18849),u=h.exports;let a=f(22194);u.append=function(e,n){return typeof e=="string"&&typeof n=="string"?e+n:e},u.camelcase=function(e){return typeof e!="string"?"":s.changecase(e,function(n){return n.toUpperCase()})},u.capitalize=function(e){return typeof e!="string"?"":e.charAt(0).toUpperCase()+e.slice(1)},u.capitalizeAll=function(e){if(typeof e!="string")return"";if(l.isString(e))return e.replace(/\w\S*/g,function(n){return u.capitalize(n)})},u.center=function(e,n){if(typeof e!="string")return"";for(var r="",t=0;t<n;)r+="&nbsp;",t++;return r+e+r},u.chop=function(e){return typeof e!="string"?"":s.chop(e)},u.dashcase=function(e){return typeof e!="string"?"":s.changecase(e,function(n){return"-"+n})},u.dotcase=function(e){return typeof e!="string"?"":s.changecase(e,function(n){return"."+n})},u.downcase=function(){return u.lowercase.apply(this,arguments)},u.ellipsis=function(e,n){if(l.isString(e))return e.length<=n?e:u.truncate(e,n)+"\u2026"},u.hyphenate=function(e){return typeof e!="string"?"":e.split(" ").join("-")},u.isString=function(e){return typeof e=="string"},u.lowercase=function(e){return l.isObject(e)&&e.fn?e.fn(this).toLowerCase():typeof e!="string"?"":e.toLowerCase()},u.occurrences=function(e,n){if(typeof e!="string")return"";for(var r=n.length,t=0,i=0;(t=e.indexOf(n,t))>-1;)i++,t+=r;return i},u.pascalcase=function(e){return typeof e!="string"?"":(e=s.changecase(e,function(n){return n.toUpperCase()}),e.charAt(0).toUpperCase()+e.slice(1))},u.pathcase=function(e){return typeof e!="string"?"":s.changecase(e,function(n){return"/"+n})},u.plusify=function(e,n){return typeof e!="string"?"":(l.isString(n)||(n=" "),e.split(n).join("+"))},u.prepend=function(e,n){return typeof e=="string"&&typeof n=="string"?n+e:e},u.raw=function(e){var n=e.fn(),r=l.options(this,e);if(r.escape!==!1)for(var t=0;(t=n.indexOf("{{",t))!==-1;)n[t-1]!=="\\"&&(n=n.slice(0,t)+"\\"+n.slice(t)),t+=3;return n},u.remove=function(e,n){return typeof e!="string"?"":l.isString(n)?e.split(n).join(""):e},u.removeFirst=function(e,n){return typeof e!="string"?"":l.isString(n)?e.replace(n,""):e},u.replace=function(e,n,r){return typeof e!="string"?"":l.isString(n)?(l.isString(r)||(r=""),e.split(n).join(r)):e},u.replaceFirst=function(e,n,r){return typeof e!="string"?"":l.isString(n)?(l.isString(r)||(r=""),e.replace(n,r)):e},u.reverse=f(19886).reverse,u.sentence=function(e){return typeof e!="string"?"":e.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})},u.snakecase=function(e){return typeof e!="string"?"":s.changecase(e,function(n){return"_"+n})},u.split=function(e,n){return typeof e!="string"?"":(l.isString(n)||(n=","),e.split(n))},u.startsWith=function(e,n,r){var t=[].slice.call(arguments);return r=t.pop(),l.isString(n)&&n.indexOf(e)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""},u.titleize=function(e){if(typeof e!="string")return"";for(var n=e.replace(/[- _]+/g," "),r=n.split(" "),t=r.length,i=[],c=0;t--;){var o=r[c++];i.push(v.capitalize(o))}return i.join(" ")},u.trim=function(e){return typeof e=="string"?e.trim():""},u.trimLeft=function(e){if(l.isString(e))return e.replace(/^\s+/,"")},u.trimRight=function(e){if(l.isString(e))return e.replace(/\s+$/,"")},u.truncate=function(e,n,r){if(l.isString(e))return typeof r!="string"&&(r=""),e.length>n?e.slice(0,n-r.length)+r:e},u.truncateWords=function(e,n,r){if(l.isString(e)&&!isNaN(n)){typeof r!="string"&&(r="\u2026");var t=Number(n),i=e.split(/[ \t]/);if(t>=i.length)return e;i=i.slice(0,t);var c=i.join(" ").trim();return c+r}},u.upcase=function(){return u.uppercase.apply(this,arguments)},u.uppercase=function(e){return l.isObject(e)&&e.fn?e.fn(this).toUpperCase():typeof e!="string"?"":e.toUpperCase()},u.lorem=function(e){return(isNaN(e)||e<1||!e)&&(e=11),a.substring(0,e)}},21769:function(h,v,f){"use strict";var l=f(8575),s=f(6057),u=f(87735),a=h.exports;a.encodeURI=function(e){if(s.isString(e))return encodeURIComponent(e)},a.escape=function(e){if(s.isString(e))return u.escape(e)},a.decodeURI=function(e){if(s.isString(e))return decodeURIComponent(e)},a.urlResolve=function(e,n){return l.resolve(e,n)},a.urlParse=function(e){return l.parse(e)},a.stripQuerystring=function(e){if(s.isString(e))return e.split("?")[0]},a.stripProtocol=function(e){if(s.isString(e)){var n=l.parse(e);return n.protocol="",n.format()}}},54358:function(h){"use strict";h.exports=function(f){if(typeof f!="object")throw new TypeError("createFrame expects data to be an object");var l=Object.assign({},f);if(l._parent=f,l.extend=function(e){Object.assign(this,e)},arguments.length>1)for(var s=[].slice.call(arguments,1),u=s.length,a=-1;++a<u;)l.extend(s[a]||{});return l}},3503:function(h){"use strict";function v(f,l){if(!f)return!0;let s=l||v.keywords;Array.isArray(s)||(s=[s]);const u=typeof f=="string"?f.toLowerCase():null;for(const a of s)if(a===f||a===u)return!0;return!1}v.keywords=["0","false","nada","nil","nay","nah","negative","no","none","nope","nul","null","nix","nyet","uh-uh","veto","zero"],h.exports=v},59251:function(h,v,f){"use strict";var l=f(6057),s=f(62393),u=h.exports;u.condense=function(a){return a.replace(/(\r\n|\r|\n|\u2028|\u2029) {2,}/g,`
34
- `)},u.padcomments=function(a){return a.replace(/(\s*<!--)/g,`
35
- $1`)},u.parseAttributes=function(e){return Object.keys(e).map(function(n){var r=String(e[n]).replace(/^['"]|["']$/g,"");return n+'="'+r+'"'}).join(" ")},u.sanitize=function(a){return l.isString(a)?s(a).trim():""},u.toAttributes=function(e){for(var n="",r=Object.keys(e),t=0;t<r.length;t++){var i=e[r[t]];i===!0?n+=" "+r[t]:n+=" "+r[t]+'="'+String(i)+'"'}return n}},18849:function(h,v,f){"use strict";const l=f(6057);v.contains=function(s,u,a){return s==null||u==null||isNaN(s.length)?!1:s.indexOf(u,a)!==-1},v.chop=function(s){if(typeof s!="string")return"";var u=/^[-_.\W\s]+|[-_.\W\s]+$/g;return s.trim().replace(u,"")},v.changecase=function(s,u){if(typeof s!="string")return"";if(s.length===1)return s.toLowerCase();s=v.chop(s).toLowerCase(),typeof u!="function"&&(u=l.identity);var a=/[-_.\W\s]+(\w|$)/g;return s.replace(a,function(e,n){return u(n)})},v.random=function(s,u){return s+Math.floor(Math.random()*(u-s+1))}},72219:function(h){"use strict";h.exports=function(f){const l=Math.abs(f);if(isNaN(l))throw new TypeError("expected a number");if(!Number.isInteger(l))throw new Error("expected an integer");if(!Number.isSafeInteger(l))throw new Error("value exceeds maximum safe integer");return l%2===1}},95936:function(h,v,f){const l=f(67429),s=h.exports;s.uuid=function(){return l.v4()}},68527:function(h,v,f){"use strict";const l=f(59743),s=f(78337),u=f(86582),a=f(11834),e=(n,r={})=>{let t=[];if(Array.isArray(n))for(const i of n){const c=e.create(i,r);Array.isArray(c)?t.push(...c):t.push(c)}else t=[].concat(e.create(n,r));return r&&r.expand===!0&&r.nodupes===!0&&(t=[...new Set(t)]),t};e.parse=(n,r={})=>a(n,r),e.stringify=(n,r={})=>l(typeof n=="string"?e.parse(n,r):n,r),e.compile=(n,r={})=>(typeof n=="string"&&(n=e.parse(n,r)),s(n,r)),e.expand=(n,r={})=>{typeof n=="string"&&(n=e.parse(n,r));let t=u(n,r);return r.noempty===!0&&(t=t.filter(Boolean)),r.nodupes===!0&&(t=[...new Set(t)]),t},e.create=(n,r={})=>n===""||n.length<3?[n]:r.expand!==!0?e.compile(n,r):e.expand(n,r),h.exports=e},78337:function(h,v,f){"use strict";const l=f(38154),s=f(79963),u=(a,e={})=>{const n=(r,t={})=>{const i=s.isInvalidBrace(t),c=r.invalid===!0&&e.escapeInvalid===!0,o=i===!0||c===!0,d=e.escapeInvalid===!0?"\\":"";let y="";if(r.isOpen===!0)return d+r.value;if(r.isClose===!0)return console.log("node.isClose",d,r.value),d+r.value;if(r.type==="open")return o?d+r.value:"(";if(r.type==="close")return o?d+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":o?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){const w=s.reduce(r.nodes),C=l(...w,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(C.length!==0)return w.length>1&&C.length>1?`(${C})`:C}if(r.nodes)for(const w of r.nodes)y+=n(w,r);return y};return n(a)};h.exports=u},2223:function(h){"use strict";h.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
36
- `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}},86582:function(h,v,f){"use strict";const l=f(38154),s=f(59743),u=f(79963),a=(n="",r="",t=!1)=>{const i=[];if(n=[].concat(n),r=[].concat(r),!r.length)return n;if(!n.length)return t?u.flatten(r).map(c=>`{${c}}`):r;for(const c of n)if(Array.isArray(c))for(const o of c)i.push(a(o,r,t));else for(let o of r)t===!0&&typeof o=="string"&&(o=`{${o}}`),i.push(Array.isArray(o)?a(c,o,t):c+o);return u.flatten(i)},e=(n,r={})=>{const t=r.rangeLimit===void 0?1e3:r.rangeLimit,i=(c,o={})=>{c.queue=[];let d=o,y=o.queue;for(;d.type!=="brace"&&d.type!=="root"&&d.parent;)d=d.parent,y=d.queue;if(c.invalid||c.dollar){y.push(a(y.pop(),s(c,r)));return}if(c.type==="brace"&&c.invalid!==!0&&c.nodes.length===2){y.push(a(y.pop(),["{}"]));return}if(c.nodes&&c.ranges>0){const j=u.reduce(c.nodes);if(u.exceedsLimit(...j,r.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let R=l(...j,r);R.length===0&&(R=s(c,r)),y.push(a(y.pop(),R)),c.nodes=[];return}const w=u.encloseBrace(c);let C=c.queue,S=c;for(;S.type!=="brace"&&S.type!=="root"&&S.parent;)S=S.parent,C=S.queue;for(let j=0;j<c.nodes.length;j++){const R=c.nodes[j];if(R.type==="comma"&&c.type==="brace"){j===1&&C.push(""),C.push("");continue}if(R.type==="close"){y.push(a(y.pop(),C,w));continue}if(R.value&&R.type!=="open"){C.push(a(C.pop(),R.value));continue}R.nodes&&i(R,c)}return C};return u.flatten(i(n))};h.exports=e},11834:function(h,v,f){"use strict";const l=f(59743),{MAX_LENGTH:s,CHAR_BACKSLASH:u,CHAR_BACKTICK:a,CHAR_COMMA:e,CHAR_DOT:n,CHAR_LEFT_PARENTHESES:r,CHAR_RIGHT_PARENTHESES:t,CHAR_LEFT_CURLY_BRACE:i,CHAR_RIGHT_CURLY_BRACE:c,CHAR_LEFT_SQUARE_BRACKET:o,CHAR_RIGHT_SQUARE_BRACKET:d,CHAR_DOUBLE_QUOTE:y,CHAR_SINGLE_QUOTE:w,CHAR_NO_BREAK_SPACE:C,CHAR_ZERO_WIDTH_NOBREAK_SPACE:S}=f(2223),j=(R,I={})=>{if(typeof R!="string")throw new TypeError("Expected a string");const m=I||{},A=typeof m.maxLength=="number"?Math.min(s,m.maxLength):s;if(R.length>A)throw new SyntaxError(`Input length (${R.length}), exceeds max characters (${A})`);const p={type:"root",input:R,nodes:[]},b=[p];let g=p,E=p,H=0;const T=R.length;let M=0,P=0,N;const L=()=>R[M++],O=x=>{if(x.type==="text"&&E.type==="dot"&&(E.type="text"),E&&E.type==="text"&&x.type==="text"){E.value+=x.value;return}return g.nodes.push(x),x.parent=g,x.prev=E,E=x,x};for(O({type:"bos"});M<T;)if(g=b[b.length-1],N=L(),!(N===S||N===C)){if(N===u){O({type:"text",value:(I.keepEscaping?N:"")+L()});continue}if(N===d){O({type:"text",value:"\\"+N});continue}if(N===o){H++;let x;for(;M<T&&(x=L());){if(N+=x,x===o){H++;continue}if(x===u){N+=L();continue}if(x===d&&(H--,H===0))break}O({type:"text",value:N});continue}if(N===r){g=O({type:"paren",nodes:[]}),b.push(g),O({type:"text",value:N});continue}if(N===t){if(g.type!=="paren"){O({type:"text",value:N});continue}g=b.pop(),O({type:"text",value:N}),g=b[b.length-1];continue}if(N===y||N===w||N===a){const x=N;let U;for(I.keepQuotes!==!0&&(N="");M<T&&(U=L());){if(U===u){N+=U+L();continue}if(U===x){I.keepQuotes===!0&&(N+=U);break}N+=U}O({type:"text",value:N});continue}if(N===i){P++;const U={type:"brace",open:!0,close:!1,dollar:E.value&&E.value.slice(-1)==="$"||g.dollar===!0,depth:P,commas:0,ranges:0,nodes:[]};g=O(U),b.push(g),O({type:"open",value:N});continue}if(N===c){if(g.type!=="brace"){O({type:"text",value:N});continue}const x="close";g=b.pop(),g.close=!0,O({type:x,value:N}),P--,g=b[b.length-1];continue}if(N===e&&P>0){if(g.ranges>0){g.ranges=0;const x=g.nodes.shift();g.nodes=[x,{type:"text",value:l(g)}]}O({type:"comma",value:N}),g.commas++;continue}if(N===n&&P>0&&g.commas===0){const x=g.nodes;if(P===0||x.length===0){O({type:"text",value:N});continue}if(E.type==="dot"){if(g.range=[],E.value+=N,E.type="range",g.nodes.length!==3&&g.nodes.length!==5){g.invalid=!0,g.ranges=0,E.type="text";continue}g.ranges++,g.args=[];continue}if(E.type==="range"){x.pop();const U=x[x.length-1];U.value+=E.value+N,E=U,g.ranges--;continue}O({type:"dot",value:N});continue}O({type:"text",value:N})}do if(g=b.pop(),g.type!=="root"){g.nodes.forEach(q=>{q.nodes||(q.type==="open"&&(q.isOpen=!0),q.type==="close"&&(q.isClose=!0),q.nodes||(q.type="text"),q.invalid=!0)});const x=b[b.length-1],U=x.nodes.indexOf(g);x.nodes.splice(U,1,...g.nodes)}while(b.length>0);return O({type:"eos"}),p};h.exports=j},59743:function(h,v,f){"use strict";const l=f(79963);h.exports=(s,u={})=>{const a=(e,n={})=>{const r=u.escapeInvalid&&l.isInvalidBrace(n),t=e.invalid===!0&&u.escapeInvalid===!0;let i="";if(e.value)return(r||t)&&l.isOpenOrClose(e)?"\\"+e.value:e.value;if(e.value)return e.value;if(e.nodes)for(const c of e.nodes)i+=a(c);return i};return a(s)}},79963:function(h,v){"use strict";v.isInteger=f=>typeof f=="number"?Number.isInteger(f):typeof f=="string"&&f.trim()!==""?Number.isInteger(Number(f)):!1,v.find=(f,l)=>f.nodes.find(s=>s.type===l),v.exceedsLimit=(f,l,s=1,u)=>u===!1||!v.isInteger(f)||!v.isInteger(l)?!1:(Number(l)-Number(f))/Number(s)>=u,v.escapeNode=(f,l=0,s)=>{const u=f.nodes[l];u&&(s&&u.type===s||u.type==="open"||u.type==="close")&&u.escaped!==!0&&(u.value="\\"+u.value,u.escaped=!0)},v.encloseBrace=f=>f.type!=="brace"||f.commas>>0+f.ranges>>0?!1:(f.invalid=!0,!0),v.isInvalidBrace=f=>f.type!=="brace"?!1:f.invalid===!0||f.dollar?!0:!(f.commas>>0+f.ranges>>0)||f.open!==!0||f.close!==!0?(f.invalid=!0,!0):!1,v.isOpenOrClose=f=>f.type==="open"||f.type==="close"?!0:f.open===!0||f.close===!0,v.reduce=f=>f.reduce((l,s)=>(s.type==="text"&&l.push(s.value),s.type==="range"&&(s.type="text"),l),[]),v.flatten=(...f)=>{const l=[],s=u=>{for(let a=0;a<u.length;a++){const e=u[a];if(Array.isArray(e)){s(e);continue}e!==void 0&&l.push(e)}return l};return s(f),l}},38154:function(h,v,f){"use strict";const l=f(89539),s=f(45702),u=m=>m!==null&&typeof m=="object"&&!Array.isArray(m),a=m=>A=>m===!0?Number(A):String(A),e=m=>typeof m=="number"||typeof m=="string"&&m!=="",n=m=>Number.isInteger(+m),r=m=>{let A=`${m}`,p=-1;if(A[0]==="-"&&(A=A.slice(1)),A==="0")return!1;for(;A[++p]==="0";);return p>0},t=(m,A,p)=>typeof m=="string"||typeof A=="string"?!0:p.stringify===!0,i=(m,A,p)=>{if(A>0){let b=m[0]==="-"?"-":"";b&&(m=m.slice(1)),m=b+m.padStart(b?A-1:A,"0")}return p===!1?String(m):m},c=(m,A)=>{let p=m[0]==="-"?"-":"";for(p&&(m=m.slice(1),A--);m.length<A;)m="0"+m;return p?"-"+m:m},o=(m,A,p)=>{m.negatives.sort((T,M)=>T<M?-1:T>M?1:0),m.positives.sort((T,M)=>T<M?-1:T>M?1:0);let b=A.capture?"":"?:",g="",E="",H;return m.positives.length&&(g=m.positives.map(T=>c(String(T),p)).join("|")),m.negatives.length&&(E=`-(${b}${m.negatives.map(T=>c(String(T),p)).join("|")})`),g&&E?H=`${g}|${E}`:H=g||E,A.wrap?`(${b}${H})`:H},d=(m,A,p,b)=>{if(p)return s(m,A,{wrap:!1,...b});let g=String.fromCharCode(m);if(m===A)return g;let E=String.fromCharCode(A);return`[${g}-${E}]`},y=(m,A,p)=>{if(Array.isArray(m)){let b=p.wrap===!0,g=p.capture?"":"?:";return b?`(${g}${m.join("|")})`:m.join("|")}return s(m,A,p)},w=(...m)=>new RangeError("Invalid range arguments: "+l.inspect(...m)),C=(m,A,p)=>{if(p.strictRanges===!0)throw w([m,A]);return[]},S=(m,A)=>{if(A.strictRanges===!0)throw new TypeError(`Expected step "${m}" to be a number`);return[]},j=(m,A,p=1,b={})=>{let g=Number(m),E=Number(A);if(!Number.isInteger(g)||!Number.isInteger(E)){if(b.strictRanges===!0)throw w([m,A]);return[]}g===0&&(g=0),E===0&&(E=0);let H=g>E,T=String(m),M=String(A),P=String(p);p=Math.max(Math.abs(p),1);let N=r(T)||r(M)||r(P),L=N?Math.max(T.length,M.length,P.length):0,O=N===!1&&t(m,A,b)===!1,x=b.transform||a(O);if(b.toRegex&&p===1)return d(c(m,L),c(A,L),!0,b);let U={negatives:[],positives:[]},q=$=>U[$<0?"negatives":"positives"].push(Math.abs($)),B=[],F=0;for(;H?g>=E:g<=E;)b.toRegex===!0&&p>1?q(g):B.push(i(x(g,F),L,O)),g=H?g-p:g+p,F++;return b.toRegex===!0?p>1?o(U,b,L):y(B,null,{wrap:!1,...b}):B},R=(m,A,p=1,b={})=>{if(!n(m)&&m.length>1||!n(A)&&A.length>1)return C(m,A,b);let g=b.transform||(O=>String.fromCharCode(O)),E=`${m}`.charCodeAt(0),H=`${A}`.charCodeAt(0),T=E>H,M=Math.min(E,H),P=Math.max(E,H);if(b.toRegex&&p===1)return d(M,P,!1,b);let N=[],L=0;for(;T?E>=H:E<=H;)N.push(g(E,L)),E=T?E-p:E+p,L++;return b.toRegex===!0?y(N,null,{wrap:!1,options:b}):N},I=(m,A,p,b={})=>{if(A==null&&e(m))return[m];if(!e(m)||!e(A))return C(m,A,b);if(typeof p=="function")return I(m,A,1,{transform:p});if(u(p))return I(m,A,0,p);let g={...b};return g.capture===!0&&(g.wrap=!0),p=p||g.step||1,n(p)?n(m)&&n(A)?j(m,A,p,g):R(m,A,Math.max(Math.abs(p),1),g):p!=null&&!u(p)?S(p,g):I(m,A,1,p)};h.exports=I},13501:function(h,v,f){"use strict";const l=f(29946),s=f(45633);h.exports=function(a,e,n){return u(a)&&(typeof e=="string"||Array.isArray(e))?s(l(a,e,n)):!1};function u(a){return a!=null&&(typeof a=="object"||typeof a=="function"||Array.isArray(a))}},45633:function(h,v,f){"use strict";const l=f(26401);h.exports=function s(u){switch(l(u)){case"boolean":case"date":case"function":case"null":case"number":return!0;case"undefined":return!1;case"regexp":return u.source!=="(?:)"&&u.source!=="";case"buffer":return u.toString()!=="";case"error":return u.message!=="";case"string":case"arguments":return u.length!==0;case"file":case"map":case"set":return u.size!==0;case"array":case"object":for(const a of Object.keys(u))if(s(u[a]))return!0;return!1;default:return!0}}},19498:function(h,v,f){"use strict";const l=f(89539),s=f(68527),u=f(59444),a=f(28702),e=t=>t===""||t==="./",n=t=>{const i=t.indexOf("{");return i>-1&&t.indexOf("}",i)>-1},r=(t,i,c)=>{i=[].concat(i),t=[].concat(t);let o=new Set,d=new Set,y=new Set,w=0,C=R=>{y.add(R.output),c&&c.onResult&&c.onResult(R)};for(let R=0;R<i.length;R++){let I=u(String(i[R]),{...c,onResult:C},!0),m=I.state.negated||I.state.negatedExtglob;m&&w++;for(let A of t){let p=I(A,!0);(m?!p.isMatch:p.isMatch)&&(m?o.add(p.output):(o.delete(p.output),d.add(p.output)))}}let j=(w===i.length?[...y]:[...d]).filter(R=>!o.has(R));if(c&&j.length===0){if(c.failglob===!0)throw new Error(`No matches found for "${i.join(", ")}"`);if(c.nonull===!0||c.nullglob===!0)return c.unescape?i.map(R=>R.replace(/\\/g,"")):i}return j};r.match=r,r.matcher=(t,i)=>u(t,i),r.isMatch=(t,i,c)=>u(i,c)(t),r.any=r.isMatch,r.not=(t,i,c={})=>{i=[].concat(i).map(String);let o=new Set,d=[],y=C=>{c.onResult&&c.onResult(C),d.push(C.output)},w=new Set(r(t,i,{...c,onResult:y}));for(let C of d)w.has(C)||o.add(C);return[...o]},r.contains=(t,i,c)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${l.inspect(t)}"`);if(Array.isArray(i))return i.some(o=>r.contains(t,o,c));if(typeof i=="string"){if(e(t)||e(i))return!1;if(t.includes(i)||t.startsWith("./")&&t.slice(2).includes(i))return!0}return r.isMatch(t,i,{...c,contains:!0})},r.matchKeys=(t,i,c)=>{if(!a.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=r(Object.keys(t),i,c),d={};for(let y of o)d[y]=t[y];return d},r.some=(t,i,c)=>{let o=[].concat(t);for(let d of[].concat(i)){let y=u(String(d),c);if(o.some(w=>y(w)))return!0}return!1},r.every=(t,i,c)=>{let o=[].concat(t);for(let d of[].concat(i)){let y=u(String(d),c);if(!o.every(w=>y(w)))return!1}return!0},r.all=(t,i,c)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${l.inspect(t)}"`);return[].concat(i).every(o=>u(o,c)(t))},r.capture=(t,i,c)=>{let o=a.isWindows(c),y=u.makeRe(String(t),{...c,capture:!0}).exec(o?a.toPosixSlashes(i):i);if(y)return y.slice(1).map(w=>w===void 0?"":w)},r.makeRe=(...t)=>u.makeRe(...t),r.scan=(...t)=>u.scan(...t),r.parse=(t,i)=>{let c=[];for(let o of[].concat(t||[]))for(let d of s(String(o),i))c.push(u.parse(d,i));return c},r.braces=(t,i)=>{if(typeof t!="string")throw new TypeError("Expected a string");return i&&i.nobrace===!0||!n(t)?[t]:s(t,i)},r.braceExpand=(t,i)=>{if(typeof t!="string")throw new TypeError("Expected a string");return r.braces(t,{...i,expand:!0})},r.hasBraces=n,h.exports=r},29946:function(h,v,f){var l=f(47798);h.exports=function(n,r,t){if(l(t)||(t={default:t}),!e(n))return typeof t.default<"u"?t.default:n;typeof r=="number"&&(r=String(r));var i=Array.isArray(r),c=typeof r=="string",o=t.separator||".",d=t.joinChar||(typeof o=="string"?o:".");if(!c&&!i)return n;if(c&&r in n)return a(r,n,t)?n[r]:t.default;var y=i?r:u(r,o,t),w=y.length,C=0;do{var S=y[C];for(typeof S=="number"&&(S=String(S));S&&S.slice(-1)==="\\";)S=s([S.slice(0,-1),y[++C]||""],d,t);if(S in n){if(!a(S,n,t))return t.default;n=n[S]}else{for(var j=!1,R=C+1;R<w;)if(S=s([S,y[R++]],d,t),j=S in n){if(!a(S,n,t))return t.default;n=n[S],C=R-1;break}if(!j)return t.default}}while(++C<w&&e(n));return C===w?n:t.default};function s(n,r,t){return typeof t.join=="function"?t.join(n):n[0]+r+n[1]}function u(n,r,t){return typeof t.split=="function"?t.split(n):n.split(r)}function a(n,r,t){return typeof t.isValid=="function"?t.isValid(n,r):!0}function e(n){return l(n)||Array.isArray(n)||typeof n=="function"}}}]);