@solostylist/ui-kit 1.0.165 → 1.0.167

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 (41) hide show
  1. package/README.md +13 -13
  2. package/dist/Download-UsLvGg3y.js +8 -0
  3. package/dist/main.d.ts +4 -0
  4. package/dist/main.js +171 -167
  5. package/dist/s-accordion/package.json +5 -5
  6. package/dist/s-action-overlay/package.json +5 -5
  7. package/dist/s-ai-tool-bar/index.js +4 -0
  8. package/dist/s-ai-tool-bar/package.json +5 -0
  9. package/dist/s-ai-tool-bar/s-ai-tool-bar.d.ts +114 -0
  10. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +513 -0
  11. package/dist/s-avatar/package.json +5 -5
  12. package/dist/s-blur-text/package.json +5 -5
  13. package/dist/s-breadcrumbs/package.json +5 -5
  14. package/dist/s-button/package.json +5 -5
  15. package/dist/s-carousel/package.json +4 -4
  16. package/dist/s-category-card/package.json +4 -4
  17. package/dist/s-chat-input/package.json +5 -5
  18. package/dist/s-chat-message/s-chat-message.js +30 -31
  19. package/dist/s-chip/package.json +5 -5
  20. package/dist/s-comment-message/package.json +5 -5
  21. package/dist/s-image-comparison/package.json +5 -5
  22. package/dist/s-image-modal/package.json +5 -5
  23. package/dist/s-pixel-reveal/index.d.ts +2 -0
  24. package/dist/s-pixel-reveal/index.js +4 -0
  25. package/dist/s-pixel-reveal/package.json +5 -0
  26. package/dist/s-pixel-reveal/s-pixel-reveal.d.ts +13 -0
  27. package/dist/s-pixel-reveal/s-pixel-reveal.js +151 -0
  28. package/dist/s-radial-pulse-animate/package.json +5 -5
  29. package/dist/s-rating/package.json +5 -5
  30. package/dist/s-review/package.json +5 -5
  31. package/dist/s-scroll-reveal/package.json +5 -5
  32. package/dist/s-scroll-to-top/package.json +5 -5
  33. package/dist/s-tabs/package.json +3 -3
  34. package/dist/s-text-shimmer/package.json +4 -4
  35. package/dist/s-theme-demo/package.json +5 -5
  36. package/dist/s-theme-switch/package.json +4 -4
  37. package/dist/s-typewriter-text/package.json +5 -5
  38. package/dist/theme/components/alert.d.ts +1436 -1436
  39. package/dist/theme/components/button.d.ts +2150 -2150
  40. package/dist/theme/components/chip.d.ts +2 -2
  41. package/package.json +113 -113
@@ -1,20 +1,19 @@
1
1
  import { j as e } from "../jsx-runtime-OVHDjVDe.js";
2
- import { useState as C } from "react";
3
- import { Box as t, Typography as l, Paper as U, IconButton as T } from "@mui/material";
2
+ import { useState as M } from "react";
3
+ import { Box as t, Typography as l, Paper as H, IconButton as T } from "@mui/material";
4
4
  import W from "../s-avatar/s-avatar.js";
5
5
  import P from "../s-image-modal/s-image-modal.js";
6
6
  import E from "../s-lazy-image/s-lazy-image.js";
7
7
  import o from "../s-skeleton/s-skeleton.js";
8
- import { c as m } from "../createSvgIcon-DxwgGAVe.js";
9
- const G = m(/* @__PURE__ */ e.jsx("path", {
10
- d: "M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"
11
- }), "Download"), K = m(/* @__PURE__ */ e.jsx("path", {
8
+ import { c as g } from "../createSvgIcon-DxwgGAVe.js";
9
+ import { D as G } from "../Download-UsLvGg3y.js";
10
+ const K = g(/* @__PURE__ */ e.jsx("path", {
12
11
  d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"
13
- }), "ErrorOutline"), q = m(/* @__PURE__ */ e.jsx("path", {
12
+ }), "ErrorOutline"), q = g(/* @__PURE__ */ e.jsx("path", {
14
13
  d: "M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"
15
- }), "InsertDriveFile"), A = m(/* @__PURE__ */ e.jsx("path", {
14
+ }), "InsertDriveFile"), A = g(/* @__PURE__ */ e.jsx("path", {
16
15
  d: "M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"
17
- }), "Refresh"), ee = ({
16
+ }), "Refresh"), ie = ({
18
17
  message: j,
19
18
  variant: B = "received",
20
19
  timestamp: u,
@@ -23,29 +22,29 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
23
22
  showAvatar: n = !0,
24
23
  showTimestamp: y = !1,
25
24
  maxWidth: S = "70%",
26
- attachments: f = [],
25
+ attachments: m = [],
27
26
  onAttachmentClick: a,
28
27
  onDownload: d,
29
- hasError: g = !1,
28
+ hasError: f = !1,
30
29
  errorMessage: F = "Failed to send message",
31
30
  onRetry: z,
32
31
  loading: D = !1,
33
32
  sx: w,
34
33
  ...I
35
34
  }) => {
36
- const [x, b] = C(null), [H, k] = C(!1), r = B === "sent", L = (i) => (typeof i == "string" ? new Date(i) : i).toLocaleTimeString("en-US", {
35
+ const [x, b] = M(null), [L, k] = M(!1), r = B === "sent", O = (i) => (typeof i == "string" ? new Date(i) : i).toLocaleTimeString("en-US", {
37
36
  hour: "2-digit",
38
37
  minute: "2-digit",
39
38
  hour12: !0
40
- }), O = (i) => {
39
+ }), R = (i) => {
41
40
  if (!i) return "";
42
- const h = ["Bytes", "KB", "MB", "GB"], p = Math.floor(Math.log(i) / Math.log(1024));
43
- return Math.round(i / Math.pow(1024, p) * 100) / 100 + " " + h[p];
44
- }, R = (i) => {
41
+ const p = ["Bytes", "KB", "MB", "GB"], h = Math.floor(Math.log(i) / Math.log(1024));
42
+ return Math.round(i / Math.pow(1024, h) * 100) / 100 + " " + p[h];
43
+ }, U = (i) => {
45
44
  a ? a(i) : (b(i), k(!0));
46
45
  }, V = (i) => {
47
46
  a ? a(i) : d && d(i);
48
- }, c = f.filter((i) => i.type === "image"), M = f.filter((i) => i.type === "file");
47
+ }, c = m.filter((i) => i.type === "image"), C = m.filter((i) => i.type === "file");
49
48
  return D ? /* @__PURE__ */ e.jsxs(
50
49
  t,
51
50
  {
@@ -145,11 +144,11 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
145
144
  backgroundColor: r ? "primary.main" : "",
146
145
  color: r ? "primary.contrastText" : "text.primary",
147
146
  border: r ? "none" : "1px solid",
148
- borderColor: g ? "error.main" : "divider",
147
+ borderColor: f ? "error.main" : "divider",
149
148
  ...r && {
150
149
  backgroundColor: "primary.dark"
151
150
  },
152
- ...g && {
151
+ ...f && {
153
152
  opacity: 0.7
154
153
  },
155
154
  overflow: "hidden"
@@ -178,7 +177,7 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
178
177
  opacity: 0.9
179
178
  }
180
179
  },
181
- onClick: () => R(i),
180
+ onClick: () => U(i),
182
181
  children: /* @__PURE__ */ e.jsx(
183
182
  E,
184
183
  {
@@ -199,8 +198,8 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
199
198
  ))
200
199
  }
201
200
  ),
202
- M.length > 0 && /* @__PURE__ */ e.jsx(t, { sx: { p: 1.5 }, children: M.map((i, h) => /* @__PURE__ */ e.jsxs(
203
- U,
201
+ C.length > 0 && /* @__PURE__ */ e.jsx(t, { sx: { p: 1.5 }, children: C.map((i, p) => /* @__PURE__ */ e.jsxs(
202
+ H,
204
203
  {
205
204
  variant: "outlined",
206
205
  sx: {
@@ -208,7 +207,7 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
208
207
  alignItems: "center",
209
208
  gap: 1.5,
210
209
  p: 1,
211
- mt: h > 0 ? 1 : 0,
210
+ mt: p > 0 ? 1 : 0,
212
211
  cursor: "pointer",
213
212
  backgroundColor: r ? "blackAlpha.zero" : "background.paper",
214
213
  "&:hover": {
@@ -250,7 +249,7 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
250
249
  fontSize: "0.75rem",
251
250
  color: r ? "whiteAlpha.dark" : "text.secondary"
252
251
  },
253
- children: O(i.size)
252
+ children: R(i.size)
254
253
  }
255
254
  )
256
255
  ] }),
@@ -258,8 +257,8 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
258
257
  T,
259
258
  {
260
259
  size: "small",
261
- onClick: (p) => {
262
- p.stopPropagation(), d(i);
260
+ onClick: (h) => {
261
+ h.stopPropagation(), d(i);
263
262
  },
264
263
  sx: {
265
264
  color: r ? "primary.contrastText" : "action.active"
@@ -271,7 +270,7 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
271
270
  },
272
271
  i.id
273
272
  )) }),
274
- j && /* @__PURE__ */ e.jsx(t, { sx: { px: 2, py: 1.5, pt: f.length > 0 ? 0 : 1.5 }, children: /* @__PURE__ */ e.jsx(
273
+ j && /* @__PURE__ */ e.jsx(t, { sx: { px: 2, py: 1.5, pt: m.length > 0 ? 0 : 1.5 }, children: /* @__PURE__ */ e.jsx(
275
274
  l,
276
275
  {
277
276
  variant: "body2",
@@ -296,10 +295,10 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
296
295
  ml: r ? 0 : 0.5,
297
296
  mr: r ? 0.5 : 0
298
297
  },
299
- children: L(u)
298
+ children: O(u)
300
299
  }
301
300
  ),
302
- g && /* @__PURE__ */ e.jsxs(
301
+ f && /* @__PURE__ */ e.jsxs(
303
302
  t,
304
303
  {
305
304
  display: "flex",
@@ -334,7 +333,7 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
334
333
  x && /* @__PURE__ */ e.jsx(
335
334
  P,
336
335
  {
337
- isOpen: H,
336
+ isOpen: L,
338
337
  onClose: () => {
339
338
  k(!1), b(null);
340
339
  },
@@ -353,5 +352,5 @@ const G = m(/* @__PURE__ */ e.jsx("path", {
353
352
  );
354
353
  };
355
354
  export {
356
- ee as default
355
+ ie as default
357
356
  };
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './s-pixel-reveal';
2
+ export type { SPixelRevealProps } from './s-pixel-reveal';
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./s-pixel-reveal.js";
2
+ export {
3
+ o as default
4
+ };
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ export interface SPixelRevealProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
3
+ gap?: number;
4
+ speed?: number;
5
+ colors?: string[];
6
+ loading?: boolean;
7
+ src?: string;
8
+ alt?: string;
9
+ children?: React.ReactNode;
10
+ instant?: boolean;
11
+ }
12
+ declare const SPixelReveal: React.ForwardRefExoticComponent<SPixelRevealProps & React.RefAttributes<HTMLDivElement>>;
13
+ export default SPixelReveal;
@@ -0,0 +1,151 @@
1
+ var Q = Object.defineProperty;
2
+ var U = (i, t, n) => t in i ? Q(i, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : i[t] = n;
3
+ var s = (i, t, n) => U(i, typeof t != "symbol" ? t + "" : t, n);
4
+ import { j as F } from "../jsx-runtime-OVHDjVDe.js";
5
+ import { forwardRef as Z, useRef as u, useCallback as A, useEffect as _ } from "react";
6
+ import { brand as q } from "../theme/theme-primitives.js";
7
+ class ee {
8
+ constructor(t, n, a, S, M, b, g) {
9
+ s(this, "x");
10
+ s(this, "y");
11
+ s(this, "color");
12
+ s(this, "speed");
13
+ s(this, "size");
14
+ s(this, "sizeStep");
15
+ s(this, "minSize");
16
+ s(this, "maxSize");
17
+ s(this, "delay");
18
+ s(this, "counter");
19
+ s(this, "counterStep");
20
+ s(this, "isReverse");
21
+ s(this, "isShimmer");
22
+ this.x = t, this.y = n, this.color = a, this.speed = (Math.random() * 0.8 + 0.1) * S, this.size = 0, this.sizeStep = Math.random() * 0.4, this.minSize = 0.5, this.maxSize = g, this.delay = M, this.counter = 0, this.counterStep = b, this.isReverse = !1, this.isShimmer = !1;
23
+ }
24
+ update(t) {
25
+ return t ? this.counter < this.delay ? (this.counter += this.counterStep, !0) : (this.isShimmer ? this.isReverse ? (this.size -= this.speed, this.size <= this.minSize && (this.size = this.minSize, this.isReverse = !1)) : (this.size += this.speed, this.size >= this.maxSize && (this.size = this.maxSize, this.isReverse = !0)) : this.size < this.maxSize ? this.size += this.sizeStep : this.isShimmer = !0, !0) : (this.isShimmer = !1, this.counter = 0, this.size > 0 ? (this.size -= 0.1, !0) : !1);
26
+ }
27
+ draw(t, n) {
28
+ const a = (n - this.size) * 0.5;
29
+ t.fillRect(this.x + a, this.y + a, this.size, this.size);
30
+ }
31
+ }
32
+ const te = Z(
33
+ ({
34
+ gap: i = 5,
35
+ speed: t = 100,
36
+ colors: n = [q[400], q[500], q[600]],
37
+ loading: a = !0,
38
+ src: S,
39
+ alt: M = "",
40
+ style: b,
41
+ children: g,
42
+ instant: E = !0,
43
+ ...$
44
+ }, w) => {
45
+ const C = u(null), R = u(null), D = u(null), z = u(/* @__PURE__ */ new Map()), l = u(null), k = u(1e3 / 60), I = u(performance.now()), O = u(
46
+ typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1
47
+ ), V = A((e, c, f, h) => {
48
+ const r = e - f, o = c - h;
49
+ return r * r + o * o;
50
+ }, []), X = A(() => {
51
+ const e = C.current, c = e == null ? void 0 : e.getContext("2d");
52
+ if (!e || !c) return;
53
+ z.current = /* @__PURE__ */ new Map();
54
+ const f = O.current ? 0 : Math.max(0, Math.min(100, t)) * 1e-3, h = window.devicePixelRatio || 1, r = e.width / h, o = e.height / h, p = 2, Y = 0.5, H = (r + o) * 0.01, T = r % i / 2, W = o % i / 2;
55
+ for (let m = T; m < r; m += i)
56
+ for (let d = W; d < o; d += i) {
57
+ const x = n[Math.floor(Math.random() * n.length)];
58
+ let v = 0;
59
+ if (!E && !O.current) {
60
+ const G = m + i / 2, J = d + i / 2, K = r / 2, L = o / 2;
61
+ v = Math.sqrt(V(G, J, K, L));
62
+ }
63
+ const j = Math.random() * 4 + H, y = Math.random() * (p - Y) + Y, N = new ee(m, d, x, f, v, j, y);
64
+ z.current.has(x) || z.current.set(x, []), z.current.get(x).push(N);
65
+ }
66
+ l.current && cancelAnimationFrame(l.current);
67
+ const B = () => {
68
+ l.current = requestAnimationFrame(B);
69
+ const m = performance.now(), d = m - I.current;
70
+ if (d < k.current) return;
71
+ I.current = m - d % k.current, c.clearRect(0, 0, r, o);
72
+ let x = !1;
73
+ z.current.forEach((v, j) => {
74
+ c.fillStyle = j;
75
+ for (const y of v)
76
+ y.update(a) && (y.draw(c, i), x = !0);
77
+ }), !a && !x && l.current && (cancelAnimationFrame(l.current), l.current = null);
78
+ };
79
+ B();
80
+ }, [i, t, n, E, a, V]), P = A(() => {
81
+ const e = C.current, c = R.current, f = e == null ? void 0 : e.getContext("2d");
82
+ if (!e || !c || !f) return;
83
+ const h = c.getBoundingClientRect();
84
+ if (h.width === 0 || h.height === 0) return;
85
+ const r = Math.floor(h.width), o = Math.floor(h.height), p = window.devicePixelRatio || 1;
86
+ e.width = r * p, e.height = o * p, e.style.width = `${r}px`, e.style.height = `${o}px`, f.setTransform(1, 0, 0, 1, 0, 0), f.scale(p, p), X();
87
+ }, [X]);
88
+ return _(() => {
89
+ P();
90
+ const e = new ResizeObserver(() => {
91
+ requestAnimationFrame(() => P());
92
+ });
93
+ return R.current && e.observe(R.current), () => {
94
+ e.disconnect(), l.current && cancelAnimationFrame(l.current);
95
+ };
96
+ }, [P]), /* @__PURE__ */ F.jsxs(
97
+ "div",
98
+ {
99
+ ref: (e) => {
100
+ R.current = e, typeof w == "function" ? w(e) : w && (w.current = e);
101
+ },
102
+ style: {
103
+ position: "relative",
104
+ width: "100%",
105
+ height: "100%",
106
+ overflow: "hidden",
107
+ ...b
108
+ },
109
+ ...$,
110
+ children: [
111
+ S && /* @__PURE__ */ F.jsx(
112
+ "img",
113
+ {
114
+ ref: D,
115
+ src: S,
116
+ alt: M,
117
+ style: {
118
+ position: "absolute",
119
+ inset: 0,
120
+ width: "100%",
121
+ height: "100%",
122
+ objectFit: "cover",
123
+ display: "block"
124
+ }
125
+ }
126
+ ),
127
+ g,
128
+ /* @__PURE__ */ F.jsx(
129
+ "canvas",
130
+ {
131
+ ref: C,
132
+ style: {
133
+ position: "absolute",
134
+ inset: 0,
135
+ display: "block",
136
+ width: "100%",
137
+ height: "100%",
138
+ pointerEvents: "none",
139
+ zIndex: 1
140
+ }
141
+ }
142
+ )
143
+ ]
144
+ }
145
+ );
146
+ }
147
+ );
148
+ te.displayName = "SPixelReveal";
149
+ export {
150
+ te as default
151
+ };
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,6 +1,6 @@
1
- {
2
- "name": "@solostylist/ui-kit/s-scroll-reveal",
3
- "main": "./index.ts",
4
- "module": "./index.ts",
5
- "types": "./index.ts"
1
+ {
2
+ "name": "@solostylist/ui-kit/s-scroll-reveal",
3
+ "main": "./index.ts",
4
+ "module": "./index.ts",
5
+ "types": "./index.ts"
6
6
  }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,4 +1,4 @@
1
- {
2
- "name": "s-tabs",
3
- "main": "./index.ts"
1
+ {
2
+ "name": "s-tabs",
3
+ "main": "./index.ts"
4
4
  }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
5
  }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
5
  }
@@ -1,6 +1,6 @@
1
- {
2
- "name": "@solostylist/ui-kit/s-typewriter-text",
3
- "main": "./index.ts",
4
- "module": "./index.ts",
5
- "types": "./index.ts"
1
+ {
2
+ "name": "@solostylist/ui-kit/s-typewriter-text",
3
+ "main": "./index.ts",
4
+ "module": "./index.ts",
5
+ "types": "./index.ts"
6
6
  }