@haoduo-icon/svg-spinners 1.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.
- package/icons.json +52 -0
- package/manifest.json +245 -0
- package/package.json +20 -0
- package/pkg-index.js +676 -0
- package/svg-spinners-01.svg +1 -0
package/icons.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pkg": "svg-spinners",
|
|
3
|
+
"total": "46",
|
|
4
|
+
"icons": [
|
|
5
|
+
"12-dots-scale-rotate",
|
|
6
|
+
"180-ring",
|
|
7
|
+
"180-ring-with-bg",
|
|
8
|
+
"270-ring",
|
|
9
|
+
"270-ring-with-bg",
|
|
10
|
+
"3-dots-bounce",
|
|
11
|
+
"3-dots-fade",
|
|
12
|
+
"3-dots-move",
|
|
13
|
+
"3-dots-rotate",
|
|
14
|
+
"3-dots-scale",
|
|
15
|
+
"3-dots-scale-middle",
|
|
16
|
+
"6-dots-rotate",
|
|
17
|
+
"6-dots-scale",
|
|
18
|
+
"6-dots-scale-middle",
|
|
19
|
+
"8-dots-rotate",
|
|
20
|
+
"90-ring",
|
|
21
|
+
"90-ring-with-bg",
|
|
22
|
+
"bars-fade",
|
|
23
|
+
"bars-rotate-fade",
|
|
24
|
+
"bars-scale",
|
|
25
|
+
"bars-scale-fade",
|
|
26
|
+
"bars-scale-middle",
|
|
27
|
+
"blocks-scale",
|
|
28
|
+
"blocks-shuffle-2",
|
|
29
|
+
"blocks-shuffle-3",
|
|
30
|
+
"blocks-wave",
|
|
31
|
+
"bouncing-ball",
|
|
32
|
+
"clock",
|
|
33
|
+
"dot-revolve",
|
|
34
|
+
"eclipse",
|
|
35
|
+
"eclipse-half",
|
|
36
|
+
"gooey-balls-1",
|
|
37
|
+
"gooey-balls-2",
|
|
38
|
+
"pulse",
|
|
39
|
+
"pulse-2",
|
|
40
|
+
"pulse-3",
|
|
41
|
+
"pulse-multiple",
|
|
42
|
+
"pulse-ring",
|
|
43
|
+
"pulse-rings-2",
|
|
44
|
+
"pulse-rings-3",
|
|
45
|
+
"pulse-rings-multiple",
|
|
46
|
+
"ring-resize",
|
|
47
|
+
"tadpole",
|
|
48
|
+
"wifi",
|
|
49
|
+
"wifi-fade",
|
|
50
|
+
"wind-toy"
|
|
51
|
+
]
|
|
52
|
+
}
|
package/manifest.json
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
{
|
|
2
|
+
"pkg": "svg-spinners",
|
|
3
|
+
"icons": [
|
|
4
|
+
{
|
|
5
|
+
"name": "12-dots-scale-rotate",
|
|
6
|
+
"symbolId": "hd-icon-svg-spinners-12-dots-scale-rotate"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "180-ring",
|
|
10
|
+
"symbolId": "hd-icon-svg-spinners-180-ring"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "180-ring-with-bg",
|
|
14
|
+
"symbolId": "hd-icon-svg-spinners-180-ring-with-bg"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "270-ring",
|
|
18
|
+
"symbolId": "hd-icon-svg-spinners-270-ring"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "270-ring-with-bg",
|
|
22
|
+
"symbolId": "hd-icon-svg-spinners-270-ring-with-bg"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "3-dots-bounce",
|
|
26
|
+
"symbolId": "hd-icon-svg-spinners-3-dots-bounce"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "3-dots-fade",
|
|
30
|
+
"symbolId": "hd-icon-svg-spinners-3-dots-fade"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "3-dots-move",
|
|
34
|
+
"symbolId": "hd-icon-svg-spinners-3-dots-move"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "3-dots-rotate",
|
|
38
|
+
"symbolId": "hd-icon-svg-spinners-3-dots-rotate"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "3-dots-scale",
|
|
42
|
+
"symbolId": "hd-icon-svg-spinners-3-dots-scale"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "3-dots-scale-middle",
|
|
46
|
+
"symbolId": "hd-icon-svg-spinners-3-dots-scale-middle"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "6-dots-rotate",
|
|
50
|
+
"symbolId": "hd-icon-svg-spinners-6-dots-rotate"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "6-dots-scale",
|
|
54
|
+
"symbolId": "hd-icon-svg-spinners-6-dots-scale"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "6-dots-scale-middle",
|
|
58
|
+
"symbolId": "hd-icon-svg-spinners-6-dots-scale-middle"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "8-dots-rotate",
|
|
62
|
+
"symbolId": "hd-icon-svg-spinners-8-dots-rotate"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "90-ring",
|
|
66
|
+
"symbolId": "hd-icon-svg-spinners-90-ring"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "90-ring-with-bg",
|
|
70
|
+
"symbolId": "hd-icon-svg-spinners-90-ring-with-bg"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "bars-fade",
|
|
74
|
+
"symbolId": "hd-icon-svg-spinners-bars-fade"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "bars-rotate-fade",
|
|
78
|
+
"symbolId": "hd-icon-svg-spinners-bars-rotate-fade"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "bars-scale",
|
|
82
|
+
"symbolId": "hd-icon-svg-spinners-bars-scale"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "bars-scale-fade",
|
|
86
|
+
"symbolId": "hd-icon-svg-spinners-bars-scale-fade"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "bars-scale-middle",
|
|
90
|
+
"symbolId": "hd-icon-svg-spinners-bars-scale-middle"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "blocks-scale",
|
|
94
|
+
"symbolId": "hd-icon-svg-spinners-blocks-scale"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "blocks-shuffle-2",
|
|
98
|
+
"symbolId": "hd-icon-svg-spinners-blocks-shuffle-2"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "blocks-shuffle-3",
|
|
102
|
+
"symbolId": "hd-icon-svg-spinners-blocks-shuffle-3"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "blocks-wave",
|
|
106
|
+
"symbolId": "hd-icon-svg-spinners-blocks-wave"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "bouncing-ball",
|
|
110
|
+
"symbolId": "hd-icon-svg-spinners-bouncing-ball"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "clock",
|
|
114
|
+
"symbolId": "hd-icon-svg-spinners-clock"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "dot-revolve",
|
|
118
|
+
"symbolId": "hd-icon-svg-spinners-dot-revolve"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "eclipse",
|
|
122
|
+
"symbolId": "hd-icon-svg-spinners-eclipse"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "eclipse-half",
|
|
126
|
+
"symbolId": "hd-icon-svg-spinners-eclipse-half"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "gooey-balls-1",
|
|
130
|
+
"symbolId": "hd-icon-svg-spinners-gooey-balls-1"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"name": "gooey-balls-2",
|
|
134
|
+
"symbolId": "hd-icon-svg-spinners-gooey-balls-2"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "pulse",
|
|
138
|
+
"symbolId": "hd-icon-svg-spinners-pulse"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "pulse-2",
|
|
142
|
+
"symbolId": "hd-icon-svg-spinners-pulse-2"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "pulse-3",
|
|
146
|
+
"symbolId": "hd-icon-svg-spinners-pulse-3"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "pulse-multiple",
|
|
150
|
+
"symbolId": "hd-icon-svg-spinners-pulse-multiple"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "pulse-ring",
|
|
154
|
+
"symbolId": "hd-icon-svg-spinners-pulse-ring"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "pulse-rings-2",
|
|
158
|
+
"symbolId": "hd-icon-svg-spinners-pulse-rings-2"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "pulse-rings-3",
|
|
162
|
+
"symbolId": "hd-icon-svg-spinners-pulse-rings-3"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "pulse-rings-multiple",
|
|
166
|
+
"symbolId": "hd-icon-svg-spinners-pulse-rings-multiple"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "ring-resize",
|
|
170
|
+
"symbolId": "hd-icon-svg-spinners-ring-resize"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "tadpole",
|
|
174
|
+
"symbolId": "hd-icon-svg-spinners-tadpole"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "wifi",
|
|
178
|
+
"symbolId": "hd-icon-svg-spinners-wifi"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "wifi-fade",
|
|
182
|
+
"symbolId": "hd-icon-svg-spinners-wifi-fade"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "wind-toy",
|
|
186
|
+
"symbolId": "hd-icon-svg-spinners-wind-toy"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"lookupMap": {
|
|
190
|
+
"svg-spinners-01.svg": [
|
|
191
|
+
"12-dots-scale-rotate",
|
|
192
|
+
"180-ring",
|
|
193
|
+
"180-ring-with-bg",
|
|
194
|
+
"270-ring",
|
|
195
|
+
"270-ring-with-bg",
|
|
196
|
+
"3-dots-bounce",
|
|
197
|
+
"3-dots-fade",
|
|
198
|
+
"3-dots-move",
|
|
199
|
+
"3-dots-rotate",
|
|
200
|
+
"3-dots-scale",
|
|
201
|
+
"3-dots-scale-middle",
|
|
202
|
+
"6-dots-rotate",
|
|
203
|
+
"6-dots-scale",
|
|
204
|
+
"6-dots-scale-middle",
|
|
205
|
+
"8-dots-rotate",
|
|
206
|
+
"90-ring",
|
|
207
|
+
"90-ring-with-bg",
|
|
208
|
+
"bars-fade",
|
|
209
|
+
"bars-rotate-fade",
|
|
210
|
+
"bars-scale",
|
|
211
|
+
"bars-scale-fade",
|
|
212
|
+
"bars-scale-middle",
|
|
213
|
+
"blocks-scale",
|
|
214
|
+
"blocks-shuffle-2",
|
|
215
|
+
"blocks-shuffle-3",
|
|
216
|
+
"blocks-wave",
|
|
217
|
+
"bouncing-ball",
|
|
218
|
+
"clock",
|
|
219
|
+
"dot-revolve",
|
|
220
|
+
"eclipse",
|
|
221
|
+
"eclipse-half",
|
|
222
|
+
"gooey-balls-1",
|
|
223
|
+
"gooey-balls-2",
|
|
224
|
+
"pulse",
|
|
225
|
+
"pulse-2",
|
|
226
|
+
"pulse-3",
|
|
227
|
+
"pulse-multiple",
|
|
228
|
+
"pulse-ring",
|
|
229
|
+
"pulse-rings-2",
|
|
230
|
+
"pulse-rings-3",
|
|
231
|
+
"pulse-rings-multiple",
|
|
232
|
+
"ring-resize",
|
|
233
|
+
"tadpole",
|
|
234
|
+
"wifi",
|
|
235
|
+
"wifi-fade",
|
|
236
|
+
"wind-toy"
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
"chunks": [
|
|
240
|
+
{
|
|
241
|
+
"id": "01",
|
|
242
|
+
"file": "svg-spinners-01.svg"
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@haoduo-icon/svg-spinners",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Icon package for svg-spinners",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./pkg-index.js",
|
|
7
|
+
"module": "./pkg-index.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"pkg-index.js",
|
|
10
|
+
"*.svg",
|
|
11
|
+
"manifest.json",
|
|
12
|
+
"icons.json"
|
|
13
|
+
],
|
|
14
|
+
"sideEffects": true,
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public",
|
|
18
|
+
"registry": "https://registry.npmjs.org/"
|
|
19
|
+
}
|
|
20
|
+
}
|
package/pkg-index.js
ADDED
|
@@ -0,0 +1,676 @@
|
|
|
1
|
+
// node_modules/min-mphash/dist/index.js
|
|
2
|
+
function _define_property(obj, key, value) {
|
|
3
|
+
if (key in obj)
|
|
4
|
+
Object.defineProperty(obj, key, {
|
|
5
|
+
value,
|
|
6
|
+
enumerable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
writable: true
|
|
9
|
+
});
|
|
10
|
+
else
|
|
11
|
+
obj[key] = value;
|
|
12
|
+
return obj;
|
|
13
|
+
}
|
|
14
|
+
function readVarInt(buffer, offset) {
|
|
15
|
+
let val = 0;
|
|
16
|
+
let shift = 0;
|
|
17
|
+
let bytes = 0;
|
|
18
|
+
while (true) {
|
|
19
|
+
const b = buffer[offset + bytes];
|
|
20
|
+
val |= (127 & b) << shift;
|
|
21
|
+
bytes++;
|
|
22
|
+
if ((128 & b) === 0)
|
|
23
|
+
break;
|
|
24
|
+
shift += 7;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
value: val,
|
|
28
|
+
bytes
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
var CBOR = {
|
|
32
|
+
encodeInt(val, buffer) {
|
|
33
|
+
const major = 0;
|
|
34
|
+
if (val < 24)
|
|
35
|
+
buffer.push(major | val);
|
|
36
|
+
else if (val <= 255)
|
|
37
|
+
buffer.push(24 | major, val);
|
|
38
|
+
else if (val <= 65535)
|
|
39
|
+
buffer.push(25 | major, val >> 8, 255 & val);
|
|
40
|
+
else
|
|
41
|
+
buffer.push(26 | major, val >>> 24 & 255, val >>> 16 & 255, val >>> 8 & 255, 255 & val);
|
|
42
|
+
},
|
|
43
|
+
encodeBytes(bytes, buffer) {
|
|
44
|
+
const major = 64;
|
|
45
|
+
const len = bytes.byteLength;
|
|
46
|
+
if (len < 24)
|
|
47
|
+
buffer.push(major | len);
|
|
48
|
+
else if (len <= 255)
|
|
49
|
+
buffer.push(24 | major, len);
|
|
50
|
+
else if (len <= 65535)
|
|
51
|
+
buffer.push(25 | major, len >> 8, 255 & len);
|
|
52
|
+
else
|
|
53
|
+
buffer.push(26 | major, len >>> 24 & 255, len >>> 16 & 255, len >>> 8 & 255, 255 & len);
|
|
54
|
+
for (let i = 0;i < len; i++)
|
|
55
|
+
buffer.push(bytes[i]);
|
|
56
|
+
},
|
|
57
|
+
encodeNull(buffer) {
|
|
58
|
+
buffer.push(246);
|
|
59
|
+
},
|
|
60
|
+
encodeArrayHead(len, buffer) {
|
|
61
|
+
const major = 128;
|
|
62
|
+
if (len < 24)
|
|
63
|
+
buffer.push(major | len);
|
|
64
|
+
},
|
|
65
|
+
decode(view, offsetRef) {
|
|
66
|
+
const byte = view.getUint8(offsetRef.current++);
|
|
67
|
+
const major = 224 & byte;
|
|
68
|
+
const additional = 31 & byte;
|
|
69
|
+
let val = 0;
|
|
70
|
+
if (additional < 24)
|
|
71
|
+
val = additional;
|
|
72
|
+
else if (additional === 24) {
|
|
73
|
+
val = view.getUint8(offsetRef.current);
|
|
74
|
+
offsetRef.current += 1;
|
|
75
|
+
} else if (additional === 25) {
|
|
76
|
+
val = view.getUint16(offsetRef.current, false);
|
|
77
|
+
offsetRef.current += 2;
|
|
78
|
+
} else if (additional === 26) {
|
|
79
|
+
val = view.getUint32(offsetRef.current, false);
|
|
80
|
+
offsetRef.current += 4;
|
|
81
|
+
} else
|
|
82
|
+
throw new Error("Unsupported CBOR size");
|
|
83
|
+
if (major === 0)
|
|
84
|
+
return val;
|
|
85
|
+
if (major === 64) {
|
|
86
|
+
const len = val;
|
|
87
|
+
const buf = new Uint8Array(view.buffer.slice(view.byteOffset + offsetRef.current, view.byteOffset + offsetRef.current + len));
|
|
88
|
+
offsetRef.current += len;
|
|
89
|
+
return buf;
|
|
90
|
+
}
|
|
91
|
+
if (major === 128) {
|
|
92
|
+
const len = val;
|
|
93
|
+
const arr = [];
|
|
94
|
+
for (let i = 0;i < len; i++)
|
|
95
|
+
arr.push(CBOR.decode(view, offsetRef));
|
|
96
|
+
return arr;
|
|
97
|
+
}
|
|
98
|
+
if (byte === 246)
|
|
99
|
+
return null;
|
|
100
|
+
throw new Error(`Unknown CBOR type: ${byte.toString(16)}`);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var INT_TO_MODE = [
|
|
104
|
+
"none",
|
|
105
|
+
"4",
|
|
106
|
+
"8",
|
|
107
|
+
"16",
|
|
108
|
+
"32",
|
|
109
|
+
"2"
|
|
110
|
+
];
|
|
111
|
+
function dictFromCBOR(bin) {
|
|
112
|
+
const view = new DataView(bin.buffer, bin.byteOffset, bin.byteLength);
|
|
113
|
+
const offsetRef = {
|
|
114
|
+
current: 0
|
|
115
|
+
};
|
|
116
|
+
const arr = CBOR.decode(view, offsetRef);
|
|
117
|
+
if (!Array.isArray(arr) || arr.length < 7)
|
|
118
|
+
throw new Error("Invalid CBOR format");
|
|
119
|
+
const [n, m, seed0, bucketSizes, seedStream, modeInt, fpRaw, seedZeroBitmap, hashSeed] = arr;
|
|
120
|
+
const validationMode = INT_TO_MODE[modeInt] || "none";
|
|
121
|
+
let fingerprints;
|
|
122
|
+
if (fpRaw && validationMode !== "none") {
|
|
123
|
+
if (validationMode === "2" || validationMode === "4" || validationMode === "8")
|
|
124
|
+
fingerprints = fpRaw;
|
|
125
|
+
else if (validationMode === "16")
|
|
126
|
+
fingerprints = new Uint16Array(fpRaw.buffer, fpRaw.byteOffset, fpRaw.byteLength / 2);
|
|
127
|
+
else if (validationMode === "32")
|
|
128
|
+
fingerprints = new Uint32Array(fpRaw.buffer, fpRaw.byteOffset, fpRaw.byteLength / 4);
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
n,
|
|
132
|
+
m,
|
|
133
|
+
seed0,
|
|
134
|
+
hashSeed: hashSeed || 0,
|
|
135
|
+
bucketSizes,
|
|
136
|
+
seedStream,
|
|
137
|
+
validationMode,
|
|
138
|
+
fingerprints,
|
|
139
|
+
seedZeroBitmap: seedZeroBitmap || undefined
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
async function decompressIBinary(data) {
|
|
143
|
+
const stream = new Blob([
|
|
144
|
+
data
|
|
145
|
+
]).stream().pipeThrough(new DecompressionStream("gzip"));
|
|
146
|
+
return new Uint8Array(await new Response(stream).arrayBuffer());
|
|
147
|
+
}
|
|
148
|
+
class BitReader {
|
|
149
|
+
read(bits) {
|
|
150
|
+
let value = 0;
|
|
151
|
+
for (let i = 0;i < bits; i++) {
|
|
152
|
+
if (this.byteOffset >= this.buffer.length)
|
|
153
|
+
return 0;
|
|
154
|
+
const bit = this.buffer[this.byteOffset] >> this.bitOffset & 1;
|
|
155
|
+
value |= bit << i;
|
|
156
|
+
this.bitOffset++;
|
|
157
|
+
if (this.bitOffset === 8) {
|
|
158
|
+
this.byteOffset++;
|
|
159
|
+
this.bitOffset = 0;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return value;
|
|
163
|
+
}
|
|
164
|
+
constructor(buffer) {
|
|
165
|
+
_define_property(this, "buffer", undefined);
|
|
166
|
+
_define_property(this, "byteOffset", 0);
|
|
167
|
+
_define_property(this, "bitOffset", 0);
|
|
168
|
+
this.buffer = buffer;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function readBitsAt(buffer, bitOffset, bitLength) {
|
|
172
|
+
let value = 0;
|
|
173
|
+
let currentBit = bitOffset;
|
|
174
|
+
for (let i = 0;i < bitLength; i++) {
|
|
175
|
+
const byteIdx = currentBit >>> 3;
|
|
176
|
+
const bitIdx = 7 & currentBit;
|
|
177
|
+
if (byteIdx >= buffer.length)
|
|
178
|
+
return 0;
|
|
179
|
+
const bit = buffer[byteIdx] >> bitIdx & 1;
|
|
180
|
+
value |= bit << i;
|
|
181
|
+
currentBit++;
|
|
182
|
+
}
|
|
183
|
+
return value;
|
|
184
|
+
}
|
|
185
|
+
function MinMPHash_define_property(obj, key, value) {
|
|
186
|
+
if (key in obj)
|
|
187
|
+
Object.defineProperty(obj, key, {
|
|
188
|
+
value,
|
|
189
|
+
enumerable: true,
|
|
190
|
+
configurable: true,
|
|
191
|
+
writable: true
|
|
192
|
+
});
|
|
193
|
+
else
|
|
194
|
+
obj[key] = value;
|
|
195
|
+
return obj;
|
|
196
|
+
}
|
|
197
|
+
class MinMPHash {
|
|
198
|
+
static async fromCompressed(data) {
|
|
199
|
+
const decompressed = await decompressIBinary(data);
|
|
200
|
+
return new MinMPHash(decompressed);
|
|
201
|
+
}
|
|
202
|
+
hash(input) {
|
|
203
|
+
if (this.n === 0)
|
|
204
|
+
return -1;
|
|
205
|
+
const h1 = murmurHash3_32(input, this.hashSeed);
|
|
206
|
+
const h2 = murmurHash3_32(input, ~this.hashSeed);
|
|
207
|
+
const h0 = (scramble(h1, this.seed0) ^ h2) >>> 0;
|
|
208
|
+
const bIdx = Math.floor(h0 / 4294967296 * this.m);
|
|
209
|
+
const offset = this.offsets[bIdx];
|
|
210
|
+
const nextOffset = this.offsets[bIdx + 1];
|
|
211
|
+
const bucketSize = nextOffset - offset;
|
|
212
|
+
if (bucketSize === 0)
|
|
213
|
+
return -1;
|
|
214
|
+
let resultIdx = 0;
|
|
215
|
+
if (bucketSize === 1)
|
|
216
|
+
resultIdx = offset;
|
|
217
|
+
else {
|
|
218
|
+
const s = this.seeds[bIdx];
|
|
219
|
+
const h = (scramble(h1, s) ^ h2) >>> 0;
|
|
220
|
+
resultIdx = offset + h % bucketSize;
|
|
221
|
+
}
|
|
222
|
+
if (this.validationMode !== "none" && this.fingerprints) {
|
|
223
|
+
const fpHash = murmurHash3_32(input, MinMPHash.FP_SEED);
|
|
224
|
+
if (this.validationMode === "2") {
|
|
225
|
+
const expectedFp2 = 3 & fpHash;
|
|
226
|
+
const byteIdx = resultIdx >>> 2;
|
|
227
|
+
const shift = (3 & resultIdx) << 1;
|
|
228
|
+
if ((this.fingerprints[byteIdx] >>> shift & 3) !== expectedFp2)
|
|
229
|
+
return -1;
|
|
230
|
+
} else if (this.validationMode === "4") {
|
|
231
|
+
const expectedFp4 = 15 & fpHash;
|
|
232
|
+
const byteIdx = resultIdx >>> 1;
|
|
233
|
+
const storedByte = this.fingerprints[byteIdx];
|
|
234
|
+
const storedFp4 = (1 & resultIdx) === 0 ? 15 & storedByte : storedByte >>> 4 & 15;
|
|
235
|
+
if (storedFp4 !== expectedFp4)
|
|
236
|
+
return -1;
|
|
237
|
+
} else if (this.validationMode === "8") {
|
|
238
|
+
if (this.fingerprints[resultIdx] !== (255 & fpHash))
|
|
239
|
+
return -1;
|
|
240
|
+
} else if (this.validationMode === "16") {
|
|
241
|
+
if (this.fingerprints[resultIdx] !== (65535 & fpHash))
|
|
242
|
+
return -1;
|
|
243
|
+
} else if (this.fingerprints[resultIdx] !== fpHash >>> 0)
|
|
244
|
+
return -1;
|
|
245
|
+
}
|
|
246
|
+
return resultIdx;
|
|
247
|
+
}
|
|
248
|
+
constructor(dict) {
|
|
249
|
+
MinMPHash_define_property(this, "n", undefined);
|
|
250
|
+
MinMPHash_define_property(this, "m", undefined);
|
|
251
|
+
MinMPHash_define_property(this, "seed0", undefined);
|
|
252
|
+
MinMPHash_define_property(this, "hashSeed", undefined);
|
|
253
|
+
MinMPHash_define_property(this, "offsets", undefined);
|
|
254
|
+
MinMPHash_define_property(this, "seeds", undefined);
|
|
255
|
+
MinMPHash_define_property(this, "validationMode", undefined);
|
|
256
|
+
MinMPHash_define_property(this, "fingerprints", null);
|
|
257
|
+
if (dict instanceof Uint8Array)
|
|
258
|
+
dict = dictFromCBOR(dict);
|
|
259
|
+
this.n = dict.n;
|
|
260
|
+
this.m = dict.m;
|
|
261
|
+
this.seed0 = dict.seed0;
|
|
262
|
+
this.hashSeed = dict.hashSeed || 0;
|
|
263
|
+
this.validationMode = dict.validationMode || "none";
|
|
264
|
+
if (this.n === 0) {
|
|
265
|
+
this.offsets = new Uint32Array(0);
|
|
266
|
+
this.seeds = new Int32Array(0);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
this.offsets = new Uint32Array(this.m + 1);
|
|
270
|
+
let currentOffset = 0;
|
|
271
|
+
for (let i = 0;i < this.m; i++) {
|
|
272
|
+
this.offsets[i] = currentOffset;
|
|
273
|
+
const byte = dict.bucketSizes[i >>> 1];
|
|
274
|
+
const len = 1 & i ? byte >>> 4 : 15 & byte;
|
|
275
|
+
currentOffset += len;
|
|
276
|
+
}
|
|
277
|
+
this.offsets[this.m] = currentOffset;
|
|
278
|
+
this.seeds = new Int32Array(this.m);
|
|
279
|
+
let ptr = 0;
|
|
280
|
+
const buf = dict.seedStream;
|
|
281
|
+
const bitmap = dict.seedZeroBitmap;
|
|
282
|
+
for (let i = 0;i < this.m; i++) {
|
|
283
|
+
let isZero = false;
|
|
284
|
+
if (bitmap) {
|
|
285
|
+
if ((bitmap[i >>> 3] & 1 << (7 & i)) !== 0)
|
|
286
|
+
isZero = true;
|
|
287
|
+
}
|
|
288
|
+
if (isZero)
|
|
289
|
+
this.seeds[i] = 0;
|
|
290
|
+
else {
|
|
291
|
+
let result = 0;
|
|
292
|
+
let shift = 0;
|
|
293
|
+
while (true) {
|
|
294
|
+
const byte = buf[ptr++];
|
|
295
|
+
result |= (127 & byte) << shift;
|
|
296
|
+
if ((128 & byte) === 0)
|
|
297
|
+
break;
|
|
298
|
+
shift += 7;
|
|
299
|
+
}
|
|
300
|
+
this.seeds[i] = result;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (this.validationMode !== "none" && dict.fingerprints) {
|
|
304
|
+
const raw = dict.fingerprints;
|
|
305
|
+
if (this.validationMode === "2" || this.validationMode === "4" || this.validationMode === "8")
|
|
306
|
+
this.fingerprints = raw instanceof Uint8Array ? raw : new Uint8Array(raw);
|
|
307
|
+
else if (this.validationMode === "16")
|
|
308
|
+
this.fingerprints = raw instanceof Uint16Array ? raw : new Uint16Array(raw);
|
|
309
|
+
else
|
|
310
|
+
this.fingerprints = raw instanceof Uint32Array ? raw : new Uint32Array(raw);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
MinMPHash_define_property(MinMPHash, "FP_SEED", 305441741);
|
|
315
|
+
function scramble(k, seed) {
|
|
316
|
+
k ^= seed;
|
|
317
|
+
k = Math.imul(k, 2246822507);
|
|
318
|
+
k ^= k >>> 13;
|
|
319
|
+
k = Math.imul(k, 3266489909);
|
|
320
|
+
k ^= k >>> 16;
|
|
321
|
+
return k >>> 0;
|
|
322
|
+
}
|
|
323
|
+
function murmurHash3_32(key, seed) {
|
|
324
|
+
let h1 = seed;
|
|
325
|
+
const c1 = 3432918353;
|
|
326
|
+
const c2 = 461845907;
|
|
327
|
+
for (let i = 0;i < key.length; i++) {
|
|
328
|
+
let k1 = key.charCodeAt(i);
|
|
329
|
+
k1 = Math.imul(k1, c1);
|
|
330
|
+
k1 = k1 << 15 | k1 >>> 17;
|
|
331
|
+
k1 = Math.imul(k1, c2);
|
|
332
|
+
h1 ^= k1;
|
|
333
|
+
h1 = h1 << 13 | h1 >>> 19;
|
|
334
|
+
h1 = Math.imul(h1, 5) + 3864292196;
|
|
335
|
+
}
|
|
336
|
+
h1 ^= key.length;
|
|
337
|
+
h1 ^= h1 >>> 16;
|
|
338
|
+
h1 = Math.imul(h1, 2246822507);
|
|
339
|
+
h1 ^= h1 >>> 13;
|
|
340
|
+
h1 = Math.imul(h1, 3266489909);
|
|
341
|
+
h1 ^= h1 >>> 16;
|
|
342
|
+
return h1 >>> 0;
|
|
343
|
+
}
|
|
344
|
+
function MinMPLookup_define_property(obj, key, value) {
|
|
345
|
+
if (key in obj)
|
|
346
|
+
Object.defineProperty(obj, key, {
|
|
347
|
+
value,
|
|
348
|
+
enumerable: true,
|
|
349
|
+
configurable: true,
|
|
350
|
+
writable: true
|
|
351
|
+
});
|
|
352
|
+
else
|
|
353
|
+
obj[key] = value;
|
|
354
|
+
return obj;
|
|
355
|
+
}
|
|
356
|
+
function deserializeLookupDict(data) {
|
|
357
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
358
|
+
let offset = 0;
|
|
359
|
+
const decoder = new TextDecoder;
|
|
360
|
+
const readU32 = () => {
|
|
361
|
+
const val = view.getUint32(offset, false);
|
|
362
|
+
offset += 4;
|
|
363
|
+
return val;
|
|
364
|
+
};
|
|
365
|
+
const mphLen = readU32();
|
|
366
|
+
const mmpHashDictBin = data.subarray(offset, offset + mphLen);
|
|
367
|
+
offset += mphLen;
|
|
368
|
+
const keysCount = readU32();
|
|
369
|
+
const keys = [];
|
|
370
|
+
for (let i = 0;i < keysCount; i++) {
|
|
371
|
+
const kLen = readU32();
|
|
372
|
+
const kBytes = data.subarray(offset, offset + kLen);
|
|
373
|
+
offset += kLen;
|
|
374
|
+
keys.push(decoder.decode(kBytes));
|
|
375
|
+
}
|
|
376
|
+
const sectionLen = readU32();
|
|
377
|
+
if (sectionLen === 4294967295) {
|
|
378
|
+
const bitsPerKey = readU32();
|
|
379
|
+
const dataLen = readU32();
|
|
380
|
+
const valueToKeyIndexes = data.subarray(offset, offset + dataLen);
|
|
381
|
+
offset += dataLen;
|
|
382
|
+
const colMapLen = readU32();
|
|
383
|
+
let collisionMap;
|
|
384
|
+
if (colMapLen > 0) {
|
|
385
|
+
const colBytes = data.subarray(offset, offset + colMapLen);
|
|
386
|
+
offset += colMapLen;
|
|
387
|
+
collisionMap = new Map;
|
|
388
|
+
let cOffset = 0;
|
|
389
|
+
const { value: count, bytes: b1 } = readVarInt(colBytes, cOffset);
|
|
390
|
+
cOffset += b1;
|
|
391
|
+
let prevHash = 0;
|
|
392
|
+
for (let i = 0;i < count; i++) {
|
|
393
|
+
const { value: deltaHash, bytes: b2 } = readVarInt(colBytes, cOffset);
|
|
394
|
+
cOffset += b2;
|
|
395
|
+
const h = prevHash + deltaHash;
|
|
396
|
+
prevHash = h;
|
|
397
|
+
const { value: kCount, bytes: b3 } = readVarInt(colBytes, cOffset);
|
|
398
|
+
cOffset += b3;
|
|
399
|
+
const kIndices = [];
|
|
400
|
+
let prevKey = 0;
|
|
401
|
+
for (let j = 0;j < kCount; j++) {
|
|
402
|
+
const { value: deltaKey, bytes: b4 } = readVarInt(colBytes, cOffset);
|
|
403
|
+
cOffset += b4;
|
|
404
|
+
const k = prevKey + deltaKey;
|
|
405
|
+
prevKey = k;
|
|
406
|
+
kIndices.push(k);
|
|
407
|
+
}
|
|
408
|
+
collisionMap.set(h, kIndices);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
return {
|
|
412
|
+
mmpHashDictBin,
|
|
413
|
+
keys,
|
|
414
|
+
valueToKeyIndexes,
|
|
415
|
+
bitsPerKey,
|
|
416
|
+
collisionMap
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
{
|
|
420
|
+
const hashBytesLen = sectionLen;
|
|
421
|
+
const hashBytes = data.subarray(offset, offset + hashBytesLen);
|
|
422
|
+
offset += hashBytesLen;
|
|
423
|
+
const keyToHashes = [];
|
|
424
|
+
let hOffset = 0;
|
|
425
|
+
for (let i = 0;i < keysCount; i++) {
|
|
426
|
+
const { value: count, bytes: b1 } = readVarInt(hashBytes, hOffset);
|
|
427
|
+
hOffset += b1;
|
|
428
|
+
if (count === 0) {
|
|
429
|
+
keyToHashes.push(new Uint32Array(0));
|
|
430
|
+
continue;
|
|
431
|
+
}
|
|
432
|
+
const bits = hashBytes[hOffset];
|
|
433
|
+
hOffset += 1;
|
|
434
|
+
const totalBits = bits * count;
|
|
435
|
+
const packedBytesLen = Math.ceil(totalBits / 8);
|
|
436
|
+
const packedData = hashBytes.subarray(hOffset, hOffset + packedBytesLen);
|
|
437
|
+
hOffset += packedBytesLen;
|
|
438
|
+
const br = new BitReader(packedData);
|
|
439
|
+
const hashes = new Uint32Array(count);
|
|
440
|
+
let prev = 0;
|
|
441
|
+
for (let j = 0;j < count; j++) {
|
|
442
|
+
const delta = br.read(bits);
|
|
443
|
+
prev += delta;
|
|
444
|
+
hashes[j] = prev;
|
|
445
|
+
}
|
|
446
|
+
keyToHashes.push(hashes);
|
|
447
|
+
}
|
|
448
|
+
return {
|
|
449
|
+
mmpHashDictBin,
|
|
450
|
+
keys,
|
|
451
|
+
keyToHashes
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
class MinMPLookup {
|
|
457
|
+
static async fromCompressed(data) {
|
|
458
|
+
const decompressed = await decompressIBinary(data);
|
|
459
|
+
const dict = deserializeLookupDict(decompressed);
|
|
460
|
+
return new MinMPLookup(dict);
|
|
461
|
+
}
|
|
462
|
+
static fromBinary(data) {
|
|
463
|
+
const dict = deserializeLookupDict(data);
|
|
464
|
+
return new MinMPLookup(dict);
|
|
465
|
+
}
|
|
466
|
+
buildInvertedIndex() {
|
|
467
|
+
if (!this.dict.keyToHashes)
|
|
468
|
+
return;
|
|
469
|
+
const n = this.mph.n;
|
|
470
|
+
this._invertedIndex = Array.from({
|
|
471
|
+
length: n
|
|
472
|
+
}, () => []);
|
|
473
|
+
for (let i = 0;i < this.dict.keys.length; i++) {
|
|
474
|
+
const hashes = this.dict.keyToHashes[i];
|
|
475
|
+
for (let j = 0;j < hashes.length; j++) {
|
|
476
|
+
const h = hashes[j];
|
|
477
|
+
if (h < n)
|
|
478
|
+
this._invertedIndex[h].push(i);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
query(value) {
|
|
483
|
+
if (this.dict.valueToKeyIndexes && this.dict.bitsPerKey) {
|
|
484
|
+
const h = this.mph.hash(value);
|
|
485
|
+
if (h < 0 || h >= this.mph.n)
|
|
486
|
+
return null;
|
|
487
|
+
const keyIdx = readBitsAt(this.dict.valueToKeyIndexes, h * this.dict.bitsPerKey, this.dict.bitsPerKey);
|
|
488
|
+
if (keyIdx === this.dict.keys.length) {
|
|
489
|
+
if (this.dict.collisionMap && this.dict.collisionMap.has(h)) {
|
|
490
|
+
const indices = this.dict.collisionMap.get(h);
|
|
491
|
+
return indices.length > 0 ? this.dict.keys[indices[0]] : null;
|
|
492
|
+
}
|
|
493
|
+
return null;
|
|
494
|
+
}
|
|
495
|
+
if (keyIdx >= this.dict.keys.length)
|
|
496
|
+
return null;
|
|
497
|
+
return this.dict.keys[keyIdx];
|
|
498
|
+
}
|
|
499
|
+
const keys = this.queryAll(value);
|
|
500
|
+
return keys && keys.length > 0 ? keys[0] : null;
|
|
501
|
+
}
|
|
502
|
+
queryAll(value) {
|
|
503
|
+
if (this.dict.valueToKeyIndexes && this.dict.bitsPerKey) {
|
|
504
|
+
const h = this.mph.hash(value);
|
|
505
|
+
if (h < 0 || h >= this.mph.n)
|
|
506
|
+
return null;
|
|
507
|
+
const keyIdx = readBitsAt(this.dict.valueToKeyIndexes, h * this.dict.bitsPerKey, this.dict.bitsPerKey);
|
|
508
|
+
if (keyIdx === this.dict.keys.length) {
|
|
509
|
+
if (this.dict.collisionMap && this.dict.collisionMap.has(h)) {
|
|
510
|
+
const indices = this.dict.collisionMap.get(h);
|
|
511
|
+
return indices.map((i) => this.dict.keys[i]);
|
|
512
|
+
}
|
|
513
|
+
return null;
|
|
514
|
+
}
|
|
515
|
+
if (keyIdx >= this.dict.keys.length)
|
|
516
|
+
return null;
|
|
517
|
+
return [
|
|
518
|
+
this.dict.keys[keyIdx]
|
|
519
|
+
];
|
|
520
|
+
}
|
|
521
|
+
const idx = this.mph.hash(value);
|
|
522
|
+
if (idx < 0 || !this._invertedIndex)
|
|
523
|
+
return null;
|
|
524
|
+
if (idx >= this._invertedIndex.length)
|
|
525
|
+
return null;
|
|
526
|
+
const keyIndices = this._invertedIndex[idx];
|
|
527
|
+
if (keyIndices.length === 0)
|
|
528
|
+
return null;
|
|
529
|
+
const results = [];
|
|
530
|
+
for (const keyIdx of keyIndices)
|
|
531
|
+
results.push(this.dict.keys[keyIdx]);
|
|
532
|
+
return results.length > 0 ? results : null;
|
|
533
|
+
}
|
|
534
|
+
keys() {
|
|
535
|
+
return this.dict.keys;
|
|
536
|
+
}
|
|
537
|
+
constructor(dict) {
|
|
538
|
+
MinMPLookup_define_property(this, "mph", undefined);
|
|
539
|
+
MinMPLookup_define_property(this, "dict", undefined);
|
|
540
|
+
MinMPLookup_define_property(this, "_invertedIndex", null);
|
|
541
|
+
if (dict instanceof Uint8Array)
|
|
542
|
+
dict = deserializeLookupDict(dict);
|
|
543
|
+
this.dict = dict;
|
|
544
|
+
this.mph = new MinMPHash(dict.mmpHashDictBin);
|
|
545
|
+
if (dict.keyToHashes)
|
|
546
|
+
this.buildInvertedIndex();
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
// scripts/core.ts
|
|
551
|
+
var GLOBAL_REGISTRY_KEY = "__HD_ICONS_REGISTRY__";
|
|
552
|
+
function getRegistry() {
|
|
553
|
+
if (typeof window !== "undefined") {
|
|
554
|
+
if (!window[GLOBAL_REGISTRY_KEY]) {
|
|
555
|
+
window[GLOBAL_REGISTRY_KEY] = new Map;
|
|
556
|
+
}
|
|
557
|
+
return window[GLOBAL_REGISTRY_KEY];
|
|
558
|
+
} else {
|
|
559
|
+
if (!globalThis[GLOBAL_REGISTRY_KEY]) {
|
|
560
|
+
globalThis[GLOBAL_REGISTRY_KEY] = new Map;
|
|
561
|
+
}
|
|
562
|
+
return globalThis[GLOBAL_REGISTRY_KEY];
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
function register(pkg, data) {
|
|
566
|
+
const registry = getRegistry();
|
|
567
|
+
if (!registry.has(pkg)) {
|
|
568
|
+
registry.set(pkg, {
|
|
569
|
+
lookupData: data.lookup,
|
|
570
|
+
baseUrl: data.baseUrl,
|
|
571
|
+
chunks: data.chunks
|
|
572
|
+
});
|
|
573
|
+
if (typeof window !== "undefined") {
|
|
574
|
+
window.dispatchEvent(new CustomEvent("hd-icon-registered", { detail: { pkg } }));
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
class HdIcon extends HTMLElement {
|
|
580
|
+
static get observedAttributes() {
|
|
581
|
+
return ["icon"];
|
|
582
|
+
}
|
|
583
|
+
_use;
|
|
584
|
+
constructor() {
|
|
585
|
+
super();
|
|
586
|
+
this.innerHTML = `<svg width="1em" height="1em" fill="currentColor" style="display: inline-block; vertical-align: middle; overflow: hidden;"><use width="100%" height="100%"></use></svg>`;
|
|
587
|
+
this._use = this.querySelector("use");
|
|
588
|
+
}
|
|
589
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
590
|
+
if (name === "icon" && newValue !== oldValue) {
|
|
591
|
+
this.render();
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
connectedCallback() {
|
|
595
|
+
this.render();
|
|
596
|
+
if (typeof window !== "undefined") {
|
|
597
|
+
window.addEventListener("hd-icon-registered", this.handleRegistration);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
disconnectedCallback() {
|
|
601
|
+
if (typeof window !== "undefined") {
|
|
602
|
+
window.removeEventListener("hd-icon-registered", this.handleRegistration);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
handleRegistration = (e) => {
|
|
606
|
+
const detail = e.detail;
|
|
607
|
+
const iconKey = this.getAttribute("icon");
|
|
608
|
+
if (iconKey && iconKey.startsWith(detail.pkg + ":")) {
|
|
609
|
+
this.render();
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
async render() {
|
|
613
|
+
const iconKey = this.getAttribute("icon");
|
|
614
|
+
if (!iconKey)
|
|
615
|
+
return;
|
|
616
|
+
const [pkg, name] = iconKey.split(":");
|
|
617
|
+
if (!pkg || !name) {
|
|
618
|
+
console.warn(`[hd-icon] Invalid icon format: "${iconKey}". Expected "pkg:name".`);
|
|
619
|
+
return;
|
|
620
|
+
}
|
|
621
|
+
const registry = getRegistry().get(pkg);
|
|
622
|
+
if (!registry) {
|
|
623
|
+
return;
|
|
624
|
+
}
|
|
625
|
+
if (!registry._lookupInstance) {
|
|
626
|
+
let lookupData = registry.lookupData;
|
|
627
|
+
if (typeof lookupData === "string") {
|
|
628
|
+
const binaryString = atob(lookupData);
|
|
629
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
630
|
+
for (let i = 0;i < binaryString.length; i++) {
|
|
631
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
632
|
+
}
|
|
633
|
+
lookupData = bytes;
|
|
634
|
+
registry.lookupData = lookupData;
|
|
635
|
+
}
|
|
636
|
+
registry._lookupInstance = new MinMPLookup(lookupData);
|
|
637
|
+
}
|
|
638
|
+
const chunkFile = registry._lookupInstance.query(name);
|
|
639
|
+
if (!chunkFile) {
|
|
640
|
+
console.warn(`[hd-icon] Icon "${name}" not found in package "${pkg}".`);
|
|
641
|
+
return;
|
|
642
|
+
}
|
|
643
|
+
const symbolId = `hd-icon-${pkg}-${name}`;
|
|
644
|
+
let url = chunkFile;
|
|
645
|
+
if (registry.chunks && registry.chunks[chunkFile]) {
|
|
646
|
+
url = registry.chunks[chunkFile];
|
|
647
|
+
} else if (registry.baseUrl) {
|
|
648
|
+
try {
|
|
649
|
+
url = new URL(chunkFile, registry.baseUrl).href;
|
|
650
|
+
} catch (e) {
|
|
651
|
+
console.warn(`[hd-icon] Failed to resolve icon URL: ${chunkFile} relative to ${registry.baseUrl}`, e);
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
this._use.setAttribute("href", `${url}#${symbolId}`);
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
if (typeof customElements !== "undefined" && !customElements.get("hd-icon")) {
|
|
658
|
+
customElements.define("hd-icon", HdIcon);
|
|
659
|
+
}
|
|
660
|
+
if (typeof window !== "undefined") {
|
|
661
|
+
window.IconPkg = { register, HdIcon };
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
// iconpkg/svg-spinners/src-index.ts
|
|
665
|
+
var lookup = "AAAAUIkYLgoaEr7LIkUzd0syQksFcJUDrNECAgMDAwJYLo/y3gyrWkuAzk0rSLzqD4WZ9V6KSKw5y8X7yY1W4m7Z5m5oBA3uCifzI16T4kZCAgEAAAAAAQAAABNzdmctc3Bpbm5lcnMtMDEuc3Zn/////wAAAAEAAAAGAAAAAAAAAAAAAA==";
|
|
666
|
+
var chunks = {
|
|
667
|
+
"svg-spinners-01.svg": new URL("./svg-spinners-01.svg", import.meta.url).href
|
|
668
|
+
};
|
|
669
|
+
register("svg-spinners", {
|
|
670
|
+
lookup,
|
|
671
|
+
chunks,
|
|
672
|
+
baseUrl: import.meta.url
|
|
673
|
+
});
|
|
674
|
+
export {
|
|
675
|
+
HdIcon
|
|
676
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol id="hd-icon-svg-spinners-12-dots-scale-rotate" viewBox="0 0 24 24"><g><circle cx="12" cy="3" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-687" attributeName="r" begin="0;hd-icon-svg-spinners-12-dots-scale-rotate-689.end-0.5s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="16.5" cy="4.21" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-688" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-687.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="7.5" cy="4.21" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-689" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-691.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="19.79" cy="7.5" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-690" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-688.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="4.21" cy="7.5" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-691" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-693.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="21" cy="12" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-692" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-690.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="3" cy="12" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-693" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-695.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="19.79" cy="16.5" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-694" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-692.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="4.21" cy="16.5" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-695" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-697.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="16.5" cy="19.79" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-696" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-694.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="7.5" cy="19.79" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-697" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-698.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><circle cx="12" cy="21" r="1" fill="currentColor"><animate id="hd-icon-svg-spinners-12-dots-scale-rotate-698" attributeName="r" begin="hd-icon-svg-spinners-12-dots-scale-rotate-696.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="1;2;1"/></circle><animateTransform attributeName="transform" dur="6s" repeatCount="indefinite" type="rotate" values="360 12 12;0 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-180-ring" viewBox="0 0 24 24"><path fill="currentColor" d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-180-ring-with-bg" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"/><path fill="currentColor" d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-270-ring" viewBox="0 0 24 24"><path fill="currentColor" d="M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-270-ring-with-bg" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"/><path fill="currentColor" d="M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-3-dots-bounce" viewBox="0 0 24 24"><circle cx="4" cy="12" r="3" fill="currentColor"><animate id="hd-icon-svg-spinners-3-dots-bounce-699" attributeName="cy" begin="0;hd-icon-svg-spinners-3-dots-bounce-700.end+0.25s" calcMode="spline" dur="0.6s" keySplines=".33,.66,.66,1;.33,0,.66,.33" values="12;6;12"/></circle><circle cx="12" cy="12" r="3" fill="currentColor"><animate attributeName="cy" begin="hd-icon-svg-spinners-3-dots-bounce-699.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".33,.66,.66,1;.33,0,.66,.33" values="12;6;12"/></circle><circle cx="20" cy="12" r="3" fill="currentColor"><animate id="hd-icon-svg-spinners-3-dots-bounce-700" attributeName="cy" begin="hd-icon-svg-spinners-3-dots-bounce-699.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".33,.66,.66,1;.33,0,.66,.33" values="12;6;12"/></circle></symbol><symbol id="hd-icon-svg-spinners-3-dots-fade" viewBox="0 0 24 24"><circle cx="4" cy="12" r="3" fill="currentColor"><animate id="hd-icon-svg-spinners-3-dots-fade-701" fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-3-dots-fade-702.end-0.25s" dur="0.75s" values="1;.2"/></circle><circle cx="12" cy="12" r="3" fill="currentColor" opacity=".4"><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-3-dots-fade-701.begin+0.15s" dur="0.75s" values="1;.2"/></circle><circle cx="20" cy="12" r="3" fill="currentColor" opacity=".3"><animate id="hd-icon-svg-spinners-3-dots-fade-702" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-3-dots-fade-701.begin+0.3s" dur="0.75s" values="1;.2"/></circle></symbol><symbol id="hd-icon-svg-spinners-3-dots-move" viewBox="0 0 24 24"><circle cx="4" cy="12" r="0" fill="currentColor"><animate fill="freeze" attributeName="r" begin="0;hd-icon-svg-spinners-3-dots-move-704.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="0;3"/><animate fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-710.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="4;12"/><animate fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-708.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="12;20"/><animate id="hd-icon-svg-spinners-3-dots-move-703" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-3-dots-move-706.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="3;0"/><animate id="hd-icon-svg-spinners-3-dots-move-704" fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-703.end" dur="0.001s" values="20;4"/></circle><circle cx="4" cy="12" r="3" fill="currentColor"><animate fill="freeze" attributeName="cx" begin="0;hd-icon-svg-spinners-3-dots-move-704.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="4;12"/><animate fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-710.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="12;20"/><animate id="hd-icon-svg-spinners-3-dots-move-705" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-3-dots-move-708.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="3;0"/><animate id="hd-icon-svg-spinners-3-dots-move-706" fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-705.end" dur="0.001s" values="20;4"/><animate fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-3-dots-move-706.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="0;3"/></circle><circle cx="12" cy="12" r="3" fill="currentColor"><animate fill="freeze" attributeName="cx" begin="0;hd-icon-svg-spinners-3-dots-move-704.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="12;20"/><animate id="hd-icon-svg-spinners-3-dots-move-707" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-3-dots-move-710.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="3;0"/><animate id="hd-icon-svg-spinners-3-dots-move-708" fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-707.end" dur="0.001s" values="20;4"/><animate fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-3-dots-move-708.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="0;3"/><animate fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-706.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="4;12"/></circle><circle cx="20" cy="12" r="3" fill="currentColor"><animate id="hd-icon-svg-spinners-3-dots-move-709" fill="freeze" attributeName="r" begin="0;hd-icon-svg-spinners-3-dots-move-704.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="3;0"/><animate id="hd-icon-svg-spinners-3-dots-move-710" fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-709.end" dur="0.001s" values="20;4"/><animate fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-3-dots-move-710.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="0;3"/><animate fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-708.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="4;12"/><animate fill="freeze" attributeName="cx" begin="hd-icon-svg-spinners-3-dots-move-706.end" calcMode="spline" dur="0.5s" keySplines=".36,.6,.31,1" values="12;20"/></circle></symbol><symbol id="hd-icon-svg-spinners-3-dots-rotate" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3" fill="currentColor"/><g><circle cx="4" cy="12" r="3" fill="currentColor"/><circle cx="20" cy="12" r="3" fill="currentColor"/><animateTransform attributeName="transform" calcMode="spline" dur="1s" keySplines=".36,.6,.31,1;.36,.6,.31,1" repeatCount="indefinite" type="rotate" values="0 12 12;180 12 12;360 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-3-dots-scale" viewBox="0 0 24 24"><circle cx="4" cy="12" r="3" fill="currentColor"><animate id="hd-icon-svg-spinners-3-dots-scale-711" attributeName="r" begin="0;hd-icon-svg-spinners-3-dots-scale-712.end-0.25s" dur="0.75s" values="3;.2;3"/></circle><circle cx="12" cy="12" r="3" fill="currentColor"><animate attributeName="r" begin="hd-icon-svg-spinners-3-dots-scale-711.end-0.6s" dur="0.75s" values="3;.2;3"/></circle><circle cx="20" cy="12" r="3" fill="currentColor"><animate id="hd-icon-svg-spinners-3-dots-scale-712" attributeName="r" begin="hd-icon-svg-spinners-3-dots-scale-711.end-0.45s" dur="0.75s" values="3;.2;3"/></circle></symbol><symbol id="hd-icon-svg-spinners-3-dots-scale-middle" viewBox="0 0 24 24"><circle cx="4" cy="12" r="1.5" fill="currentColor"><animate attributeName="r" dur="0.75s" repeatCount="indefinite" values="1.5;3;1.5"/></circle><circle cx="12" cy="12" r="3" fill="currentColor"><animate attributeName="r" dur="0.75s" repeatCount="indefinite" values="3;1.5;3"/></circle><circle cx="20" cy="12" r="1.5" fill="currentColor"><animate attributeName="r" dur="0.75s" repeatCount="indefinite" values="1.5;3;1.5"/></circle></symbol><symbol id="hd-icon-svg-spinners-6-dots-rotate" viewBox="0 0 24 24"><g><circle cx="12" cy="2.5" r="1.5" fill="currentColor" opacity=".14"/><circle cx="16.75" cy="3.77" r="1.5" fill="currentColor" opacity=".29"/><circle cx="20.23" cy="7.25" r="1.5" fill="currentColor" opacity=".43"/><circle cx="21.5" cy="12" r="1.5" fill="currentColor" opacity=".57"/><circle cx="20.23" cy="16.75" r="1.5" fill="currentColor" opacity=".71"/><circle cx="16.75" cy="20.23" r="1.5" fill="currentColor" opacity=".86"/><circle cx="12" cy="21.5" r="1.5" fill="currentColor"/><animateTransform attributeName="transform" calcMode="discrete" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-6-dots-scale" viewBox="0 0 24 24"><circle cx="12" cy="3" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-713" fill="freeze" attributeName="r" begin="0;hd-icon-svg-spinners-6-dots-scale-715.end-0.5s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="16.5" cy="4.21" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-714" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-713.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="7.5" cy="4.21" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-715" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-717.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="19.79" cy="7.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-716" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-714.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="4.21" cy="7.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-717" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-719.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="21" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-718" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-716.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="3" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-719" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-721.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="19.79" cy="16.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-720" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-718.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="4.21" cy="16.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-721" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-723.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="16.5" cy="19.79" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-722" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-720.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="7.5" cy="19.79" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-723" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-724.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle><circle cx="12" cy="21" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-724" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-722.begin+0.1s" calcMode="spline" dur="0.6s" keySplines="0,1,0,1;.53,0,.61,.73" keyTimes="0;.2;1" values="0;2;0"/></circle></symbol><symbol id="hd-icon-svg-spinners-6-dots-scale-middle" viewBox="0 0 24 24"><circle cx="12" cy="3" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-725" attributeName="r" begin="0;hd-icon-svg-spinners-6-dots-scale-middle-727.end-0.5s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="16.5" cy="4.21" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-726" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-725.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="7.5" cy="4.21" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-727" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-729.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="19.79" cy="7.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-728" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-726.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="4.21" cy="7.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-729" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-731.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="21" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-730" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-728.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="3" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-731" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-733.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="19.79" cy="16.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-732" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-730.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="4.21" cy="16.5" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-733" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-735.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="16.5" cy="19.79" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-734" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-732.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="7.5" cy="19.79" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-735" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-736.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle><circle cx="12" cy="21" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-6-dots-scale-middle-736" attributeName="r" begin="hd-icon-svg-spinners-6-dots-scale-middle-734.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".27,.42,.37,.99;.53,0,.61,.73" values="0;2;0"/></circle></symbol><symbol id="hd-icon-svg-spinners-8-dots-rotate" viewBox="0 0 24 24"><g><circle cx="3" cy="12" r="2" fill="currentColor"/><circle cx="21" cy="12" r="2" fill="currentColor"/><circle cx="12" cy="21" r="2" fill="currentColor"/><circle cx="12" cy="3" r="2" fill="currentColor"/><circle cx="5.64" cy="5.64" r="2" fill="currentColor"/><circle cx="18.36" cy="18.36" r="2" fill="currentColor"/><circle cx="5.64" cy="18.36" r="2" fill="currentColor"/><circle cx="18.36" cy="5.64" r="2" fill="currentColor"/><animateTransform attributeName="transform" dur="1.5s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-90-ring" viewBox="0 0 24 24"><path fill="currentColor" d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-90-ring-with-bg" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"/><path fill="currentColor" d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-bars-fade" viewBox="0 0 24 24"><rect width="6" height="14" x="1" y="4" fill="currentColor"><animate id="hd-icon-svg-spinners-bars-fade-737" fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-bars-fade-738.end-0.25s" dur="0.75s" values="1;.2"/></rect><rect width="6" height="14" x="9" y="4" fill="currentColor" opacity=".4"><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-bars-fade-737.begin+0.15s" dur="0.75s" values="1;.2"/></rect><rect width="6" height="14" x="17" y="4" fill="currentColor" opacity=".3"><animate id="hd-icon-svg-spinners-bars-fade-738" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-bars-fade-737.begin+0.3s" dur="0.75s" values="1;.2"/></rect></symbol><symbol id="hd-icon-svg-spinners-bars-rotate-fade" viewBox="0 0 24 24"><g><rect width="2" height="5" x="11" y="1" fill="currentColor" opacity=".14"/><rect width="2" height="5" x="11" y="1" fill="currentColor" opacity=".29" transform="rotate(30 12 12)"/><rect width="2" height="5" x="11" y="1" fill="currentColor" opacity=".43" transform="rotate(60 12 12)"/><rect width="2" height="5" x="11" y="1" fill="currentColor" opacity=".57" transform="rotate(90 12 12)"/><rect width="2" height="5" x="11" y="1" fill="currentColor" opacity=".71" transform="rotate(120 12 12)"/><rect width="2" height="5" x="11" y="1" fill="currentColor" opacity=".86" transform="rotate(150 12 12)"/><rect width="2" height="5" x="11" y="1" fill="currentColor" transform="rotate(180 12 12)"/><animateTransform attributeName="transform" calcMode="discrete" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-bars-scale" viewBox="0 0 24 24"><rect width="2.8" height="12" x="1" y="6" fill="currentColor"><animate id="hd-icon-svg-spinners-bars-scale-739" attributeName="y" begin="0;hd-icon-svg-spinners-bars-scale-740.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="6;1;6"/><animate attributeName="height" begin="0;hd-icon-svg-spinners-bars-scale-740.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="12;22;12"/></rect><rect width="2.8" height="12" x="5.8" y="6" fill="currentColor"><animate attributeName="y" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.1s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="12;22;12"/></rect><rect width="2.8" height="12" x="10.6" y="6" fill="currentColor"><animate attributeName="y" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="12;22;12"/></rect><rect width="2.8" height="12" x="15.4" y="6" fill="currentColor"><animate attributeName="y" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.3s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.3s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="12;22;12"/></rect><rect width="2.8" height="12" x="20.2" y="6" fill="currentColor"><animate id="hd-icon-svg-spinners-bars-scale-740" attributeName="y" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-739.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".36,.61,.3,.98;.36,.61,.3,.98" values="12;22;12"/></rect></symbol><symbol id="hd-icon-svg-spinners-bars-scale-fade" viewBox="0 0 24 24"><rect width="6" height="14" x="1" y="4" fill="currentColor"><animate id="hd-icon-svg-spinners-bars-scale-fade-741" fill="freeze" attributeName="y" begin="0;hd-icon-svg-spinners-bars-scale-fade-742.end-0.25s" dur="0.75s" values="1;5"/><animate fill="freeze" attributeName="height" begin="0;hd-icon-svg-spinners-bars-scale-fade-742.end-0.25s" dur="0.75s" values="22;14"/><animate fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-bars-scale-fade-742.end-0.25s" dur="0.75s" values="1;.2"/></rect><rect width="6" height="14" x="9" y="4" fill="currentColor" opacity=".4"><animate fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-bars-scale-fade-741.begin+0.15s" dur="0.75s" values="1;5"/><animate fill="freeze" attributeName="height" begin="hd-icon-svg-spinners-bars-scale-fade-741.begin+0.15s" dur="0.75s" values="22;14"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-bars-scale-fade-741.begin+0.15s" dur="0.75s" values="1;.2"/></rect><rect width="6" height="14" x="17" y="4" fill="currentColor" opacity=".3"><animate id="hd-icon-svg-spinners-bars-scale-fade-742" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-bars-scale-fade-741.begin+0.3s" dur="0.75s" values="1;5"/><animate fill="freeze" attributeName="height" begin="hd-icon-svg-spinners-bars-scale-fade-741.begin+0.3s" dur="0.75s" values="22;14"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-bars-scale-fade-741.begin+0.3s" dur="0.75s" values="1;.2"/></rect></symbol><symbol id="hd-icon-svg-spinners-bars-scale-middle" viewBox="0 0 24 24"><rect width="2.8" height="12" x="1" y="6" fill="currentColor"><animate attributeName="y" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="5.8" y="6" fill="currentColor"><animate attributeName="y" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="10.6" y="6" fill="currentColor"><animate id="hd-icon-svg-spinners-bars-scale-middle-743" attributeName="y" begin="0;hd-icon-svg-spinners-bars-scale-middle-744.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="0;hd-icon-svg-spinners-bars-scale-middle-744.end-0.1s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="15.4" y="6" fill="currentColor"><animate attributeName="y" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.2s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect><rect width="2.8" height="12" x="20.2" y="6" fill="currentColor"><animate id="hd-icon-svg-spinners-bars-scale-middle-744" attributeName="y" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="6;1;6"/><animate attributeName="height" begin="hd-icon-svg-spinners-bars-scale-middle-743.begin+0.4s" calcMode="spline" dur="0.6s" keySplines=".14,.73,.34,1;.65,.26,.82,.45" values="12;22;12"/></rect></symbol><symbol id="hd-icon-svg-spinners-blocks-scale" viewBox="0 0 24 24"><rect width="9" height="9" x="1.5" y="1.5" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-scale-745" attributeName="x" begin="0;hd-icon-svg-spinners-blocks-scale-746.end+0.15s" dur="0.6s" keyTimes="0;.2;1" values="1.5;.5;1.5"/><animate attributeName="y" begin="0;hd-icon-svg-spinners-blocks-scale-746.end+0.15s" dur="0.6s" keyTimes="0;.2;1" values="1.5;.5;1.5"/><animate attributeName="width" begin="0;hd-icon-svg-spinners-blocks-scale-746.end+0.15s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/><animate attributeName="height" begin="0;hd-icon-svg-spinners-blocks-scale-746.end+0.15s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/></rect><rect width="9" height="9" x="13.5" y="1.5" fill="currentColor" rx="1"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.15s" dur="0.6s" keyTimes="0;.2;1" values="13.5;12.5;13.5"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.15s" dur="0.6s" keyTimes="0;.2;1" values="1.5;.5;1.5"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.15s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.15s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/></rect><rect width="9" height="9" x="13.5" y="13.5" fill="currentColor" rx="1"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.3s" dur="0.6s" keyTimes="0;.2;1" values="13.5;12.5;13.5"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.3s" dur="0.6s" keyTimes="0;.2;1" values="13.5;12.5;13.5"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.3s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.3s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/></rect><rect width="9" height="9" x="1.5" y="13.5" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-scale-746" attributeName="x" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.45s" dur="0.6s" keyTimes="0;.2;1" values="1.5;.5;1.5"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.45s" dur="0.6s" keyTimes="0;.2;1" values="13.5;12.5;13.5"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.45s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-scale-745.begin+0.45s" dur="0.6s" keyTimes="0;.2;1" values="9;11;9"/></rect></symbol><symbol id="hd-icon-svg-spinners-blocks-shuffle-2" viewBox="0 0 24 24"><rect width="10" height="10" x="1" y="1" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-shuffle-2-747" fill="freeze" attributeName="x" begin="0;hd-icon-svg-spinners-blocks-shuffle-2-754.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-2-748" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-2-751.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-2-749" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-2-752.end" dur="0.2s" values="13;1"/><animate id="hd-icon-svg-spinners-blocks-shuffle-2-750" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-2-753.end" dur="0.2s" values="13;1"/></rect><rect width="10" height="10" x="1" y="13" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-shuffle-2-751" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-2-747.end" dur="0.2s" values="13;1"/><animate id="hd-icon-svg-spinners-blocks-shuffle-2-752" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-2-748.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-2-753" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-2-749.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-2-754" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-2-750.end" dur="0.2s" values="13;1"/></rect></symbol><symbol id="hd-icon-svg-spinners-blocks-shuffle-3" viewBox="0 0 24 24"><rect width="10" height="10" x="1" y="1" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-shuffle-3-755" fill="freeze" attributeName="x" begin="0;hd-icon-svg-spinners-blocks-shuffle-3-766.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-756" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-3-763.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-757" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-3-764.end" dur="0.2s" values="13;1"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-758" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-3-765.end" dur="0.2s" values="13;1"/></rect><rect width="10" height="10" x="1" y="13" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-shuffle-3-759" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-3-755.end" dur="0.2s" values="13;1"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-760" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-3-756.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-761" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-3-757.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-762" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-3-758.end" dur="0.2s" values="13;1"/></rect><rect width="10" height="10" x="13" y="13" fill="currentColor" rx="1"><animate id="hd-icon-svg-spinners-blocks-shuffle-3-763" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-3-759.end" dur="0.2s" values="13;1"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-764" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-3-760.end" dur="0.2s" values="13;1"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-765" fill="freeze" attributeName="x" begin="hd-icon-svg-spinners-blocks-shuffle-3-761.end" dur="0.2s" values="1;13"/><animate id="hd-icon-svg-spinners-blocks-shuffle-3-766" fill="freeze" attributeName="y" begin="hd-icon-svg-spinners-blocks-shuffle-3-762.end" dur="0.2s" values="1;13"/></rect></symbol><symbol id="hd-icon-svg-spinners-blocks-wave" viewBox="0 0 24 24"><rect width="7.33" height="7.33" x="1" y="1" fill="currentColor"><animate id="hd-icon-svg-spinners-blocks-wave-767" attributeName="x" begin="0;hd-icon-svg-spinners-blocks-wave-768.end+0.2s" dur="0.6s" values="1;4;1"/><animate attributeName="y" begin="0;hd-icon-svg-spinners-blocks-wave-768.end+0.2s" dur="0.6s" values="1;4;1"/><animate attributeName="width" begin="0;hd-icon-svg-spinners-blocks-wave-768.end+0.2s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="0;hd-icon-svg-spinners-blocks-wave-768.end+0.2s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="8.33" y="1" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="8.33;11.33;8.33"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="1;4;1"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="1" y="8.33" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="1;4;1"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="8.33;11.33;8.33"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.1s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="15.66" y="1" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="15.66;18.66;15.66"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="1;4;1"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="8.33" y="8.33" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="8.33;11.33;8.33"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="8.33;11.33;8.33"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="1" y="15.66" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="1;4;1"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="15.66;18.66;15.66"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.2s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="15.66" y="8.33" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="15.66;18.66;15.66"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="8.33;11.33;8.33"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="8.33" y="15.66" fill="currentColor"><animate attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="8.33;11.33;8.33"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="15.66;18.66;15.66"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.3s" dur="0.6s" values="7.33;1.33;7.33"/></rect><rect width="7.33" height="7.33" x="15.66" y="15.66" fill="currentColor"><animate id="hd-icon-svg-spinners-blocks-wave-768" attributeName="x" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.4s" dur="0.6s" values="15.66;18.66;15.66"/><animate attributeName="y" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.4s" dur="0.6s" values="15.66;18.66;15.66"/><animate attributeName="width" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.4s" dur="0.6s" values="7.33;1.33;7.33"/><animate attributeName="height" begin="hd-icon-svg-spinners-blocks-wave-767.begin+0.4s" dur="0.6s" values="7.33;1.33;7.33"/></rect></symbol><symbol id="hd-icon-svg-spinners-bouncing-ball" viewBox="0 0 24 24"><ellipse cx="12" cy="5" fill="currentColor" rx="4" ry="4"><animate id="hd-icon-svg-spinners-bouncing-ball-769" fill="freeze" attributeName="cy" begin="0;hd-icon-svg-spinners-bouncing-ball-771.end" calcMode="spline" dur="0.375s" keySplines=".33,0,.66,.33" values="5;20"/><animate attributeName="rx" begin="hd-icon-svg-spinners-bouncing-ball-769.end" calcMode="spline" dur="0.05s" keySplines=".33,0,.66,.33;.33,.66,.66,1" values="4;4.8;4"/><animate attributeName="ry" begin="hd-icon-svg-spinners-bouncing-ball-769.end" calcMode="spline" dur="0.05s" keySplines=".33,0,.66,.33;.33,.66,.66,1" values="4;3;4"/><animate id="hd-icon-svg-spinners-bouncing-ball-770" attributeName="cy" begin="hd-icon-svg-spinners-bouncing-ball-769.end" calcMode="spline" dur="0.025s" keySplines=".33,0,.66,.33" values="20;20.5"/><animate id="hd-icon-svg-spinners-bouncing-ball-771" attributeName="cy" begin="hd-icon-svg-spinners-bouncing-ball-770.end" calcMode="spline" dur="0.4s" keySplines=".33,.66,.66,1" values="20.5;5"/></ellipse></symbol><symbol id="hd-icon-svg-spinners-clock" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z"/><rect width="2" height="7" x="11" y="6" fill="currentColor" rx="1"><animateTransform attributeName="transform" dur="9s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></rect><rect width="2" height="9" x="11" y="11" fill="currentColor" rx="1"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></rect></symbol><symbol id="hd-icon-svg-spinners-dot-revolve" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"/><circle cx="12" cy="2.5" r="1.5" fill="currentColor"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></circle></symbol><symbol id="hd-icon-svg-spinners-eclipse" viewBox="0 0 24 24"><path fill="currentColor" d="M2,12A11.2,11.2,0,0,1,13,1.05C12.67,1,12.34,1,12,1a11,11,0,0,0,0,22c.34,0,.67,0,1-.05C6,23,2,17.74,2,12Z"><animateTransform attributeName="transform" dur="0.6s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-eclipse-half" viewBox="0 0 24 24"><path fill="currentColor" d="M2,12A10.94,10.94,0,0,1,5,4.65c-.21-.19-.42-.36-.62-.55h0A11,11,0,0,0,12,23c.34,0,.67,0,1-.05C6,23,2,17.74,2,12Z"><animateTransform attributeName="transform" dur="0.6s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-gooey-balls-1" viewBox="0 0 24 24"><defs><filter id="hd-icon-svg-spinners-gooey-balls-1-772"><feGaussianBlur in="SourceGraphic" result="y" stdDeviation="1.5"/><feColorMatrix in="y" result="z" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"/><feBlend in="SourceGraphic" in2="z"/></filter></defs><g fill="currentColor" filter="url(#hd-icon-svg-spinners-gooey-balls-1-772)"><circle cx="4" cy="12" r="3"><animate attributeName="cx" calcMode="spline" dur="0.75s" keySplines=".56,.52,.17,.98;.56,.52,.17,.98" repeatCount="indefinite" values="4;9;4"/><animate attributeName="r" calcMode="spline" dur="0.75s" keySplines=".56,.52,.17,.98;.56,.52,.17,.98" repeatCount="indefinite" values="3;8;3"/></circle><circle cx="15" cy="12" r="8"><animate attributeName="cx" calcMode="spline" dur="0.75s" keySplines=".56,.52,.17,.98;.56,.52,.17,.98" repeatCount="indefinite" values="15;20;15"/><animate attributeName="r" calcMode="spline" dur="0.75s" keySplines=".56,.52,.17,.98;.56,.52,.17,.98" repeatCount="indefinite" values="8;3;8"/></circle></g></symbol><symbol id="hd-icon-svg-spinners-gooey-balls-2" viewBox="0 0 24 24"><defs><filter id="hd-icon-svg-spinners-gooey-balls-2-773"><feGaussianBlur in="SourceGraphic" result="y" stdDeviation="1"/><feColorMatrix in="y" result="z" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"/><feBlend in="SourceGraphic" in2="z"/></filter></defs><g filter="url(#hd-icon-svg-spinners-gooey-balls-2-773)"><circle cx="5" cy="12" r="4" fill="currentColor"><animate attributeName="cx" calcMode="spline" dur="2s" keySplines=".36,.62,.43,.99;.79,0,.58,.57" repeatCount="indefinite" values="5;8;5"/></circle><circle cx="19" cy="12" r="4" fill="currentColor"><animate attributeName="cx" calcMode="spline" dur="2s" keySplines=".36,.62,.43,.99;.79,0,.58,.57" repeatCount="indefinite" values="19;16;19"/></circle><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-pulse" viewBox="0 0 24 24"><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" repeatCount="indefinite" values="0;11"/><animate attributeName="opacity" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" repeatCount="indefinite" values="1;0"/></circle></symbol><symbol id="hd-icon-svg-spinners-pulse-2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-2-774" fill="freeze" attributeName="r" begin="0;hd-icon-svg-spinners-pulse-2-775.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-pulse-2-775.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-2-775" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-pulse-2-774.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-pulse-2-774.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle></symbol><symbol id="hd-icon-svg-spinners-pulse-3" viewBox="0 0 24 24"><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-3-776" fill="freeze" attributeName="r" begin="0;hd-icon-svg-spinners-pulse-3-778.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-pulse-3-778.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-3-777" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-pulse-3-776.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-pulse-3-776.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-3-778" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-pulse-3-776.begin+0.8s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-pulse-3-776.begin+0.8s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle></symbol><symbol id="hd-icon-svg-spinners-pulse-multiple" viewBox="0 0 24 24"><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-multiple-779" fill="freeze" attributeName="r" begin="0;hd-icon-svg-spinners-pulse-multiple-781.end" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-pulse-multiple-781.end" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-multiple-780" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-pulse-multiple-779.begin+0.2s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-pulse-multiple-779.begin+0.2s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate id="hd-icon-svg-spinners-pulse-multiple-781" fill="freeze" attributeName="r" begin="hd-icon-svg-spinners-pulse-multiple-779.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="0;11"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-pulse-multiple-779.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></circle></symbol><symbol id="hd-icon-svg-spinners-pulse-ring" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform attributeName="transform" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" repeatCount="indefinite" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" repeatCount="indefinite" type="scale" values="0;1"/><animate attributeName="opacity" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" repeatCount="indefinite" values="1;0"/></path></symbol><symbol id="hd-icon-svg-spinners-pulse-rings-2" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-2-782" attributeName="transform" begin="0;hd-icon-svg-spinners-pulse-rings-2-783.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="0;hd-icon-svg-spinners-pulse-rings-2-783.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="0;hd-icon-svg-spinners-pulse-rings-2-783.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-2-783" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-2-782.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-2-782.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="hd-icon-svg-spinners-pulse-rings-2-782.begin+0.6s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path></symbol><symbol id="hd-icon-svg-spinners-pulse-rings-3" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-3-784" attributeName="transform" begin="0;hd-icon-svg-spinners-pulse-rings-3-786.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="0;hd-icon-svg-spinners-pulse-rings-3-786.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="0;hd-icon-svg-spinners-pulse-rings-3-786.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-3-785" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-3-784.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-3-784.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="hd-icon-svg-spinners-pulse-rings-3-784.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-3-786" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-3-784.begin+0.8s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-3-784.begin+0.8s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="hd-icon-svg-spinners-pulse-rings-3-784.begin+0.8s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path></symbol><symbol id="hd-icon-svg-spinners-pulse-rings-multiple" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-multiple-787" attributeName="transform" begin="0;hd-icon-svg-spinners-pulse-rings-multiple-789.end" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="0;hd-icon-svg-spinners-pulse-rings-multiple-789.end" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="0;hd-icon-svg-spinners-pulse-rings-multiple-789.end" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-multiple-788" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-multiple-787.begin+0.2s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-multiple-787.begin+0.2s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="hd-icon-svg-spinners-pulse-rings-multiple-787.begin+0.2s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path><path fill="currentColor" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,20a9,9,0,1,1,9-9A9,9,0,0,1,12,21Z" transform="matrix(0 0 0 0 12 12)"><animateTransform id="hd-icon-svg-spinners-pulse-rings-multiple-789" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-multiple-787.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="translate" values="12 12;0 0"/><animateTransform additive="sum" attributeName="transform" begin="hd-icon-svg-spinners-pulse-rings-multiple-787.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" type="scale" values="0;1"/><animate attributeName="opacity" begin="hd-icon-svg-spinners-pulse-rings-multiple-787.begin+0.4s" calcMode="spline" dur="1.2s" keySplines=".52,.6,.25,.99" values="1;0"/></path></symbol><symbol id="hd-icon-svg-spinners-ring-resize" viewBox="0 0 24 24"><g stroke="currentColor"><circle cx="12" cy="12" r="9.5" fill="none" stroke-linecap="round" stroke-width="3"><animate attributeName="stroke-dasharray" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0 150;42 150;42 150;42 150"/><animate attributeName="stroke-dashoffset" calcMode="spline" dur="1.5s" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" keyTimes="0;0.475;0.95;1" repeatCount="indefinite" values="0;-16;-59;-59"/></circle><animateTransform attributeName="transform" dur="2s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></g></symbol><symbol id="hd-icon-svg-spinners-tadpole" viewBox="0 0 24 24"><path fill="currentColor" d="M12,23a9.63,9.63,0,0,1-8-9.5,9.51,9.51,0,0,1,6.79-9.1A1.66,1.66,0,0,0,12,2.81h0a1.67,1.67,0,0,0-1.94-1.64A11,11,0,0,0,12,23Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol><symbol id="hd-icon-svg-spinners-wifi" viewBox="0 0 24 24"><path fill="currentColor" d="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21" opacity="0"><animate id="hd-icon-svg-spinners-wifi-790" fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-wifi-791.end+0.2s" calcMode="discrete" dur="0.25s" values="0;1"/><animate id="hd-icon-svg-spinners-wifi-791" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-793.end+0.5s" dur="0.001s" values="1;0"/></path><path fill="currentColor" d="M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z" opacity="0"><animate id="hd-icon-svg-spinners-wifi-792" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-790.end" calcMode="discrete" dur="0.25s" values="0;1"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-793.end+0.5s" dur="0.001s" values="1;0"/></path><path fill="currentColor" d="M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3" opacity="0"><animate id="hd-icon-svg-spinners-wifi-793" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-792.end" calcMode="discrete" dur="0.25s" values="0;1"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-793.end+0.5s" dur="0.001s" values="1;0"/></path></symbol><symbol id="hd-icon-svg-spinners-wifi-fade" viewBox="0 0 24 24"><path fill="currentColor" d="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21" opacity="0"><animate id="hd-icon-svg-spinners-wifi-fade-794" fill="freeze" attributeName="opacity" begin="0;hd-icon-svg-spinners-wifi-fade-795.end+0.2s" dur="0.25s" values="0;1"/><animate id="hd-icon-svg-spinners-wifi-fade-795" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-fade-797.end+0.5s" dur="0.1s" values="1;0"/></path><path fill="currentColor" d="M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z" opacity="0"><animate id="hd-icon-svg-spinners-wifi-fade-796" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-fade-794.end" dur="0.25s" values="0;1"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-fade-797.end+0.5s" dur="0.1s" values="1;0"/></path><path fill="currentColor" d="M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3" opacity="0"><animate id="hd-icon-svg-spinners-wifi-fade-797" fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-fade-796.end" dur="0.25s" values="0;1"/><animate fill="freeze" attributeName="opacity" begin="hd-icon-svg-spinners-wifi-fade-797.end+0.5s" dur="0.1s" values="1;0"/></path></symbol><symbol id="hd-icon-svg-spinners-wind-toy" viewBox="0 0 24 24"><path fill="currentColor" d="M20.27,4.74a4.93,4.93,0,0,1,1.52,4.61,5.32,5.32,0,0,1-4.1,4.51,5.12,5.12,0,0,1-5.2-1.5,5.53,5.53,0,0,0,6.13-1.48A5.66,5.66,0,0,0,20.27,4.74ZM12.32,11.53a5.49,5.49,0,0,0-1.47-6.2A5.57,5.57,0,0,0,4.71,3.72,5.17,5.17,0,0,1,9.53,2.2,5.52,5.52,0,0,1,13.9,6.45,5.28,5.28,0,0,1,12.32,11.53ZM19.2,20.29a4.92,4.92,0,0,1-4.72,1.49,5.32,5.32,0,0,1-4.34-4.05A5.2,5.2,0,0,1,11.6,12.5a5.6,5.6,0,0,0,1.51,6.13A5.63,5.63,0,0,0,19.2,20.29ZM3.79,19.38A5.18,5.18,0,0,1,2.32,14a5.3,5.3,0,0,1,4.59-4,5,5,0,0,1,4.58,1.61,5.55,5.55,0,0,0-6.32,1.69A5.46,5.46,0,0,0,3.79,19.38ZM12.23,12a5.11,5.11,0,0,0,3.66-5,5.75,5.75,0,0,0-3.18-6,5,5,0,0,1,4.42,2.3,5.21,5.21,0,0,1,.24,5.92A5.4,5.4,0,0,1,12.23,12ZM11.76,12a5.18,5.18,0,0,0-3.68,5.09,5.58,5.58,0,0,0,3.19,5.79c-1,.35-2.9-.46-4-1.68A5.51,5.51,0,0,1,11.76,12ZM23,12.63a5.07,5.07,0,0,1-2.35,4.52,5.23,5.23,0,0,1-5.91.2,5.24,5.24,0,0,1-2.67-4.77,5.51,5.51,0,0,0,5.45,3.33A5.52,5.52,0,0,0,23,12.63ZM1,11.23a5,5,0,0,1,2.49-4.5,5.23,5.23,0,0,1,5.81-.06,5.3,5.3,0,0,1,2.61,4.74A5.56,5.56,0,0,0,6.56,8.06,5.71,5.71,0,0,0,1,11.23Z"><animateTransform attributeName="transform" dur="1.5s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></symbol></svg>
|