@campnetwork/origin 0.0.16 → 1.0.0-alpha.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.
@@ -104,11 +104,33 @@ const testnet = {
104
104
  },
105
105
  },
106
106
  };
107
+ const mainnet = {
108
+ id: 484,
109
+ name: "Camp Network",
110
+ nativeCurrency: {
111
+ decimals: 18,
112
+ name: "Camp",
113
+ symbol: "CAMP",
114
+ },
115
+ rpcUrls: {
116
+ default: {
117
+ http: ["https://rpc.camp.raas.gelato.cloud/"],
118
+ },
119
+ },
120
+ blockExplorers: {
121
+ default: {
122
+ name: "Explorer",
123
+ url: "https://camp.cloud.blockscout.com/",
124
+ },
125
+ },
126
+ };
107
127
 
108
128
  // @ts-ignore
109
129
  let client = null;
110
130
  let publicClient = null;
111
- const getClient = (provider, name = "window.ethereum", address) => {
131
+ const getClient = (provider, name = "window.ethereum",
132
+ // chain: "mainnet" | "testnet" = "testnet",
133
+ chain, address) => {
112
134
  var _a;
113
135
  if (!provider && !client) {
114
136
  console.warn("Provider is required to create a client.");
@@ -118,7 +140,8 @@ const getClient = (provider, name = "window.ethereum", address) => {
118
140
  (client.transport.name !== name && provider) ||
119
141
  (address !== ((_a = client.account) === null || _a === void 0 ? void 0 : _a.address) && provider)) {
120
142
  const obj = {
121
- chain: testnet,
143
+ // chain: chain === "mainnet" ? mainnet : testnet,
144
+ chain: chain || testnet,
122
145
  transport: custom(provider, {
123
146
  name: name,
124
147
  }),
@@ -140,118 +163,7 @@ const getPublicClient = () => {
140
163
  return publicClient;
141
164
  };
142
165
 
143
- var constants = {
144
- SIWE_MESSAGE_STATEMENT: "Connect with Camp Network",
145
- AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
146
- ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
147
- SUPPORTED_IMAGE_FORMATS: [
148
- "image/jpeg",
149
- "image/png",
150
- "image/gif",
151
- "image/webp",
152
- ],
153
- SUPPORTED_VIDEO_FORMATS: ["video/mp4", "video/webm"],
154
- SUPPORTED_AUDIO_FORMATS: ["audio/mpeg", "audio/wav", "audio/ogg"],
155
- SUPPORTED_TEXT_FORMATS: ["text/plain"],
156
- AVAILABLE_SOCIALS: ["twitter", "spotify", "tiktok"],
157
- ACKEE_INSTANCE: "https://ackee-production-01bd.up.railway.app",
158
- ACKEE_EVENTS: {
159
- USER_CONNECTED: "ed42542d-b676-4112-b6d9-6db98048b2e0",
160
- USER_DISCONNECTED: "20af31ac-e602-442e-9e0e-b589f4dd4016",
161
- TWITTER_LINKED: "7fbea086-90ef-4679-ba69-f47f9255b34c",
162
- DISCORD_LINKED: "d73f5ae3-a8e8-48f2-8532-85e0c7780d6a",
163
- SPOTIFY_LINKED: "fc1788b4-c984-42c8-96f4-c87f6bb0b8f7",
164
- TIKTOK_LINKED: "4a2ffdd3-f0e9-4784-8b49-ff76ec1c0a6a",
165
- TELEGRAM_LINKED: "9006bc5d-bcc9-4d01-a860-4f1a201e8e47",
166
- },
167
- DATANFT_CONTRACT_ADDRESS: "0xF90733b9eCDa3b49C250B2C3E3E42c96fC93324E",
168
- MARKETPLACE_CONTRACT_ADDRESS: "0x5c5e6b458b2e3924E7688b8Dee1Bb49088F6Fef5",
169
- };
170
-
171
- let providers = [];
172
- const providerStore = {
173
- value: () => providers,
174
- subscribe: (callback) => {
175
- function onAnnouncement(event) {
176
- if (providers.some((p) => p.info.uuid === event.detail.info.uuid))
177
- return;
178
- providers = [...providers, event.detail];
179
- callback(providers);
180
- }
181
- if (typeof window === "undefined")
182
- return;
183
- window.addEventListener("eip6963:announceProvider", onAnnouncement);
184
- window.dispatchEvent(new Event("eip6963:requestProvider"));
185
- return () => window.removeEventListener("eip6963:announceProvider", onAnnouncement);
186
- },
187
- };
188
-
189
- /**
190
- * Formats an Ethereum address by truncating it to the first and last n characters.
191
- * @param {string} address - The Ethereum address to format.
192
- * @param {number} n - The number of characters to keep from the start and end of the address.
193
- * @return {string} - The formatted address.
194
- */
195
- const formatAddress = (address, n = 8) => {
196
- return `${address.slice(0, n)}...${address.slice(-n)}`;
197
- };
198
- /**
199
- * Capitalizes the first letter of a string.
200
- * @param {string} str - The string to capitalize.
201
- * @return {string} - The capitalized string.
202
- */
203
- const capitalize = (str) => {
204
- return str.charAt(0).toUpperCase() + str.slice(1);
205
- };
206
- /**
207
- * Formats a Camp amount to a human-readable string.
208
- * @param {number} amount - The Camp amount to format.
209
- * @returns {string} - The formatted Camp amount.
210
- */
211
- const formatCampAmount = (amount) => {
212
- if (amount >= 1000) {
213
- const formatted = (amount / 1000).toFixed(1);
214
- return formatted.endsWith(".0")
215
- ? formatted.slice(0, -2) + "k"
216
- : formatted + "k";
217
- }
218
- return amount.toString();
219
- };
220
- /**
221
- * Uploads a file to a specified URL with progress tracking.
222
- * Falls back to a simple fetch request if XMLHttpRequest is not available.
223
- * @param {File} file - The file to upload.
224
- * @param {string} url - The URL to upload the file to.
225
- * @param {UploadProgressCallback} onProgress - A callback function to track upload progress.
226
- * @returns {Promise<string>} - A promise that resolves with the response from the server.
227
- */
228
- const uploadWithProgress = (file, url, onProgress) => {
229
- return new Promise((resolve, reject) => {
230
- axios
231
- .put(url, file, Object.assign({ headers: {
232
- "Content-Type": file.type,
233
- } }, (typeof window !== "undefined" && typeof onProgress === "function"
234
- ? {
235
- onUploadProgress: (progressEvent) => {
236
- if (progressEvent.total) {
237
- const percent = (progressEvent.loaded / progressEvent.total) * 100;
238
- onProgress(percent);
239
- }
240
- },
241
- }
242
- : {})))
243
- .then((res) => {
244
- resolve(res.data);
245
- })
246
- .catch((error) => {
247
- var _a;
248
- const message = ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || (error === null || error === void 0 ? void 0 : error.message) || "Upload failed";
249
- reject(message);
250
- });
251
- });
252
- };
253
-
254
- var abi$1 = [
166
+ var ipnftMainnetAbi = [
255
167
  {
256
168
  inputs: [
257
169
  {
@@ -273,17 +185,31 @@ var abi$1 = [
273
185
  internalType: "address",
274
186
  name: "signer_",
275
187
  type: "address"
188
+ },
189
+ {
190
+ internalType: "address",
191
+ name: "wCAMP_",
192
+ type: "address"
193
+ },
194
+ {
195
+ internalType: "uint256",
196
+ name: "minTermDuration_",
197
+ type: "uint256"
198
+ },
199
+ {
200
+ internalType: "uint256",
201
+ name: "minPrice_",
202
+ type: "uint256"
203
+ },
204
+ {
205
+ internalType: "uint256",
206
+ name: "maxRoyaltyBps_",
207
+ type: "uint256"
276
208
  }
277
209
  ],
278
210
  stateMutability: "nonpayable",
279
211
  type: "constructor"
280
212
  },
281
- {
282
- inputs: [
283
- ],
284
- name: "DurationZero",
285
- type: "error"
286
- },
287
213
  {
288
214
  inputs: [
289
215
  {
@@ -413,11 +339,18 @@ var abi$1 = [
413
339
  },
414
340
  {
415
341
  inputs: [
416
- {
417
- internalType: "uint16",
418
- name: "royaltyBps",
419
- type: "uint16"
420
- }
342
+ ],
343
+ name: "InvalidPaymentToken",
344
+ type: "error"
345
+ },
346
+ {
347
+ inputs: [
348
+ ],
349
+ name: "InvalidPrice",
350
+ type: "error"
351
+ },
352
+ {
353
+ inputs: [
421
354
  ],
422
355
  name: "InvalidRoyalty",
423
356
  type: "error"
@@ -430,16 +363,6 @@ var abi$1 = [
430
363
  },
431
364
  {
432
365
  inputs: [
433
- {
434
- internalType: "uint256",
435
- name: "tokenId",
436
- type: "uint256"
437
- },
438
- {
439
- internalType: "address",
440
- name: "caller",
441
- type: "address"
442
- }
443
366
  ],
444
367
  name: "NotTokenOwner",
445
368
  type: "error"
@@ -469,17 +392,6 @@ var abi$1 = [
469
392
  {
470
393
  inputs: [
471
394
  ],
472
- name: "SignatureAlreadyUsed",
473
- type: "error"
474
- },
475
- {
476
- inputs: [
477
- {
478
- internalType: "uint256",
479
- name: "tokenId",
480
- type: "uint256"
481
- }
482
- ],
483
395
  name: "TokenAlreadyExists",
484
396
  type: "error"
485
397
  },
@@ -576,6 +488,31 @@ var abi$1 = [
576
488
  name: "ApprovalForAll",
577
489
  type: "event"
578
490
  },
491
+ {
492
+ anonymous: false,
493
+ inputs: [
494
+ {
495
+ indexed: true,
496
+ internalType: "uint256",
497
+ name: "id",
498
+ type: "uint256"
499
+ },
500
+ {
501
+ indexed: true,
502
+ internalType: "uint256",
503
+ name: "childIp",
504
+ type: "uint256"
505
+ },
506
+ {
507
+ indexed: false,
508
+ internalType: "uint256",
509
+ name: "parentIp",
510
+ type: "uint256"
511
+ }
512
+ ],
513
+ name: "ChildIpTagged",
514
+ type: "event"
515
+ },
579
516
  {
580
517
  anonymous: false,
581
518
  inputs: [
@@ -615,6 +552,12 @@ var abi$1 = [
615
552
  internalType: "bytes32",
616
553
  name: "contentHash",
617
554
  type: "bytes32"
555
+ },
556
+ {
557
+ indexed: false,
558
+ internalType: "uint256[]",
559
+ name: "parents",
560
+ type: "uint256[]"
618
561
  }
619
562
  ],
620
563
  name: "DataMinted",
@@ -625,31 +568,31 @@ var abi$1 = [
625
568
  inputs: [
626
569
  {
627
570
  indexed: true,
628
- internalType: "address",
629
- name: "previousOwner",
630
- type: "address"
571
+ internalType: "uint256",
572
+ name: "id",
573
+ type: "uint256"
631
574
  },
632
575
  {
633
- indexed: true,
634
- internalType: "address",
635
- name: "newOwner",
636
- type: "address"
576
+ indexed: false,
577
+ internalType: "bytes32",
578
+ name: "counterEvidenceHash",
579
+ type: "bytes32"
637
580
  }
638
581
  ],
639
- name: "OwnershipTransferred",
582
+ name: "DisputeAssertion",
640
583
  type: "event"
641
584
  },
642
585
  {
643
586
  anonymous: false,
644
587
  inputs: [
645
588
  {
646
- indexed: false,
647
- internalType: "address",
648
- name: "account",
649
- type: "address"
589
+ indexed: true,
590
+ internalType: "uint256",
591
+ name: "id",
592
+ type: "uint256"
650
593
  }
651
594
  ],
652
- name: "Paused",
595
+ name: "DisputeCancelled",
653
596
  type: "event"
654
597
  },
655
598
  {
@@ -658,29 +601,30 @@ var abi$1 = [
658
601
  {
659
602
  indexed: true,
660
603
  internalType: "uint256",
661
- name: "tokenId",
604
+ name: "id",
662
605
  type: "uint256"
663
606
  },
664
607
  {
665
608
  indexed: false,
666
- internalType: "uint256",
667
- name: "royaltyAmount",
668
- type: "uint256"
669
- },
609
+ internalType: "bool",
610
+ name: "judgement",
611
+ type: "bool"
612
+ }
613
+ ],
614
+ name: "DisputeJudged",
615
+ type: "event"
616
+ },
617
+ {
618
+ anonymous: false,
619
+ inputs: [
670
620
  {
671
- indexed: false,
621
+ indexed: true,
672
622
  internalType: "address",
673
- name: "creator",
623
+ name: "disputeModule",
674
624
  type: "address"
675
- },
676
- {
677
- indexed: false,
678
- internalType: "uint256",
679
- name: "protocolAmount",
680
- type: "uint256"
681
625
  }
682
626
  ],
683
- name: "RoyaltyPaid",
627
+ name: "DisputeModuleUpdated",
684
628
  type: "event"
685
629
  },
686
630
  {
@@ -689,15 +633,154 @@ var abi$1 = [
689
633
  {
690
634
  indexed: true,
691
635
  internalType: "uint256",
692
- name: "tokenId",
636
+ name: "id",
693
637
  type: "uint256"
694
638
  },
695
639
  {
696
- indexed: false,
697
- internalType: "uint128",
698
- name: "newPrice",
699
- type: "uint128"
700
- },
640
+ indexed: true,
641
+ internalType: "address",
642
+ name: "initiator",
643
+ type: "address"
644
+ },
645
+ {
646
+ indexed: true,
647
+ internalType: "uint256",
648
+ name: "targetId",
649
+ type: "uint256"
650
+ },
651
+ {
652
+ indexed: false,
653
+ internalType: "bytes32",
654
+ name: "disputeTag",
655
+ type: "bytes32"
656
+ }
657
+ ],
658
+ name: "DisputeRaised",
659
+ type: "event"
660
+ },
661
+ {
662
+ anonymous: false,
663
+ inputs: [
664
+ {
665
+ indexed: true,
666
+ internalType: "address",
667
+ name: "marketPlace",
668
+ type: "address"
669
+ }
670
+ ],
671
+ name: "MarketPlaceUpdated",
672
+ type: "event"
673
+ },
674
+ {
675
+ anonymous: false,
676
+ inputs: [
677
+ {
678
+ indexed: true,
679
+ internalType: "address",
680
+ name: "previousOwner",
681
+ type: "address"
682
+ },
683
+ {
684
+ indexed: true,
685
+ internalType: "address",
686
+ name: "newOwner",
687
+ type: "address"
688
+ }
689
+ ],
690
+ name: "OwnershipTransferred",
691
+ type: "event"
692
+ },
693
+ {
694
+ anonymous: false,
695
+ inputs: [
696
+ {
697
+ indexed: false,
698
+ internalType: "address",
699
+ name: "account",
700
+ type: "address"
701
+ }
702
+ ],
703
+ name: "Paused",
704
+ type: "event"
705
+ },
706
+ {
707
+ anonymous: false,
708
+ inputs: [
709
+ {
710
+ indexed: true,
711
+ internalType: "uint256",
712
+ name: "tokenId",
713
+ type: "uint256"
714
+ },
715
+ {
716
+ indexed: false,
717
+ internalType: "uint256",
718
+ name: "royaltyAmount",
719
+ type: "uint256"
720
+ },
721
+ {
722
+ indexed: false,
723
+ internalType: "address",
724
+ name: "creator",
725
+ type: "address"
726
+ },
727
+ {
728
+ indexed: false,
729
+ internalType: "uint256",
730
+ name: "protocolAmount",
731
+ type: "uint256"
732
+ }
733
+ ],
734
+ name: "RoyaltyPaid",
735
+ type: "event"
736
+ },
737
+ {
738
+ anonymous: false,
739
+ inputs: [
740
+ {
741
+ indexed: true,
742
+ internalType: "address",
743
+ name: "signer",
744
+ type: "address"
745
+ }
746
+ ],
747
+ name: "SignerUpdated",
748
+ type: "event"
749
+ },
750
+ {
751
+ anonymous: false,
752
+ inputs: [
753
+ {
754
+ indexed: true,
755
+ internalType: "uint256",
756
+ name: "tokenId",
757
+ type: "uint256"
758
+ },
759
+ {
760
+ indexed: false,
761
+ internalType: "enum IIpNFT.DataStatus",
762
+ name: "status",
763
+ type: "uint8"
764
+ }
765
+ ],
766
+ name: "StatusUpdated",
767
+ type: "event"
768
+ },
769
+ {
770
+ anonymous: false,
771
+ inputs: [
772
+ {
773
+ indexed: true,
774
+ internalType: "uint256",
775
+ name: "tokenId",
776
+ type: "uint256"
777
+ },
778
+ {
779
+ indexed: false,
780
+ internalType: "uint128",
781
+ name: "newPrice",
782
+ type: "uint128"
783
+ },
701
784
  {
702
785
  indexed: false,
703
786
  internalType: "uint32",
@@ -800,16 +883,16 @@ var abi$1 = [
800
883
  inputs: [
801
884
  {
802
885
  internalType: "uint256",
803
- name: "",
886
+ name: "tokenId",
804
887
  type: "uint256"
805
888
  }
806
889
  ],
807
- name: "contentHash",
890
+ name: "dataStatus",
808
891
  outputs: [
809
892
  {
810
- internalType: "bytes32",
893
+ internalType: "enum IIpNFT.DataStatus",
811
894
  name: "",
812
- type: "bytes32"
895
+ type: "uint8"
813
896
  }
814
897
  ],
815
898
  stateMutability: "view",
@@ -817,18 +900,13 @@ var abi$1 = [
817
900
  },
818
901
  {
819
902
  inputs: [
820
- {
821
- internalType: "uint256",
822
- name: "",
823
- type: "uint256"
824
- }
825
903
  ],
826
- name: "dataStatus",
904
+ name: "disputeModule",
827
905
  outputs: [
828
906
  {
829
- internalType: "enum IpNFT.DataStatus",
907
+ internalType: "address",
830
908
  name: "",
831
- type: "uint8"
909
+ type: "address"
832
910
  }
833
911
  ],
834
912
  stateMutability: "view",
@@ -867,6 +945,25 @@ var abi$1 = [
867
945
  stateMutability: "view",
868
946
  type: "function"
869
947
  },
948
+ {
949
+ inputs: [
950
+ {
951
+ internalType: "address",
952
+ name: "tokenOwner",
953
+ type: "address"
954
+ }
955
+ ],
956
+ name: "getOrCreateRoyaltyVault",
957
+ outputs: [
958
+ {
959
+ internalType: "address",
960
+ name: "vault",
961
+ type: "address"
962
+ }
963
+ ],
964
+ stateMutability: "nonpayable",
965
+ type: "function"
966
+ },
870
967
  {
871
968
  inputs: [
872
969
  {
@@ -900,7 +997,7 @@ var abi$1 = [
900
997
  type: "address"
901
998
  }
902
999
  ],
903
- internalType: "struct IpNFT.LicenseTerms",
1000
+ internalType: "struct IIpNFT.LicenseTerms",
904
1001
  name: "",
905
1002
  type: "tuple"
906
1003
  }
@@ -932,6 +1029,48 @@ var abi$1 = [
932
1029
  stateMutability: "view",
933
1030
  type: "function"
934
1031
  },
1032
+ {
1033
+ inputs: [
1034
+ {
1035
+ internalType: "uint256",
1036
+ name: "_tokenId",
1037
+ type: "uint256"
1038
+ }
1039
+ ],
1040
+ name: "markDisputed",
1041
+ outputs: [
1042
+ ],
1043
+ stateMutability: "nonpayable",
1044
+ type: "function"
1045
+ },
1046
+ {
1047
+ inputs: [
1048
+ ],
1049
+ name: "marketPlace",
1050
+ outputs: [
1051
+ {
1052
+ internalType: "contract IMarketplace",
1053
+ name: "",
1054
+ type: "address"
1055
+ }
1056
+ ],
1057
+ stateMutability: "view",
1058
+ type: "function"
1059
+ },
1060
+ {
1061
+ inputs: [
1062
+ ],
1063
+ name: "maxRoyaltyBps",
1064
+ outputs: [
1065
+ {
1066
+ internalType: "uint256",
1067
+ name: "",
1068
+ type: "uint256"
1069
+ }
1070
+ ],
1071
+ stateMutability: "view",
1072
+ type: "function"
1073
+ },
935
1074
  {
936
1075
  inputs: [
937
1076
  ],
@@ -946,6 +1085,34 @@ var abi$1 = [
946
1085
  stateMutability: "view",
947
1086
  type: "function"
948
1087
  },
1088
+ {
1089
+ inputs: [
1090
+ ],
1091
+ name: "minPrice",
1092
+ outputs: [
1093
+ {
1094
+ internalType: "uint256",
1095
+ name: "",
1096
+ type: "uint256"
1097
+ }
1098
+ ],
1099
+ stateMutability: "view",
1100
+ type: "function"
1101
+ },
1102
+ {
1103
+ inputs: [
1104
+ ],
1105
+ name: "minTermDuration",
1106
+ outputs: [
1107
+ {
1108
+ internalType: "uint256",
1109
+ name: "",
1110
+ type: "uint256"
1111
+ }
1112
+ ],
1113
+ stateMutability: "view",
1114
+ type: "function"
1115
+ },
949
1116
  {
950
1117
  inputs: [
951
1118
  {
@@ -958,11 +1125,6 @@ var abi$1 = [
958
1125
  name: "tokenId",
959
1126
  type: "uint256"
960
1127
  },
961
- {
962
- internalType: "uint256",
963
- name: "parentId",
964
- type: "uint256"
965
- },
966
1128
  {
967
1129
  internalType: "bytes32",
968
1130
  name: "creatorContentHash",
@@ -996,7 +1158,7 @@ var abi$1 = [
996
1158
  type: "address"
997
1159
  }
998
1160
  ],
999
- internalType: "struct IpNFT.LicenseTerms",
1161
+ internalType: "struct IIpNFT.LicenseTerms",
1000
1162
  name: "licenseTerms",
1001
1163
  type: "tuple"
1002
1164
  },
@@ -1005,6 +1167,11 @@ var abi$1 = [
1005
1167
  name: "deadline",
1006
1168
  type: "uint256"
1007
1169
  },
1170
+ {
1171
+ internalType: "uint256[]",
1172
+ name: "parents",
1173
+ type: "uint256[]"
1174
+ },
1008
1175
  {
1009
1176
  internalType: "bytes",
1010
1177
  name: "signature",
@@ -1064,25 +1231,6 @@ var abi$1 = [
1064
1231
  stateMutability: "view",
1065
1232
  type: "function"
1066
1233
  },
1067
- {
1068
- inputs: [
1069
- {
1070
- internalType: "uint256",
1071
- name: "",
1072
- type: "uint256"
1073
- }
1074
- ],
1075
- name: "parentIpOf",
1076
- outputs: [
1077
- {
1078
- internalType: "uint256",
1079
- name: "",
1080
- type: "uint256"
1081
- }
1082
- ],
1083
- stateMutability: "view",
1084
- type: "function"
1085
- },
1086
1234
  {
1087
1235
  inputs: [
1088
1236
  ],
@@ -1115,73 +1263,6 @@ var abi$1 = [
1115
1263
  stateMutability: "nonpayable",
1116
1264
  type: "function"
1117
1265
  },
1118
- {
1119
- inputs: [
1120
- {
1121
- internalType: "uint256",
1122
- name: "tokenId",
1123
- type: "uint256"
1124
- },
1125
- {
1126
- internalType: "uint256",
1127
- name: "salePrice",
1128
- type: "uint256"
1129
- }
1130
- ],
1131
- name: "royaltyInfo",
1132
- outputs: [
1133
- {
1134
- internalType: "address",
1135
- name: "receiver",
1136
- type: "address"
1137
- },
1138
- {
1139
- internalType: "uint256",
1140
- name: "royaltyAmount",
1141
- type: "uint256"
1142
- }
1143
- ],
1144
- stateMutability: "view",
1145
- type: "function"
1146
- },
1147
- {
1148
- inputs: [
1149
- {
1150
- internalType: "uint256",
1151
- name: "",
1152
- type: "uint256"
1153
- }
1154
- ],
1155
- name: "royaltyPercentages",
1156
- outputs: [
1157
- {
1158
- internalType: "uint16",
1159
- name: "",
1160
- type: "uint16"
1161
- }
1162
- ],
1163
- stateMutability: "view",
1164
- type: "function"
1165
- },
1166
- {
1167
- inputs: [
1168
- {
1169
- internalType: "uint256",
1170
- name: "",
1171
- type: "uint256"
1172
- }
1173
- ],
1174
- name: "royaltyReceivers",
1175
- outputs: [
1176
- {
1177
- internalType: "address",
1178
- name: "",
1179
- type: "address"
1180
- }
1181
- ],
1182
- stateMutability: "view",
1183
- type: "function"
1184
- },
1185
1266
  {
1186
1267
  inputs: [
1187
1268
  {
@@ -1254,6 +1335,34 @@ var abi$1 = [
1254
1335
  stateMutability: "nonpayable",
1255
1336
  type: "function"
1256
1337
  },
1338
+ {
1339
+ inputs: [
1340
+ {
1341
+ internalType: "address",
1342
+ name: "_disputeModule",
1343
+ type: "address"
1344
+ }
1345
+ ],
1346
+ name: "setDisputeModule",
1347
+ outputs: [
1348
+ ],
1349
+ stateMutability: "nonpayable",
1350
+ type: "function"
1351
+ },
1352
+ {
1353
+ inputs: [
1354
+ {
1355
+ internalType: "address",
1356
+ name: "_marketPlace",
1357
+ type: "address"
1358
+ }
1359
+ ],
1360
+ name: "setMarketPlace",
1361
+ outputs: [
1362
+ ],
1363
+ stateMutability: "nonpayable",
1364
+ type: "function"
1365
+ },
1257
1366
  {
1258
1367
  inputs: [
1259
1368
  {
@@ -1323,27 +1432,49 @@ var abi$1 = [
1323
1432
  type: "uint256"
1324
1433
  }
1325
1434
  ],
1326
- name: "terms",
1435
+ name: "tokenInfo",
1327
1436
  outputs: [
1328
1437
  {
1329
- internalType: "uint128",
1330
- name: "price",
1331
- type: "uint128"
1438
+ internalType: "string",
1439
+ name: "tokenURI",
1440
+ type: "string"
1332
1441
  },
1333
1442
  {
1334
- internalType: "uint32",
1335
- name: "duration",
1336
- type: "uint32"
1443
+ internalType: "bytes32",
1444
+ name: "contentHash",
1445
+ type: "bytes32"
1337
1446
  },
1338
1447
  {
1339
- internalType: "uint16",
1340
- name: "royaltyBps",
1341
- type: "uint16"
1448
+ components: [
1449
+ {
1450
+ internalType: "uint128",
1451
+ name: "price",
1452
+ type: "uint128"
1453
+ },
1454
+ {
1455
+ internalType: "uint32",
1456
+ name: "duration",
1457
+ type: "uint32"
1458
+ },
1459
+ {
1460
+ internalType: "uint16",
1461
+ name: "royaltyBps",
1462
+ type: "uint16"
1463
+ },
1464
+ {
1465
+ internalType: "address",
1466
+ name: "paymentToken",
1467
+ type: "address"
1468
+ }
1469
+ ],
1470
+ internalType: "struct IIpNFT.LicenseTerms",
1471
+ name: "terms",
1472
+ type: "tuple"
1342
1473
  },
1343
1474
  {
1344
- internalType: "address",
1345
- name: "paymentToken",
1346
- type: "address"
1475
+ internalType: "enum IIpNFT.DataStatus",
1476
+ name: "status",
1477
+ type: "uint8"
1347
1478
  }
1348
1479
  ],
1349
1480
  stateMutability: "view",
@@ -1422,11 +1553,6 @@ var abi$1 = [
1422
1553
  name: "tokenId",
1423
1554
  type: "uint256"
1424
1555
  },
1425
- {
1426
- internalType: "address",
1427
- name: "_royaltyReceiver",
1428
- type: "address"
1429
- },
1430
1556
  {
1431
1557
  components: [
1432
1558
  {
@@ -1450,7 +1576,7 @@ var abi$1 = [
1450
1576
  type: "address"
1451
1577
  }
1452
1578
  ],
1453
- internalType: "struct IpNFT.LicenseTerms",
1579
+ internalType: "struct IIpNFT.LicenseTerms",
1454
1580
  name: "newTerms",
1455
1581
  type: "tuple"
1456
1582
  }
@@ -1463,18 +1589,13 @@ var abi$1 = [
1463
1589
  },
1464
1590
  {
1465
1591
  inputs: [
1466
- {
1467
- internalType: "bytes32",
1468
- name: "",
1469
- type: "bytes32"
1470
- }
1471
1592
  ],
1472
- name: "usedNonces",
1593
+ name: "wCAMP",
1473
1594
  outputs: [
1474
1595
  {
1475
- internalType: "bool",
1596
+ internalType: "address",
1476
1597
  name: "",
1477
- type: "bool"
1598
+ type: "address"
1478
1599
  }
1479
1600
  ],
1480
1601
  stateMutability: "view",
@@ -1482,129 +1603,7 @@ var abi$1 = [
1482
1603
  }
1483
1604
  ];
1484
1605
 
1485
- /**
1486
- * Mints a Data NFT with a signature.
1487
- * @param to The address to mint the NFT to.
1488
- * @param tokenId The ID of the token to mint.
1489
- * @param parentId The ID of the parent NFT, if applicable.
1490
- * @param hash The hash of the data associated with the NFT.
1491
- * @param uri The URI of the NFT metadata.
1492
- * @param licenseTerms The terms of the license for the NFT.
1493
- * @param deadline The deadline for the minting operation.
1494
- * @param signature The signature for the minting operation.
1495
- * @returns A promise that resolves when the minting is complete.
1496
- */
1497
- function mintWithSignature(to, tokenId, parentId, hash, uri, licenseTerms, deadline, signature) {
1498
- return __awaiter(this, void 0, void 0, function* () {
1499
- return yield this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "mintWithSignature", [to, tokenId, parentId, hash, uri, licenseTerms, deadline, signature], { waitForReceipt: true });
1500
- });
1501
- }
1502
- /**
1503
- * Registers a Data NFT with the Origin service in order to obtain a signature for minting.
1504
- * @param source The source of the Data NFT (e.g., "spotify", "twitter", "tiktok", or "file").
1505
- * @param deadline The deadline for the registration operation.
1506
- * @param fileKey Optional file key for file uploads.
1507
- * @return A promise that resolves with the registration data.
1508
- */
1509
- function registerIpNFT(source, deadline, licenseTerms, metadata, fileKey, parentId) {
1510
- return __awaiter(this, void 0, void 0, function* () {
1511
- const body = {
1512
- source,
1513
- deadline: Number(deadline),
1514
- licenseTerms: {
1515
- price: licenseTerms.price.toString(),
1516
- duration: licenseTerms.duration,
1517
- royaltyBps: licenseTerms.royaltyBps,
1518
- paymentToken: licenseTerms.paymentToken,
1519
- },
1520
- metadata,
1521
- parentId: Number(parentId) || 0,
1522
- };
1523
- if (fileKey !== undefined) {
1524
- body.fileKey = fileKey;
1525
- }
1526
- const res = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/register`, {
1527
- method: "POST",
1528
- headers: {
1529
- Authorization: `Bearer ${this.getJwt()}`,
1530
- },
1531
- body: JSON.stringify(body),
1532
- });
1533
- if (!res.ok) {
1534
- throw new Error(`Failed to get signature: ${res.statusText}`);
1535
- }
1536
- const data = yield res.json();
1537
- if (data.isError) {
1538
- throw new Error(`Failed to get signature: ${data.message}`);
1539
- }
1540
- return data.data;
1541
- });
1542
- }
1543
-
1544
- function updateTerms(tokenId, royaltyReceiver, newTerms) {
1545
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "updateTerms", [tokenId, royaltyReceiver, newTerms], { waitForReceipt: true });
1546
- }
1547
-
1548
- function requestDelete(tokenId) {
1549
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "requestDelete", [tokenId]);
1550
- }
1551
-
1552
- function getTerms(tokenId) {
1553
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "getTerms", [tokenId]);
1554
- }
1555
-
1556
- function ownerOf(tokenId) {
1557
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "ownerOf", [tokenId]);
1558
- }
1559
-
1560
- function balanceOf(owner) {
1561
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "balanceOf", [owner]);
1562
- }
1563
-
1564
- function contentHash(tokenId) {
1565
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "contentHash", [tokenId]);
1566
- }
1567
-
1568
- function tokenURI(tokenId) {
1569
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "tokenURI", [tokenId]);
1570
- }
1571
-
1572
- function dataStatus(tokenId) {
1573
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "dataStatus", [tokenId]);
1574
- }
1575
-
1576
- function royaltyInfo(tokenId, salePrice) {
1577
- return __awaiter(this, void 0, void 0, function* () {
1578
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "royaltyInfo", [tokenId, salePrice]);
1579
- });
1580
- }
1581
-
1582
- function getApproved(tokenId) {
1583
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "getApproved", [tokenId]);
1584
- }
1585
-
1586
- function isApprovedForAll(owner, operator) {
1587
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "isApprovedForAll", [owner, operator]);
1588
- }
1589
-
1590
- function transferFrom(from, to, tokenId) {
1591
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "transferFrom", [from, to, tokenId]);
1592
- }
1593
-
1594
- function safeTransferFrom(from, to, tokenId, data) {
1595
- const args = data ? [from, to, tokenId, data] : [from, to, tokenId];
1596
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "safeTransferFrom", args);
1597
- }
1598
-
1599
- function approve(to, tokenId) {
1600
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "approve", [to, tokenId]);
1601
- }
1602
-
1603
- function setApprovalForAll(operator, approved) {
1604
- return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "setApprovalForAll", [operator, approved]);
1605
- }
1606
-
1607
- var abi = [
1606
+ var marketplaceMainnetAbi = [
1608
1607
  {
1609
1608
  inputs: [
1610
1609
  {
@@ -1640,42 +1639,40 @@ var abi = [
1640
1639
  },
1641
1640
  {
1642
1641
  inputs: [
1643
- {
1644
- internalType: "uint256",
1645
- name: "expected",
1646
- type: "uint256"
1647
- },
1648
- {
1649
- internalType: "uint256",
1650
- name: "actual",
1651
- type: "uint256"
1652
- }
1653
1642
  ],
1654
- name: "InvalidPayment",
1643
+ name: "InvalidParentIp",
1655
1644
  type: "error"
1656
1645
  },
1657
1646
  {
1658
1647
  inputs: [
1659
- {
1660
- internalType: "uint32",
1661
- name: "periods",
1662
- type: "uint32"
1663
- }
1664
1648
  ],
1665
- name: "InvalidPeriods",
1649
+ name: "InvalidPayment",
1666
1650
  type: "error"
1667
1651
  },
1668
1652
  {
1669
1653
  inputs: [
1670
- {
1671
- internalType: "uint16",
1672
- name: "royaltyBps",
1673
- type: "uint16"
1674
- }
1675
1654
  ],
1676
1655
  name: "InvalidRoyalty",
1677
1656
  type: "error"
1678
1657
  },
1658
+ {
1659
+ inputs: [
1660
+ ],
1661
+ name: "MaxParentsExceeded",
1662
+ type: "error"
1663
+ },
1664
+ {
1665
+ inputs: [
1666
+ ],
1667
+ name: "MaxRoyaltyExceeded",
1668
+ type: "error"
1669
+ },
1670
+ {
1671
+ inputs: [
1672
+ ],
1673
+ name: "NoSubscriptionFound",
1674
+ type: "error"
1675
+ },
1679
1676
  {
1680
1677
  inputs: [
1681
1678
  {
@@ -1701,7 +1698,25 @@ var abi = [
1701
1698
  {
1702
1699
  inputs: [
1703
1700
  ],
1704
- name: "TransferFailed",
1701
+ name: "ParentAlreadyExists",
1702
+ type: "error"
1703
+ },
1704
+ {
1705
+ inputs: [
1706
+ ],
1707
+ name: "ParentIpAlreadyDeleted",
1708
+ type: "error"
1709
+ },
1710
+ {
1711
+ inputs: [
1712
+ ],
1713
+ name: "ParentIpAlreadyDisputed",
1714
+ type: "error"
1715
+ },
1716
+ {
1717
+ inputs: [
1718
+ ],
1719
+ name: "TermsMismatch",
1705
1720
  type: "error"
1706
1721
  },
1707
1722
  {
@@ -1750,26 +1765,140 @@ var abi = [
1750
1765
  type: "uint256"
1751
1766
  }
1752
1767
  ],
1753
- name: "AccessPurchased",
1768
+ name: "AccessPurchased",
1769
+ type: "event"
1770
+ },
1771
+ {
1772
+ anonymous: false,
1773
+ inputs: [
1774
+ {
1775
+ indexed: true,
1776
+ internalType: "uint256",
1777
+ name: "id",
1778
+ type: "uint256"
1779
+ },
1780
+ {
1781
+ indexed: true,
1782
+ internalType: "uint256",
1783
+ name: "childIp",
1784
+ type: "uint256"
1785
+ },
1786
+ {
1787
+ indexed: false,
1788
+ internalType: "uint256",
1789
+ name: "parentIp",
1790
+ type: "uint256"
1791
+ }
1792
+ ],
1793
+ name: "ChildIpTagged",
1794
+ type: "event"
1795
+ },
1796
+ {
1797
+ anonymous: false,
1798
+ inputs: [
1799
+ {
1800
+ indexed: true,
1801
+ internalType: "uint256",
1802
+ name: "tokenId",
1803
+ type: "uint256"
1804
+ },
1805
+ {
1806
+ indexed: true,
1807
+ internalType: "address",
1808
+ name: "creator",
1809
+ type: "address"
1810
+ }
1811
+ ],
1812
+ name: "DataDeleted",
1813
+ type: "event"
1814
+ },
1815
+ {
1816
+ anonymous: false,
1817
+ inputs: [
1818
+ {
1819
+ indexed: true,
1820
+ internalType: "uint256",
1821
+ name: "tokenId",
1822
+ type: "uint256"
1823
+ },
1824
+ {
1825
+ indexed: true,
1826
+ internalType: "address",
1827
+ name: "creator",
1828
+ type: "address"
1829
+ },
1830
+ {
1831
+ indexed: false,
1832
+ internalType: "bytes32",
1833
+ name: "contentHash",
1834
+ type: "bytes32"
1835
+ }
1836
+ ],
1837
+ name: "DataMinted",
1838
+ type: "event"
1839
+ },
1840
+ {
1841
+ anonymous: false,
1842
+ inputs: [
1843
+ {
1844
+ indexed: true,
1845
+ internalType: "uint256",
1846
+ name: "id",
1847
+ type: "uint256"
1848
+ },
1849
+ {
1850
+ indexed: false,
1851
+ internalType: "bytes32",
1852
+ name: "counterEvidenceHash",
1853
+ type: "bytes32"
1854
+ }
1855
+ ],
1856
+ name: "DisputeAssertion",
1857
+ type: "event"
1858
+ },
1859
+ {
1860
+ anonymous: false,
1861
+ inputs: [
1862
+ {
1863
+ indexed: true,
1864
+ internalType: "uint256",
1865
+ name: "id",
1866
+ type: "uint256"
1867
+ }
1868
+ ],
1869
+ name: "DisputeCancelled",
1870
+ type: "event"
1871
+ },
1872
+ {
1873
+ anonymous: false,
1874
+ inputs: [
1875
+ {
1876
+ indexed: true,
1877
+ internalType: "uint256",
1878
+ name: "id",
1879
+ type: "uint256"
1880
+ },
1881
+ {
1882
+ indexed: false,
1883
+ internalType: "bool",
1884
+ name: "judgement",
1885
+ type: "bool"
1886
+ }
1887
+ ],
1888
+ name: "DisputeJudged",
1754
1889
  type: "event"
1755
1890
  },
1756
1891
  {
1757
1892
  anonymous: false,
1758
1893
  inputs: [
1759
- {
1760
- indexed: true,
1761
- internalType: "uint256",
1762
- name: "tokenId",
1763
- type: "uint256"
1764
- },
1765
1894
  {
1766
1895
  indexed: true,
1767
1896
  internalType: "address",
1768
- name: "creator",
1897
+ name: "disputeModule",
1769
1898
  type: "address"
1770
1899
  }
1771
1900
  ],
1772
- name: "DataDeleted",
1901
+ name: "DisputeModuleUpdated",
1773
1902
  type: "event"
1774
1903
  },
1775
1904
  {
@@ -1778,23 +1907,42 @@ var abi = [
1778
1907
  {
1779
1908
  indexed: true,
1780
1909
  internalType: "uint256",
1781
- name: "tokenId",
1910
+ name: "id",
1782
1911
  type: "uint256"
1783
1912
  },
1784
1913
  {
1785
1914
  indexed: true,
1786
1915
  internalType: "address",
1787
- name: "creator",
1916
+ name: "initiator",
1788
1917
  type: "address"
1789
1918
  },
1919
+ {
1920
+ indexed: true,
1921
+ internalType: "uint256",
1922
+ name: "targetId",
1923
+ type: "uint256"
1924
+ },
1790
1925
  {
1791
1926
  indexed: false,
1792
1927
  internalType: "bytes32",
1793
- name: "contentHash",
1928
+ name: "disputeTag",
1794
1929
  type: "bytes32"
1795
1930
  }
1796
1931
  ],
1797
- name: "DataMinted",
1932
+ name: "DisputeRaised",
1933
+ type: "event"
1934
+ },
1935
+ {
1936
+ anonymous: false,
1937
+ inputs: [
1938
+ {
1939
+ indexed: true,
1940
+ internalType: "address",
1941
+ name: "marketPlace",
1942
+ type: "address"
1943
+ }
1944
+ ],
1945
+ name: "MarketPlaceUpdated",
1798
1946
  type: "event"
1799
1947
  },
1800
1948
  {
@@ -1860,6 +2008,38 @@ var abi = [
1860
2008
  name: "RoyaltyPaid",
1861
2009
  type: "event"
1862
2010
  },
2011
+ {
2012
+ anonymous: false,
2013
+ inputs: [
2014
+ {
2015
+ indexed: true,
2016
+ internalType: "address",
2017
+ name: "signer",
2018
+ type: "address"
2019
+ }
2020
+ ],
2021
+ name: "SignerUpdated",
2022
+ type: "event"
2023
+ },
2024
+ {
2025
+ anonymous: false,
2026
+ inputs: [
2027
+ {
2028
+ indexed: true,
2029
+ internalType: "uint256",
2030
+ name: "tokenId",
2031
+ type: "uint256"
2032
+ },
2033
+ {
2034
+ indexed: false,
2035
+ internalType: "enum IIpNFT.DataStatus",
2036
+ name: "status",
2037
+ type: "uint8"
2038
+ }
2039
+ ],
2040
+ name: "StatusUpdated",
2041
+ type: "event"
2042
+ },
1863
2043
  {
1864
2044
  anonymous: false,
1865
2045
  inputs: [
@@ -1912,16 +2092,16 @@ var abi = [
1912
2092
  },
1913
2093
  {
1914
2094
  inputs: [
1915
- {
1916
- internalType: "address",
1917
- name: "feeManager",
1918
- type: "address"
1919
- }
1920
2095
  ],
1921
- name: "addFeeManager",
2096
+ name: "MAX_PARENTS",
1922
2097
  outputs: [
2098
+ {
2099
+ internalType: "uint256",
2100
+ name: "",
2101
+ type: "uint256"
2102
+ }
1923
2103
  ],
1924
- stateMutability: "nonpayable",
2104
+ stateMutability: "view",
1925
2105
  type: "function"
1926
2106
  },
1927
2107
  {
@@ -1936,10 +2116,20 @@ var abi = [
1936
2116
  name: "tokenId",
1937
2117
  type: "uint256"
1938
2118
  },
2119
+ {
2120
+ internalType: "uint256",
2121
+ name: "expectedPrice",
2122
+ type: "uint256"
2123
+ },
1939
2124
  {
1940
2125
  internalType: "uint32",
1941
- name: "periods",
2126
+ name: "expectedDuration",
1942
2127
  type: "uint32"
2128
+ },
2129
+ {
2130
+ internalType: "address",
2131
+ name: "expectedPaymentToken",
2132
+ type: "address"
1943
2133
  }
1944
2134
  ],
1945
2135
  name: "buyAccess",
@@ -1950,13 +2140,23 @@ var abi = [
1950
2140
  },
1951
2141
  {
1952
2142
  inputs: [
2143
+ {
2144
+ internalType: "uint256",
2145
+ name: "ipId",
2146
+ type: "uint256"
2147
+ },
2148
+ {
2149
+ internalType: "uint256",
2150
+ name: "parent",
2151
+ type: "uint256"
2152
+ }
1953
2153
  ],
1954
- name: "dataNFT",
2154
+ name: "hasParentIp",
1955
2155
  outputs: [
1956
2156
  {
1957
- internalType: "contract IpNFT",
2157
+ internalType: "bool",
1958
2158
  name: "",
1959
- type: "address"
2159
+ type: "bool"
1960
2160
  }
1961
2161
  ],
1962
2162
  stateMutability: "view",
@@ -1964,18 +2164,13 @@ var abi = [
1964
2164
  },
1965
2165
  {
1966
2166
  inputs: [
1967
- {
1968
- internalType: "address",
1969
- name: "",
1970
- type: "address"
1971
- }
1972
2167
  ],
1973
- name: "feeManagers",
2168
+ name: "ipToken",
1974
2169
  outputs: [
1975
2170
  {
1976
- internalType: "bool",
2171
+ internalType: "contract IIpNFT",
1977
2172
  name: "",
1978
- type: "bool"
2173
+ type: "address"
1979
2174
  }
1980
2175
  ],
1981
2176
  stateMutability: "view",
@@ -1983,23 +2178,13 @@ var abi = [
1983
2178
  },
1984
2179
  {
1985
2180
  inputs: [
1986
- {
1987
- internalType: "address",
1988
- name: "user",
1989
- type: "address"
1990
- },
1991
- {
1992
- internalType: "uint256",
1993
- name: "tokenId",
1994
- type: "uint256"
1995
- }
1996
2181
  ],
1997
- name: "hasAccess",
2182
+ name: "owner",
1998
2183
  outputs: [
1999
2184
  {
2000
- internalType: "bool",
2185
+ internalType: "address",
2001
2186
  name: "",
2002
- type: "bool"
2187
+ type: "address"
2003
2188
  }
2004
2189
  ],
2005
2190
  stateMutability: "view",
@@ -2007,13 +2192,23 @@ var abi = [
2007
2192
  },
2008
2193
  {
2009
2194
  inputs: [
2195
+ {
2196
+ internalType: "uint256",
2197
+ name: "",
2198
+ type: "uint256"
2199
+ },
2200
+ {
2201
+ internalType: "uint256",
2202
+ name: "",
2203
+ type: "uint256"
2204
+ }
2010
2205
  ],
2011
- name: "owner",
2206
+ name: "parentRoyaltyPercent",
2012
2207
  outputs: [
2013
2208
  {
2014
- internalType: "address",
2209
+ internalType: "uint16",
2015
2210
  name: "",
2016
- type: "address"
2211
+ type: "uint16"
2017
2212
  }
2018
2213
  ],
2019
2214
  stateMutability: "view",
@@ -2056,24 +2251,53 @@ var abi = [
2056
2251
  stateMutability: "view",
2057
2252
  type: "function"
2058
2253
  },
2254
+ {
2255
+ inputs: [
2256
+ ],
2257
+ name: "renounceOwnership",
2258
+ outputs: [
2259
+ ],
2260
+ stateMutability: "nonpayable",
2261
+ type: "function"
2262
+ },
2059
2263
  {
2060
2264
  inputs: [
2061
2265
  {
2062
- internalType: "address",
2063
- name: "feeManager",
2064
- type: "address"
2266
+ internalType: "uint256",
2267
+ name: "",
2268
+ type: "uint256"
2065
2269
  }
2066
2270
  ],
2067
- name: "removeFeeManager",
2271
+ name: "royaltyStack",
2068
2272
  outputs: [
2273
+ {
2274
+ internalType: "uint16",
2275
+ name: "",
2276
+ type: "uint16"
2277
+ }
2069
2278
  ],
2070
- stateMutability: "nonpayable",
2279
+ stateMutability: "view",
2071
2280
  type: "function"
2072
2281
  },
2073
2282
  {
2074
2283
  inputs: [
2284
+ {
2285
+ internalType: "uint256",
2286
+ name: "childIpId",
2287
+ type: "uint256"
2288
+ },
2289
+ {
2290
+ internalType: "uint256[]",
2291
+ name: "parents",
2292
+ type: "uint256[]"
2293
+ },
2294
+ {
2295
+ internalType: "address",
2296
+ name: "creator",
2297
+ type: "address"
2298
+ }
2075
2299
  ],
2076
- name: "renounceOwnership",
2300
+ name: "setParentIpsAndRoyaltyPercents",
2077
2301
  outputs: [
2078
2302
  ],
2079
2303
  stateMutability: "nonpayable",
@@ -2167,28 +2391,285 @@ var abi = [
2167
2391
  ],
2168
2392
  stateMutability: "nonpayable",
2169
2393
  type: "function"
2170
- },
2171
- {
2172
- stateMutability: "payable",
2173
- type: "receive"
2174
2394
  }
2175
2395
  ];
2176
2396
 
2397
+ var constants = {
2398
+ SIWE_MESSAGE_STATEMENT: "Connect with Camp Network",
2399
+ AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
2400
+ ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
2401
+ SUPPORTED_IMAGE_FORMATS: [
2402
+ "image/jpeg",
2403
+ "image/png",
2404
+ "image/gif",
2405
+ "image/webp",
2406
+ ],
2407
+ SUPPORTED_VIDEO_FORMATS: ["video/mp4", "video/webm"],
2408
+ SUPPORTED_AUDIO_FORMATS: ["audio/mpeg", "audio/wav", "audio/ogg"],
2409
+ SUPPORTED_TEXT_FORMATS: ["text/plain"],
2410
+ AVAILABLE_SOCIALS: ["twitter", "spotify", "tiktok"],
2411
+ ACKEE_INSTANCE: "https://ackee-production-01bd.up.railway.app",
2412
+ ACKEE_EVENTS: {
2413
+ USER_CONNECTED: "ed42542d-b676-4112-b6d9-6db98048b2e0",
2414
+ USER_DISCONNECTED: "20af31ac-e602-442e-9e0e-b589f4dd4016",
2415
+ TWITTER_LINKED: "7fbea086-90ef-4679-ba69-f47f9255b34c",
2416
+ DISCORD_LINKED: "d73f5ae3-a8e8-48f2-8532-85e0c7780d6a",
2417
+ SPOTIFY_LINKED: "fc1788b4-c984-42c8-96f4-c87f6bb0b8f7",
2418
+ TIKTOK_LINKED: "4a2ffdd3-f0e9-4784-8b49-ff76ec1c0a6a",
2419
+ TELEGRAM_LINKED: "9006bc5d-bcc9-4d01-a860-4f1a201e8e47",
2420
+ },
2421
+ DATANFT_CONTRACT_ADDRESS: "0xF90733b9eCDa3b49C250B2C3E3E42c96fC93324E",
2422
+ MARKETPLACE_CONTRACT_ADDRESS: "0x5c5e6b458b2e3924E7688b8Dee1Bb49088F6Fef5",
2423
+ MAX_LICENSE_DURATION: 2628000, // 30 days in seconds
2424
+ MIN_LICENSE_DURATION: 86400, // 1 day in seconds
2425
+ MIN_PRICE: 1000000000000000, // 0.001 ETH in wei
2426
+ };
2427
+ const ENVIRONMENTS = {
2428
+ DEVELOPMENT: {
2429
+ NAME: "DEVELOPMENT",
2430
+ AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
2431
+ AUTH_ENDPOINT: "auth-testnet",
2432
+ ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
2433
+ DATANFT_CONTRACT_ADDRESS: "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D",
2434
+ MARKETPLACE_CONTRACT_ADDRESS: "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9",
2435
+ CHAIN: testnet,
2436
+ IPNFT_ABI: ipnftMainnetAbi,
2437
+ MARKETPLACE_ABI: marketplaceMainnetAbi,
2438
+ },
2439
+ PRODUCTION: {
2440
+ NAME: "PRODUCTION",
2441
+ AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
2442
+ AUTH_ENDPOINT: "auth-mainnet",
2443
+ ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
2444
+ DATANFT_CONTRACT_ADDRESS: "0x54d8490f034e3A4D07CD220a7Dc88D9B91B82c25",
2445
+ MARKETPLACE_CONTRACT_ADDRESS: "0x5D2be63c94931f82B602Ecd1538064ab4196F8e7",
2446
+ CHAIN: mainnet,
2447
+ IPNFT_ABI: ipnftMainnetAbi,
2448
+ MARKETPLACE_ABI: marketplaceMainnetAbi,
2449
+ },
2450
+ };
2451
+
2452
+ let providers = [];
2453
+ const providerStore = {
2454
+ value: () => providers,
2455
+ subscribe: (callback) => {
2456
+ function onAnnouncement(event) {
2457
+ if (providers.some((p) => p.info.uuid === event.detail.info.uuid))
2458
+ return;
2459
+ providers = [...providers, event.detail];
2460
+ callback(providers);
2461
+ }
2462
+ if (typeof window === "undefined")
2463
+ return;
2464
+ window.addEventListener("eip6963:announceProvider", onAnnouncement);
2465
+ window.dispatchEvent(new Event("eip6963:requestProvider"));
2466
+ return () => window.removeEventListener("eip6963:announceProvider", onAnnouncement);
2467
+ },
2468
+ };
2469
+
2470
+ /**
2471
+ * Formats an Ethereum address by truncating it to the first and last n characters.
2472
+ * @param {string} address - The Ethereum address to format.
2473
+ * @param {number} n - The number of characters to keep from the start and end of the address.
2474
+ * @return {string} - The formatted address.
2475
+ */
2476
+ const formatAddress = (address, n = 8) => {
2477
+ return `${address.slice(0, n)}...${address.slice(-n)}`;
2478
+ };
2479
+ /**
2480
+ * Capitalizes the first letter of a string.
2481
+ * @param {string} str - The string to capitalize.
2482
+ * @return {string} - The capitalized string.
2483
+ */
2484
+ const capitalize = (str) => {
2485
+ return str.charAt(0).toUpperCase() + str.slice(1);
2486
+ };
2487
+ /**
2488
+ * Formats a Camp amount to a human-readable string.
2489
+ * @param {number} amount - The Camp amount to format.
2490
+ * @returns {string} - The formatted Camp amount.
2491
+ */
2492
+ const formatCampAmount = (amount) => {
2493
+ if (amount >= 1000) {
2494
+ const formatted = (amount / 1000).toFixed(1);
2495
+ return formatted.endsWith(".0")
2496
+ ? formatted.slice(0, -2) + "k"
2497
+ : formatted + "k";
2498
+ }
2499
+ return amount.toString();
2500
+ };
2501
+ /**
2502
+ * Uploads a file to a specified URL with progress tracking.
2503
+ * Falls back to a simple fetch request if XMLHttpRequest is not available.
2504
+ * @param {File} file - The file to upload.
2505
+ * @param {string} url - The URL to upload the file to.
2506
+ * @param {UploadProgressCallback} onProgress - A callback function to track upload progress.
2507
+ * @returns {Promise<string>} - A promise that resolves with the response from the server.
2508
+ */
2509
+ const uploadWithProgress = (file, url, onProgress) => {
2510
+ return new Promise((resolve, reject) => {
2511
+ axios
2512
+ .put(url, file, Object.assign({ headers: {
2513
+ "Content-Type": file.type,
2514
+ } }, (typeof window !== "undefined" && typeof onProgress === "function"
2515
+ ? {
2516
+ onUploadProgress: (progressEvent) => {
2517
+ if (progressEvent.total) {
2518
+ const percent = (progressEvent.loaded / progressEvent.total) * 100;
2519
+ onProgress(percent);
2520
+ }
2521
+ },
2522
+ }
2523
+ : {})))
2524
+ .then((res) => {
2525
+ resolve(res.data);
2526
+ })
2527
+ .catch((error) => {
2528
+ var _a;
2529
+ const message = ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || (error === null || error === void 0 ? void 0 : error.message) || "Upload failed";
2530
+ reject(message);
2531
+ });
2532
+ });
2533
+ };
2534
+
2535
+ /**
2536
+ * Mints a Data NFT with a signature.
2537
+ * @param to The address to mint the NFT to.
2538
+ * @param tokenId The ID of the token to mint.
2539
+ * @param parents The IDs of the parent NFTs, if applicable.
2540
+ * @param hash The hash of the data associated with the NFT.
2541
+ * @param uri The URI of the NFT metadata.
2542
+ * @param licenseTerms The terms of the license for the NFT.
2543
+ * @param deadline The deadline for the minting operation.
2544
+ * @param signature The signature for the minting operation.
2545
+ * @returns A promise that resolves when the minting is complete.
2546
+ */
2547
+ function mintWithSignature(to, tokenId, parents, hash, uri, licenseTerms, deadline, signature) {
2548
+ return __awaiter(this, void 0, void 0, function* () {
2549
+ return yield this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "mintWithSignature", [to, tokenId, hash, uri, licenseTerms, deadline, parents, signature], { waitForReceipt: true });
2550
+ });
2551
+ }
2552
+ /**
2553
+ * Registers a Data NFT with the Origin service in order to obtain a signature for minting.
2554
+ * @param source The source of the Data NFT (e.g., "spotify", "twitter", "tiktok", or "file").
2555
+ * @param deadline The deadline for the registration operation.
2556
+ * @param fileKey Optional file key for file uploads.
2557
+ * @return A promise that resolves with the registration data.
2558
+ */
2559
+ function registerIpNFT(source, deadline, licenseTerms, metadata, fileKey, parents) {
2560
+ return __awaiter(this, void 0, void 0, function* () {
2561
+ const body = {
2562
+ source,
2563
+ deadline: Number(deadline),
2564
+ licenseTerms: {
2565
+ price: licenseTerms.price.toString(),
2566
+ duration: licenseTerms.duration,
2567
+ royaltyBps: licenseTerms.royaltyBps,
2568
+ paymentToken: licenseTerms.paymentToken,
2569
+ },
2570
+ metadata,
2571
+ parentId: parents || [],
2572
+ };
2573
+ if (fileKey !== undefined) {
2574
+ body.fileKey = fileKey;
2575
+ }
2576
+ const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/register`, {
2577
+ method: "POST",
2578
+ headers: {
2579
+ Authorization: `Bearer ${this.getJwt()}`,
2580
+ "Content-Type": "application/json",
2581
+ },
2582
+ body: JSON.stringify(body),
2583
+ });
2584
+ if (!res.ok) {
2585
+ throw new Error(`Failed to get signature: ${res.statusText}`);
2586
+ }
2587
+ const data = yield res.json();
2588
+ if (data.isError) {
2589
+ throw new Error(`Failed to get signature: ${data.message}`);
2590
+ }
2591
+ return data.data;
2592
+ });
2593
+ }
2594
+
2595
+ function updateTerms(tokenId, royaltyReceiver, newTerms) {
2596
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "updateTerms", [tokenId, royaltyReceiver, newTerms], { waitForReceipt: true });
2597
+ }
2598
+
2599
+ function requestDelete(tokenId) {
2600
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "finalizeDelete", [tokenId]);
2601
+ }
2602
+
2603
+ function getTerms(tokenId) {
2604
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "getTerms", [tokenId]);
2605
+ }
2606
+
2607
+ function ownerOf(tokenId) {
2608
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "ownerOf", [tokenId]);
2609
+ }
2610
+
2611
+ function balanceOf(owner) {
2612
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "balanceOf", [owner]);
2613
+ }
2614
+
2615
+ function contentHash(tokenId) {
2616
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "contentHash", [tokenId]);
2617
+ }
2618
+
2619
+ function tokenURI(tokenId) {
2620
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "tokenURI", [tokenId]);
2621
+ }
2622
+
2623
+ function dataStatus(tokenId) {
2624
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "dataStatus", [tokenId]);
2625
+ }
2626
+
2627
+ function royaltyInfo(tokenId, salePrice) {
2628
+ return __awaiter(this, void 0, void 0, function* () {
2629
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "royaltyInfo", [tokenId, salePrice]);
2630
+ });
2631
+ }
2632
+
2633
+ function getApproved(tokenId) {
2634
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "getApproved", [tokenId]);
2635
+ }
2636
+
2637
+ function isApprovedForAll(owner, operator) {
2638
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "isApprovedForAll", [owner, operator]);
2639
+ }
2640
+
2641
+ function transferFrom(from, to, tokenId) {
2642
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "transferFrom", [from, to, tokenId]);
2643
+ }
2644
+
2645
+ function safeTransferFrom(from, to, tokenId, data) {
2646
+ const args = data ? [from, to, tokenId, data] : [from, to, tokenId];
2647
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "safeTransferFrom", args);
2648
+ }
2649
+
2650
+ function approve(to, tokenId) {
2651
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "approve", [to, tokenId]);
2652
+ }
2653
+
2654
+ function setApprovalForAll(operator, approved) {
2655
+ return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "setApprovalForAll", [operator, approved]);
2656
+ }
2657
+
2177
2658
  function buyAccess(buyer, tokenId, periods, value // only for native token payments
2178
2659
  ) {
2179
- return this.callContractMethod(constants.MARKETPLACE_CONTRACT_ADDRESS, abi, "buyAccess", [buyer, tokenId, periods], { waitForReceipt: true, value });
2660
+ return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "buyAccess", [buyer, tokenId, periods], { waitForReceipt: true, value });
2180
2661
  }
2181
2662
 
2182
2663
  function renewAccess(tokenId, buyer, periods, value) {
2183
- return this.callContractMethod(constants.MARKETPLACE_CONTRACT_ADDRESS, abi, "renewAccess", [tokenId, buyer, periods], value !== undefined ? { value } : undefined);
2664
+ return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "renewAccess", [tokenId, buyer, periods], value !== undefined ? { value } : undefined);
2184
2665
  }
2185
2666
 
2186
2667
  function hasAccess(user, tokenId) {
2187
- return this.callContractMethod(constants.MARKETPLACE_CONTRACT_ADDRESS, abi, "hasAccess", [user, tokenId]);
2668
+ return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "hasAccess", [user, tokenId]);
2188
2669
  }
2189
2670
 
2190
2671
  function subscriptionExpiry(tokenId, user) {
2191
- return this.callContractMethod(constants.MARKETPLACE_CONTRACT_ADDRESS, abi, "subscriptionExpiry", [tokenId, user]);
2672
+ return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "subscriptionExpiry", [tokenId, user]);
2192
2673
  }
2193
2674
 
2194
2675
  /**
@@ -2223,56 +2704,93 @@ var _Origin_instances, _Origin_generateURL, _Origin_setOriginStatus, _Origin_wai
2223
2704
  * Handles the upload of files to Origin, as well as querying the user's stats
2224
2705
  */
2225
2706
  class Origin {
2226
- constructor(jwt, viemClient) {
2707
+ constructor(jwt, environment, viemClient) {
2227
2708
  _Origin_instances.add(this);
2228
2709
  _Origin_generateURL.set(this, (file) => __awaiter(this, void 0, void 0, function* () {
2229
- const uploadRes = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/upload-url`, {
2230
- method: "POST",
2231
- body: JSON.stringify({
2232
- name: file.name,
2233
- type: file.type,
2234
- }),
2235
- headers: {
2236
- Authorization: `Bearer ${this.jwt}`,
2237
- },
2238
- });
2239
- const data = yield uploadRes.json();
2240
- return data.isError ? data.message : data.data;
2710
+ try {
2711
+ const uploadRes = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/upload-url`, {
2712
+ method: "POST",
2713
+ body: JSON.stringify({
2714
+ name: file.name,
2715
+ type: file.type,
2716
+ }),
2717
+ headers: {
2718
+ Authorization: `Bearer ${this.jwt}`,
2719
+ "Content-Type": "application/json",
2720
+ },
2721
+ });
2722
+ if (!uploadRes.ok) {
2723
+ throw new Error(`HTTP ${uploadRes.status}: ${uploadRes.statusText}`);
2724
+ }
2725
+ const data = yield uploadRes.json();
2726
+ if (data.isError) {
2727
+ throw new Error(data.message || "Failed to generate upload URL");
2728
+ }
2729
+ return data.data;
2730
+ }
2731
+ catch (error) {
2732
+ console.error("Failed to generate upload URL:", error);
2733
+ throw error;
2734
+ }
2241
2735
  }));
2242
2736
  _Origin_setOriginStatus.set(this, (key, status) => __awaiter(this, void 0, void 0, function* () {
2243
- const res = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/update-status`, {
2244
- method: "PATCH",
2245
- body: JSON.stringify({
2246
- status,
2247
- fileKey: key,
2248
- }),
2249
- headers: {
2250
- Authorization: `Bearer ${this.jwt}`,
2251
- "Content-Type": "application/json",
2252
- },
2253
- });
2254
- if (!res.ok) {
2255
- console.error("Failed to update origin status");
2256
- return;
2737
+ try {
2738
+ const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/update-status`, {
2739
+ method: "PATCH",
2740
+ body: JSON.stringify({
2741
+ status,
2742
+ fileKey: key,
2743
+ }),
2744
+ headers: {
2745
+ Authorization: `Bearer ${this.jwt}`,
2746
+ "Content-Type": "application/json",
2747
+ },
2748
+ });
2749
+ if (!res.ok) {
2750
+ const errorText = yield res.text().catch(() => "Unknown error");
2751
+ throw new Error(`HTTP ${res.status}: ${errorText}`);
2752
+ }
2753
+ return true;
2754
+ }
2755
+ catch (error) {
2756
+ console.error("Failed to update origin status:", error);
2757
+ throw error;
2257
2758
  }
2258
2759
  }));
2259
2760
  this.uploadFile = (file, options) => __awaiter(this, void 0, void 0, function* () {
2260
- const uploadInfo = yield __classPrivateFieldGet(this, _Origin_generateURL, "f").call(this, file);
2761
+ let uploadInfo;
2762
+ try {
2763
+ uploadInfo = yield __classPrivateFieldGet(this, _Origin_generateURL, "f").call(this, file);
2764
+ }
2765
+ catch (error) {
2766
+ console.error("Failed to generate upload URL:", error);
2767
+ throw new Error(`Failed to generate upload URL: ${error instanceof Error ? error.message : String(error)}`);
2768
+ }
2261
2769
  if (!uploadInfo) {
2262
- console.error("Failed to generate upload URL");
2263
- return;
2770
+ throw new Error("Failed to generate upload URL: No upload info returned");
2264
2771
  }
2265
2772
  try {
2266
2773
  yield uploadWithProgress(file, uploadInfo.url, (options === null || options === void 0 ? void 0 : options.progressCallback) || (() => { }));
2267
2774
  }
2268
2775
  catch (error) {
2269
- yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "failed");
2270
- throw new Error("Failed to upload file: " + error);
2776
+ try {
2777
+ yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "failed");
2778
+ }
2779
+ catch (statusError) {
2780
+ console.error("Failed to update status to failed:", statusError);
2781
+ }
2782
+ const errorMessage = error instanceof Error ? error.message : String(error);
2783
+ throw new Error(`Failed to upload file: ${errorMessage}`);
2784
+ }
2785
+ try {
2786
+ yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "success");
2787
+ }
2788
+ catch (statusError) {
2789
+ console.error("Failed to update status to success:", statusError);
2271
2790
  }
2272
- yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "success");
2273
2791
  return uploadInfo;
2274
2792
  });
2275
- this.mintFile = (file, metadata, license, parentId, options) => __awaiter(this, void 0, void 0, function* () {
2793
+ this.mintFile = (file, metadata, license, parents, options) => __awaiter(this, void 0, void 0, function* () {
2276
2794
  if (!this.viemClient) {
2277
2795
  throw new Error("WalletClient not connected.");
2278
2796
  }
@@ -2280,9 +2798,18 @@ class Origin {
2280
2798
  if (!info || !info.key) {
2281
2799
  throw new Error("Failed to upload file or get upload info.");
2282
2800
  }
2283
- const deadline = BigInt(Math.floor(Date.now() / 1000) + 600); // 10 minutes from now
2284
- const registration = yield this.registerIpNFT("file", deadline, license, metadata, info.key, parentId);
2801
+ const deadline = BigInt(Date.now() + 600000); // 10 minutes from now
2802
+ const registration = yield this.registerIpNFT("file", deadline, license, metadata, info.key, parents);
2285
2803
  const { tokenId, signerAddress, creatorContentHash, signature, uri } = registration;
2804
+ console.log("[Origin MintFile] Sent payload:", {
2805
+ type: "file",
2806
+ deadline,
2807
+ license,
2808
+ metadata,
2809
+ key: info.key,
2810
+ parents,
2811
+ });
2812
+ console.log("[Origin MintFile] Registration response:", registration);
2286
2813
  if (!tokenId ||
2287
2814
  !signerAddress ||
2288
2815
  !creatorContentHash ||
@@ -2294,8 +2821,9 @@ class Origin {
2294
2821
  method: "eth_requestAccounts",
2295
2822
  params: [],
2296
2823
  });
2297
- const mintResult = yield this.mintWithSignature(account, tokenId, parentId || BigInt(0), creatorContentHash, uri, license, deadline, signature);
2824
+ const mintResult = yield this.mintWithSignature(account, tokenId, parents || [], creatorContentHash, uri, license, deadline, signature);
2298
2825
  if (mintResult.status !== "0x1") {
2826
+ console.error("Minting failed:", mintResult);
2299
2827
  throw new Error(`Minting failed with status: ${mintResult.status}`);
2300
2828
  }
2301
2829
  return tokenId.toString();
@@ -2318,15 +2846,14 @@ class Origin {
2318
2846
  method: "eth_requestAccounts",
2319
2847
  params: [],
2320
2848
  });
2321
- const mintResult = yield this.mintWithSignature(account, tokenId, BigInt(0), // parentId is not applicable for social IpNFTs
2322
- creatorContentHash, uri, license, deadline, signature);
2849
+ const mintResult = yield this.mintWithSignature(account, tokenId, [], creatorContentHash, uri, license, deadline, signature);
2323
2850
  if (mintResult.status !== "0x1") {
2324
2851
  throw new Error(`Minting Social IpNFT failed with status: ${mintResult.status}`);
2325
2852
  }
2326
2853
  return tokenId.toString();
2327
2854
  });
2328
2855
  this.getOriginUploads = () => __awaiter(this, void 0, void 0, function* () {
2329
- const res = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/files`, {
2856
+ const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/files`, {
2330
2857
  method: "GET",
2331
2858
  headers: {
2332
2859
  Authorization: `Bearer ${this.jwt}`,
@@ -2341,6 +2868,7 @@ class Origin {
2341
2868
  });
2342
2869
  this.jwt = jwt;
2343
2870
  this.viemClient = viemClient;
2871
+ this.environment = environment;
2344
2872
  // DataNFT methods
2345
2873
  this.mintWithSignature = mintWithSignature.bind(this);
2346
2874
  this.registerIpNFT = registerIpNFT.bind(this);
@@ -2377,7 +2905,7 @@ class Origin {
2377
2905
  */
2378
2906
  getOriginUsage() {
2379
2907
  return __awaiter(this, void 0, void 0, function* () {
2380
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/usage`, {
2908
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/usage`, {
2381
2909
  method: "GET",
2382
2910
  headers: {
2383
2911
  Authorization: `Bearer ${this.jwt}`,
@@ -2404,7 +2932,7 @@ class Origin {
2404
2932
  if (consent === undefined) {
2405
2933
  throw new APIError("Consent is required");
2406
2934
  }
2407
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/status`, {
2935
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/status`, {
2408
2936
  method: "PATCH",
2409
2937
  headers: {
2410
2938
  Authorization: `Bearer ${this.jwt}`,
@@ -2434,7 +2962,7 @@ class Origin {
2434
2962
  if (multiplier === undefined) {
2435
2963
  throw new APIError("Multiplier is required");
2436
2964
  }
2437
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/multiplier`, {
2965
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/multiplier`, {
2438
2966
  method: "PATCH",
2439
2967
  headers: {
2440
2968
  Authorization: `Bearer ${this.jwt}`,
@@ -2493,7 +3021,7 @@ class Origin {
2493
3021
  functionName: methodName,
2494
3022
  args: params,
2495
3023
  });
2496
- yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_ensureChainId).call(this, testnet);
3024
+ yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_ensureChainId).call(this, this.environment.CHAIN);
2497
3025
  try {
2498
3026
  const txHash = yield this.viemClient.sendTransaction({
2499
3027
  to: contractAddress,
@@ -2550,7 +3078,7 @@ class Origin {
2550
3078
  publicClient: getPublicClient(),
2551
3079
  tokenAddress: paymentToken,
2552
3080
  owner: account,
2553
- spender: constants.MARKETPLACE_CONTRACT_ADDRESS,
3081
+ spender: this.environment.MARKETPLACE_CONTRACT_ADDRESS,
2554
3082
  amount: totalCost,
2555
3083
  });
2556
3084
  return this.buyAccess(account, tokenId, periods);
@@ -2558,7 +3086,7 @@ class Origin {
2558
3086
  }
2559
3087
  getData(tokenId) {
2560
3088
  return __awaiter(this, void 0, void 0, function* () {
2561
- const response = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/data/${tokenId}`, {
3089
+ const response = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/data/${tokenId}`, {
2562
3090
  method: "GET",
2563
3091
  headers: {
2564
3092
  Authorization: `Bearer ${this.jwt}`,
@@ -2671,25 +3199,22 @@ class Auth {
2671
3199
  * @param {string|object} options.redirectUri The redirect URI used for oauth. Leave empty if you want to use the current URL. If you want different redirect URIs for different socials, pass an object with the socials as keys and the redirect URIs as values.
2672
3200
  * @param {boolean} [options.allowAnalytics=true] Whether to allow analytics to be sent.
2673
3201
  * @param {object} [options.ackeeInstance] The Ackee instance.
3202
+ * @param {("DEVELOPMENT"|"PRODUCTION")} [options.environment="DEVELOPMENT"] The environment to use.
2674
3203
  * @throws {APIError} - Throws an error if the clientId is not provided.
2675
3204
  */
2676
- constructor({ clientId, redirectUri, allowAnalytics = true, ackeeInstance, }) {
3205
+ constructor({ clientId, redirectUri, allowAnalytics = true, ackeeInstance, environment = "DEVELOPMENT", }) {
2677
3206
  _Auth_instances.add(this);
2678
3207
  _Auth_triggers.set(this, void 0);
2679
3208
  _Auth_ackeeInstance.set(this, void 0);
2680
3209
  if (!clientId) {
2681
3210
  throw new Error("clientId is required");
2682
3211
  }
3212
+ if (["PRODUCTION", "DEVELOPMENT"].indexOf(environment) === -1) {
3213
+ throw new Error("Invalid environment, must be DEVELOPMENT or PRODUCTION");
3214
+ }
2683
3215
  this.viem = null;
2684
- // if (typeof window !== "undefined") {
2685
- // if (window.ethereum) this.viem = getClient(window.ethereum);
2686
- // }
3216
+ this.environment = ENVIRONMENTS[environment];
2687
3217
  this.redirectUri = createRedirectUriObject(redirectUri);
2688
- if (ackeeInstance)
2689
- __classPrivateFieldSet(this, _Auth_ackeeInstance, ackeeInstance, "f");
2690
- if (allowAnalytics &&
2691
- !__classPrivateFieldGet(this, _Auth_ackeeInstance, "f") &&
2692
- typeof window !== "undefined") ;
2693
3218
  this.clientId = clientId;
2694
3219
  this.isAuthenticated = false;
2695
3220
  this.jwt = null;
@@ -2743,13 +3268,14 @@ class Auth {
2743
3268
  if (!provider) {
2744
3269
  throw new APIError("provider is required");
2745
3270
  }
2746
- this.viem = getClient(provider, info.name, address);
3271
+ this.viem = getClient(provider, info.name, this.environment.CHAIN, address);
2747
3272
  if (this.origin) {
2748
3273
  this.origin.setViemClient(this.viem);
2749
3274
  }
2750
3275
  // TODO: only use one of these
2751
3276
  __classPrivateFieldGet(this, _Auth_instances, "m", _Auth_trigger).call(this, "viem", this.viem);
2752
3277
  __classPrivateFieldGet(this, _Auth_instances, "m", _Auth_trigger).call(this, "provider", { provider, info });
3278
+ localStorage.setItem("camp-sdk:provider", JSON.stringify(info));
2753
3279
  }
2754
3280
  /**
2755
3281
  * Set the wallet address. This is useful for edge cases where the provider can't return the wallet address. Don't use this unless you know what you're doing.
@@ -2759,29 +3285,88 @@ class Auth {
2759
3285
  setWalletAddress(walletAddress) {
2760
3286
  this.walletAddress = walletAddress;
2761
3287
  }
3288
+ /**
3289
+ * Recover the provider from local storage.
3290
+ * @returns {Promise<void>}
3291
+ */
2762
3292
  recoverProvider() {
2763
3293
  return __awaiter(this, void 0, void 0, function* () {
2764
- var _a, _b, _c;
3294
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
2765
3295
  if (!this.walletAddress) {
2766
3296
  console.warn("No wallet address found in local storage. Please connect your wallet again.");
2767
3297
  return;
2768
3298
  }
3299
+ const lastProvider = JSON.parse(localStorage.getItem("camp-sdk:provider") || "{}");
2769
3300
  let provider;
2770
3301
  const providers = (_a = providerStore.value()) !== null && _a !== void 0 ? _a : [];
3302
+ // first pass: try to find provider by UUID/name and check if it has the right address
3303
+ // without prompting (using eth_accounts)
2771
3304
  for (const p of providers) {
2772
3305
  try {
2773
- const accounts = yield p.provider.request({
2774
- method: "eth_requestAccounts",
2775
- });
2776
- if (((_b = accounts[0]) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === ((_c = this.walletAddress) === null || _c === void 0 ? void 0 : _c.toLowerCase())) {
2777
- provider = p;
2778
- break;
3306
+ if ((lastProvider.uuid && ((_b = p.info) === null || _b === void 0 ? void 0 : _b.uuid) === lastProvider.uuid) ||
3307
+ (lastProvider.name && ((_c = p.info) === null || _c === void 0 ? void 0 : _c.name) === lastProvider.name)) {
3308
+ // silently check if the wallet address matches first
3309
+ const accounts = yield p.provider.request({
3310
+ method: "eth_accounts",
3311
+ });
3312
+ if (accounts.length > 0 &&
3313
+ ((_d = accounts[0]) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === ((_e = this.walletAddress) === null || _e === void 0 ? void 0 : _e.toLowerCase())) {
3314
+ provider = p;
3315
+ break;
3316
+ }
2779
3317
  }
2780
3318
  }
2781
3319
  catch (err) {
2782
3320
  console.warn("Failed to fetch accounts from provider:", err);
2783
3321
  }
2784
3322
  }
3323
+ // second pass: if no provider found by UUID/name match, try to find by address only
3324
+ // but still avoid prompting
3325
+ if (!provider) {
3326
+ for (const p of providers) {
3327
+ try {
3328
+ // skip providers we already checked in the first pass
3329
+ if ((lastProvider.uuid && ((_f = p.info) === null || _f === void 0 ? void 0 : _f.uuid) === lastProvider.uuid) ||
3330
+ (lastProvider.name && ((_g = p.info) === null || _g === void 0 ? void 0 : _g.name) === lastProvider.name)) {
3331
+ continue;
3332
+ }
3333
+ const accounts = yield p.provider.request({
3334
+ method: "eth_accounts",
3335
+ });
3336
+ if (accounts.length > 0 &&
3337
+ ((_h = accounts[0]) === null || _h === void 0 ? void 0 : _h.toLowerCase()) === ((_j = this.walletAddress) === null || _j === void 0 ? void 0 : _j.toLowerCase())) {
3338
+ provider = p;
3339
+ break;
3340
+ }
3341
+ }
3342
+ catch (err) {
3343
+ console.warn("Failed to fetch accounts from provider:", err);
3344
+ }
3345
+ }
3346
+ }
3347
+ // third pass: if still no provider found and we have UUID/name info,
3348
+ // try prompting the user (only for the stored provider)
3349
+ if (!provider && (lastProvider.uuid || lastProvider.name)) {
3350
+ for (const p of providers) {
3351
+ try {
3352
+ if ((lastProvider.uuid && ((_k = p.info) === null || _k === void 0 ? void 0 : _k.uuid) === lastProvider.uuid) ||
3353
+ (lastProvider.name && ((_l = p.info) === null || _l === void 0 ? void 0 : _l.name) === lastProvider.name)) {
3354
+ console.log("Attempting to reconnect to stored provider:", ((_m = p.info) === null || _m === void 0 ? void 0 : _m.name) || ((_o = p.info) === null || _o === void 0 ? void 0 : _o.uuid));
3355
+ const accounts = yield p.provider.request({
3356
+ method: "eth_requestAccounts",
3357
+ });
3358
+ if (accounts.length > 0 &&
3359
+ ((_p = accounts[0]) === null || _p === void 0 ? void 0 : _p.toLowerCase()) === ((_q = this.walletAddress) === null || _q === void 0 ? void 0 : _q.toLowerCase())) {
3360
+ provider = p;
3361
+ break;
3362
+ }
3363
+ }
3364
+ }
3365
+ catch (err) {
3366
+ console.warn("Failed to reconnect to stored provider:", err);
3367
+ }
3368
+ }
3369
+ }
2785
3370
  if (provider) {
2786
3371
  this.setProvider({
2787
3372
  provider: provider.provider,
@@ -2814,6 +3399,7 @@ class Auth {
2814
3399
  localStorage.removeItem("camp-sdk:wallet-address");
2815
3400
  localStorage.removeItem("camp-sdk:user-id");
2816
3401
  localStorage.removeItem("camp-sdk:jwt");
3402
+ localStorage.removeItem("camp-sdk:environment");
2817
3403
  // await this.#sendAnalyticsEvent(
2818
3404
  // constants.ACKEE_EVENTS.USER_DISCONNECTED,
2819
3405
  // "User Disconnected"
@@ -2844,10 +3430,11 @@ class Auth {
2844
3430
  this.isAuthenticated = true;
2845
3431
  this.userId = res.userId;
2846
3432
  this.jwt = res.token;
2847
- this.origin = new Origin(this.jwt, this.viem);
3433
+ this.origin = new Origin(this.jwt, this.environment, this.viem);
2848
3434
  localStorage.setItem("camp-sdk:jwt", this.jwt);
2849
3435
  localStorage.setItem("camp-sdk:wallet-address", this.walletAddress);
2850
3436
  localStorage.setItem("camp-sdk:user-id", this.userId);
3437
+ localStorage.setItem("camp-sdk:environment", this.environment.NAME);
2851
3438
  __classPrivateFieldGet(this, _Auth_instances, "m", _Auth_trigger).call(this, "state", "authenticated");
2852
3439
  yield __classPrivateFieldGet(this, _Auth_instances, "m", _Auth_sendAnalyticsEvent).call(this, constants.ACKEE_EVENTS.USER_CONNECTED, "User Connected");
2853
3440
  return {
@@ -2882,7 +3469,7 @@ class Auth {
2882
3469
  return __awaiter(this, void 0, void 0, function* () {
2883
3470
  if (!this.isAuthenticated)
2884
3471
  throw new Error("User needs to be authenticated");
2885
- const connections = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/client-user/connections-sdk`, {
3472
+ const connections = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/client-user/connections-sdk`, {
2886
3473
  method: "GET",
2887
3474
  headers: {
2888
3475
  Authorization: `Bearer ${this.jwt}`,
@@ -2912,11 +3499,7 @@ class Auth {
2912
3499
  if (!this.isAuthenticated) {
2913
3500
  throw new Error("User needs to be authenticated");
2914
3501
  }
2915
- // await this.#sendAnalyticsEvent(
2916
- // constants.ACKEE_EVENTS.TWITTER_LINKED,
2917
- // "Twitter Linked"
2918
- // );
2919
- window.location.href = `${constants.AUTH_HUB_BASE_API}/twitter/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["twitter"]}`;
3502
+ window.location.href = `${this.environment.AUTH_HUB_BASE_API}/twitter/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["twitter"]}`;
2920
3503
  });
2921
3504
  }
2922
3505
  /**
@@ -2929,11 +3512,7 @@ class Auth {
2929
3512
  if (!this.isAuthenticated) {
2930
3513
  throw new Error("User needs to be authenticated");
2931
3514
  }
2932
- // await this.#sendAnalyticsEvent(
2933
- // constants.ACKEE_EVENTS.DISCORD_LINKED,
2934
- // "Discord Linked"
2935
- // );
2936
- window.location.href = `${constants.AUTH_HUB_BASE_API}/discord/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["discord"]}`;
3515
+ window.location.href = `${this.environment.AUTH_HUB_BASE_API}/discord/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["discord"]}`;
2937
3516
  });
2938
3517
  }
2939
3518
  /**
@@ -2946,11 +3525,7 @@ class Auth {
2946
3525
  if (!this.isAuthenticated) {
2947
3526
  throw new Error("User needs to be authenticated");
2948
3527
  }
2949
- // await this.#sendAnalyticsEvent(
2950
- // constants.ACKEE_EVENTS.SPOTIFY_LINKED,
2951
- // "Spotify Linked"
2952
- // );
2953
- window.location.href = `${constants.AUTH_HUB_BASE_API}/spotify/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["spotify"]}`;
3528
+ window.location.href = `${this.environment.AUTH_HUB_BASE_API}/spotify/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["spotify"]}`;
2954
3529
  });
2955
3530
  }
2956
3531
  /**
@@ -2964,7 +3539,7 @@ class Auth {
2964
3539
  if (!this.isAuthenticated) {
2965
3540
  throw new Error("User needs to be authenticated");
2966
3541
  }
2967
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/tiktok/connect-sdk`, {
3542
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/tiktok/connect-sdk`, {
2968
3543
  method: "POST",
2969
3544
  redirect: "follow",
2970
3545
  headers: {
@@ -3005,7 +3580,7 @@ class Auth {
3005
3580
  if (!phoneNumber)
3006
3581
  throw new APIError("Phone number is required");
3007
3582
  yield this.unlinkTelegram();
3008
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/telegram/sendOTP-sdk`, {
3583
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/telegram/sendOTP-sdk`, {
3009
3584
  method: "POST",
3010
3585
  redirect: "follow",
3011
3586
  headers: {
@@ -3039,7 +3614,7 @@ class Auth {
3039
3614
  throw new Error("User needs to be authenticated");
3040
3615
  if (!phoneNumber || !otp || !phoneCodeHash)
3041
3616
  throw new APIError("Phone number, OTP, and phone code hash are required");
3042
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/telegram/signIn-sdk`, {
3617
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/telegram/signIn-sdk`, {
3043
3618
  method: "POST",
3044
3619
  redirect: "follow",
3045
3620
  headers: {
@@ -3075,7 +3650,7 @@ class Auth {
3075
3650
  if (!this.isAuthenticated) {
3076
3651
  throw new Error("User needs to be authenticated");
3077
3652
  }
3078
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/twitter/disconnect-sdk`, {
3653
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/twitter/disconnect-sdk`, {
3079
3654
  method: "POST",
3080
3655
  redirect: "follow",
3081
3656
  headers: {
@@ -3106,7 +3681,7 @@ class Auth {
3106
3681
  if (!this.isAuthenticated) {
3107
3682
  throw new APIError("User needs to be authenticated");
3108
3683
  }
3109
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/discord/disconnect-sdk`, {
3684
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/discord/disconnect-sdk`, {
3110
3685
  method: "POST",
3111
3686
  redirect: "follow",
3112
3687
  headers: {
@@ -3137,7 +3712,7 @@ class Auth {
3137
3712
  if (!this.isAuthenticated) {
3138
3713
  throw new APIError("User needs to be authenticated");
3139
3714
  }
3140
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/spotify/disconnect-sdk`, {
3715
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/spotify/disconnect-sdk`, {
3141
3716
  method: "POST",
3142
3717
  redirect: "follow",
3143
3718
  headers: {
@@ -3168,7 +3743,7 @@ class Auth {
3168
3743
  if (!this.isAuthenticated) {
3169
3744
  throw new APIError("User needs to be authenticated");
3170
3745
  }
3171
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/tiktok/disconnect-sdk`, {
3746
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/tiktok/disconnect-sdk`, {
3172
3747
  method: "POST",
3173
3748
  redirect: "follow",
3174
3749
  headers: {
@@ -3199,7 +3774,7 @@ class Auth {
3199
3774
  if (!this.isAuthenticated) {
3200
3775
  throw new APIError("User needs to be authenticated");
3201
3776
  }
3202
- const data = yield fetch(`${constants.AUTH_HUB_BASE_API}/telegram/disconnect-sdk`, {
3777
+ const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/telegram/disconnect-sdk`, {
3203
3778
  method: "POST",
3204
3779
  redirect: "follow",
3205
3780
  headers: {
@@ -3232,32 +3807,16 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
3232
3807
  const walletAddress = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:wallet-address");
3233
3808
  const userId = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:user-id");
3234
3809
  const jwt = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:jwt");
3235
- if (walletAddress && userId && jwt) {
3810
+ const lastEnvironment = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:environment");
3811
+ if (walletAddress &&
3812
+ userId &&
3813
+ jwt &&
3814
+ (lastEnvironment === this.environment.NAME || !lastEnvironment)) {
3236
3815
  this.walletAddress = walletAddress;
3237
3816
  this.userId = userId;
3238
3817
  this.jwt = jwt;
3239
- this.origin = new Origin(this.jwt);
3818
+ this.origin = new Origin(this.jwt, this.environment);
3240
3819
  this.isAuthenticated = true;
3241
- /*
3242
- let selectedProvider = provider;
3243
-
3244
- if (!selectedProvider) {
3245
- const providers = providerStore.value() ?? [];
3246
- for (const p of providers) {
3247
- try {
3248
- const accounts = await p.provider.request({
3249
- method: "eth_requestAccounts",
3250
- });
3251
- if (accounts[0]?.toLowerCase() === walletAddress.toLowerCase()) {
3252
- selectedProvider = p;
3253
- break;
3254
- }
3255
- } catch (err) {
3256
- console.warn("Failed to fetch accounts from provider:", err);
3257
- }
3258
- }
3259
- }
3260
- */
3261
3820
  if (provider) {
3262
3821
  this.setProvider({
3263
3822
  provider: provider.provider,
@@ -3267,6 +3826,10 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
3267
3826
  address: walletAddress,
3268
3827
  });
3269
3828
  }
3829
+ else {
3830
+ console.warn("No matching provider was given for the stored wallet address. Trying to recover provider.");
3831
+ yield this.recoverProvider();
3832
+ }
3270
3833
  }
3271
3834
  else {
3272
3835
  this.isAuthenticated = false;
@@ -3286,7 +3849,7 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
3286
3849
  }, _Auth_fetchNonce = function _Auth_fetchNonce() {
3287
3850
  return __awaiter(this, void 0, void 0, function* () {
3288
3851
  try {
3289
- const res = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/client-user/nonce`, {
3852
+ const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/client-user/nonce`, {
3290
3853
  method: "POST",
3291
3854
  headers: {
3292
3855
  "Content-Type": "application/json",
@@ -3307,7 +3870,7 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
3307
3870
  }, _Auth_verifySignature = function _Auth_verifySignature(message, signature) {
3308
3871
  return __awaiter(this, void 0, void 0, function* () {
3309
3872
  try {
3310
- const res = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/client-user/verify`, {
3873
+ const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/client-user/verify`, {
3311
3874
  method: "POST",
3312
3875
  headers: {
3313
3876
  "Content-Type": "application/json",
@@ -3388,7 +3951,7 @@ const SocialsProvider = ({ children }) => {
3388
3951
  }
3389
3952
  const query = useQuery({
3390
3953
  queryKey: ["socials", authenticated],
3391
- queryFn: () => { var _a; return (_a = auth === null || auth === void 0 ? void 0 : auth.getLinkedSocials()) !== null && _a !== void 0 ? _a : Promise.resolve(null); }
3954
+ queryFn: () => { var _a; return (_a = auth === null || auth === void 0 ? void 0 : auth.getLinkedSocials()) !== null && _a !== void 0 ? _a : Promise.resolve(null); },
3392
3955
  });
3393
3956
  return (React.createElement(SocialsContext.Provider, { value: {
3394
3957
  query,
@@ -3422,11 +3985,11 @@ function styleInject(css, ref) {
3422
3985
  }
3423
3986
  }
3424
3987
 
3425
- var css_248z$3 = ".toasts-module_toast-container__Bhoiq{bottom:10px;display:flex;flex-direction:column-reverse;gap:10px;position:fixed;right:10px;z-index:1000}.toasts-module_toast__C-fnX{word-wrap:break-word;border-radius:5px;box-shadow:0 2px 10px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;max-width:300px;opacity:.9;padding:10px 20px;position:relative}.toasts-module_toast-info__ho5FH{background-color:#007bff}.toasts-module_toast-warning__KTUFG{background-color:#cc4e02}.toasts-module_toast-error__-y03G{background-color:#dc3545}.toasts-module_toast-success__qgwDJ{background-color:#28a745}.toasts-module_toast-enter__Gduwi{animation:toasts-module_toast-in__uFYoe .3s forwards}.toasts-module_toast-exit__obsng{animation:toasts-module_toast-out__-c3s6 .3s forwards}@keyframes toasts-module_toast-in__uFYoe{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toasts-module_toast-out__-c3s6{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvYXN0cy5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUVFLFdBQVksQ0FHWixZQUFhLENBQ2IsNkJBQThCLENBQzlCLFFBQVMsQ0FOVCxjQUFlLENBRWYsVUFBVyxDQUNYLFlBSUYsQ0FFQSw0QkFVRSxvQkFBcUIsQ0FSckIsaUJBQWtCLENBR2xCLG9DQUF5QyxDQUZ6QyxVQUFXLENBSVgsY0FBZSxDQUlmLDBJQUVZLENBVFosY0FBZSxDQUtmLGVBQWdCLENBSGhCLFVBQVksQ0FMWixpQkFBa0IsQ0FPbEIsaUJBTUYsQ0FFQSxpQ0FDRSx3QkFDRixDQUVBLG9DQUNFLHdCQUNGLENBRUEsa0NBQ0Usd0JBQ0YsQ0FFQSxvQ0FDRSx3QkFDRixDQUVBLGtDQUNFLG9EQUNGLENBRUEsaUNBQ0UscURBQ0YsQ0FFQSx5Q0FDRSxHQUNFLFNBQVUsQ0FDViwwQkFDRixDQUNBLEdBQ0UsU0FBVSxDQUNWLHVCQUNGLENBQ0YsQ0FFQSwwQ0FDRSxHQUNFLFNBQVUsQ0FDVix1QkFDRixDQUNBLEdBQ0UsU0FBVSxDQUNWLDBCQUNGLENBQ0YiLCJmaWxlIjoidG9hc3RzLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudG9hc3QtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGdhcDogMTBweDtcbn1cblxuLnRvYXN0IHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBvcGFjaXR5OiAwLjk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZvbnQtZmFtaWx5OiBcIlNhdG9zaGlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsXG4gICAgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIixcbiAgICBzYW5zLXNlcmlmO1xufVxuXG4udG9hc3QtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG59XG5cbi50b2FzdC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbn1cblxuLnRvYXN0LWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcbn1cblxuLnRvYXN0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xufVxuXG4udG9hc3QtZW50ZXIge1xuICBhbmltYXRpb246IHRvYXN0LWluIDAuM3MgZm9yd2FyZHM7XG59XG5cbi50b2FzdC1leGl0IHtcbiAgYW5pbWF0aW9uOiB0b2FzdC1vdXQgMC4zcyBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyB0b2FzdC1pbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRvYXN0LW91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxufVxuIl19 */";
3426
- var styles$2 = {"toast-container":"toasts-module_toast-container__Bhoiq","toast":"toasts-module_toast__C-fnX","toast-info":"toasts-module_toast-info__ho5FH","toast-warning":"toasts-module_toast-warning__KTUFG","toast-error":"toasts-module_toast-error__-y03G","toast-success":"toasts-module_toast-success__qgwDJ","toast-enter":"toasts-module_toast-enter__Gduwi","toast-in":"toasts-module_toast-in__uFYoe","toast-exit":"toasts-module_toast-exit__obsng","toast-out":"toasts-module_toast-out__-c3s6"};
3988
+ var css_248z$3 = ".toasts-module_toast-container__39POD{bottom:10px;display:flex;flex-direction:column-reverse;gap:10px;position:fixed;right:10px;z-index:1000}.toasts-module_toast__z747D{word-wrap:break-word;box-shadow:0 2px 10px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-family:Work Sans,sans-serif;font-size:14px;max-width:300px;opacity:.9;padding:10px 20px;position:relative}.toasts-module_toast-info__rM92k{background-color:#007bff}.toasts-module_toast-warning__WQSMC{background-color:#cc4e02}.toasts-module_toast-error__TpDbQ{background-color:#dc3545}.toasts-module_toast-success__Yk4FE{background-color:#28a745}.toasts-module_toast-enter__Gh-yK{animation:toasts-module_toast-in__CtZB9 .3s forwards}.toasts-module_toast-exit__fUAOs{animation:toasts-module_toast-out__YqBLr .3s forwards}@keyframes toasts-module_toast-in__CtZB9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toasts-module_toast-out__YqBLr{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvYXN0cy5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUVFLFdBQVksQ0FHWixZQUFhLENBQ2IsNkJBQThCLENBQzlCLFFBQVMsQ0FOVCxjQUFlLENBRWYsVUFBVyxDQUNYLFlBSUYsQ0FFQSw0QkFVRSxvQkFBcUIsQ0FMckIsb0NBQXlDLENBRnpDLFVBQVcsQ0FJWCxjQUFlLENBSWYsZ0NBQW9DLENBUHBDLGNBQWUsQ0FLZixlQUFnQixDQUhoQixVQUFZLENBTFosaUJBQWtCLENBT2xCLGlCQUlGLENBRUEsaUNBQ0Usd0JBQ0YsQ0FFQSxvQ0FDRSx3QkFDRixDQUVBLGtDQUNFLHdCQUNGLENBRUEsb0NBQ0Usd0JBQ0YsQ0FFQSxrQ0FDRSxvREFDRixDQUVBLGlDQUNFLHFEQUNGLENBRUEseUNBQ0UsR0FDRSxTQUFVLENBQ1YsMEJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVix1QkFDRixDQUNGLENBRUEsMENBQ0UsR0FDRSxTQUFVLENBQ1YsdUJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDViwwQkFDRixDQUNGIiwiZmlsZSI6InRvYXN0cy5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRvYXN0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBnYXA6IDEwcHg7XG59XG5cbi50b2FzdCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgLyogYm9yZGVyLXJhZGl1czogNXB4OyAqL1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3BhY2l0eTogMC45O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cblxuLnRvYXN0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xufVxuXG4udG9hc3Qtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG59XG5cbi50b2FzdC1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG59XG5cbi50b2FzdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbn1cblxuLnRvYXN0LWVudGVyIHtcbiAgYW5pbWF0aW9uOiB0b2FzdC1pbiAwLjNzIGZvcndhcmRzO1xufVxuXG4udG9hc3QtZXhpdCB7XG4gIGFuaW1hdGlvbjogdG9hc3Qtb3V0IDAuM3MgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgdG9hc3QtaW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0b2FzdC1vdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbn1cbiJdfQ== */";
3989
+ var styles$2 = {"toast-container":"toasts-module_toast-container__39POD","toast":"toasts-module_toast__z747D","toast-info":"toasts-module_toast-info__rM92k","toast-warning":"toasts-module_toast-warning__WQSMC","toast-error":"toasts-module_toast-error__TpDbQ","toast-success":"toasts-module_toast-success__Yk4FE","toast-enter":"toasts-module_toast-enter__Gh-yK","toast-in":"toasts-module_toast-in__CtZB9","toast-exit":"toasts-module_toast-exit__fUAOs","toast-out":"toasts-module_toast-out__YqBLr"};
3427
3990
  styleInject(css_248z$3);
3428
3991
 
3429
- var css_248z$2 = ".tooltip-module_tooltip-container__X8blY{display:inline-block;min-height:-moz-fit-content;min-height:fit-content;position:relative}.tooltip-module_tooltip__IN7yd{border-radius:.25rem;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:.875rem;font-weight:500;min-height:-moz-fit-content;min-height:fit-content;opacity:0;padding:.5rem;position:absolute;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;white-space:nowrap;z-index:100}@keyframes tooltip-module_fadeIn__KR3aX{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@keyframes tooltip-module_fadeOut__JJntn{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.tooltip-module_tooltip__IN7yd.tooltip-module_show__0eq9c{animation:tooltip-module_fadeIn__KR3aX .2s ease-in-out forwards}.tooltip-module_tooltip__IN7yd.tooltip-module_top__5rD4C{bottom:100%;left:50%;margin-bottom:.5rem;transform:translateX(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_bottom__Bk3EH{left:50%;margin-top:.5rem;top:100%;transform:translateX(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_left__PRFtS{margin-right:.5rem;right:100%;top:50%;transform:translateY(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_right__nQugl{left:100%;margin-left:.5rem;top:50%;transform:translateY(-50%)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2x0aXAubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FFRSxvQkFBcUIsQ0FDckIsMkJBQXVCLENBQXZCLHNCQUF1QixDQUZ2QixpQkFJRixDQUVBLCtCQUdFLG9CQUFzQixDQVN0QiwwSUFFWSxDQVZaLGlCQUFtQixDQUNuQixlQUFnQixDQU1oQiwyQkFBdUIsQ0FBdkIsc0JBQXVCLENBSHZCLFNBQVUsQ0FOVixhQUFlLENBRGYsaUJBQWtCLENBU2xCLCtDQUFtRCxDQURuRCxpQkFBa0IsQ0FIbEIsa0JBQW1CLENBQ25CLFdBUUYsQ0FFQSx3Q0FDRSxHQUNFLFNBQVUsQ0FDVixpQkFDRixDQUNBLEdBQ0UsU0FBVSxDQUNWLGtCQUNGLENBQ0YsQ0FFQSx5Q0FDRSxHQUNFLFNBQVUsQ0FDVixrQkFDRixDQUNBLEdBQ0UsU0FBVSxDQUNWLGlCQUNGLENBQ0YsQ0FDQSwwREFDRSwrREFDRixDQUVBLHlEQUNFLFdBQVksQ0FDWixRQUFTLENBRVQsbUJBQXFCLENBRHJCLDBCQUVGLENBRUEsNERBRUUsUUFBUyxDQUVULGdCQUFrQixDQUhsQixRQUFTLENBRVQsMEJBRUYsQ0FFQSwwREFJRSxrQkFBb0IsQ0FIcEIsVUFBVyxDQUNYLE9BQVEsQ0FDUiwwQkFFRixDQUVBLDJEQUNFLFNBQVUsQ0FHVixpQkFBbUIsQ0FGbkIsT0FBUSxDQUNSLDBCQUVGIiwiZmlsZSI6InRvb2x0aXAubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50b29sdGlwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgXG59XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDEwMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdmlzaWJpbGl0eSAwLjJzIGVhc2U7XG4gIG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICAgIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgc2Fucy1zZXJpZjtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbi50b29sdGlwLnNob3cge1xuICBhbmltYXRpb246IGZhZGVJbiAwLjJzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xufVxuXG4udG9vbHRpcC50b3Age1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi50b29sdGlwLmJvdHRvbSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLnRvb2x0aXAubGVmdCB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnRvb2x0aXAucmlnaHQge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuIl19 */";
3992
+ var css_248z$2 = ".tooltip-module_tooltip-container__X8blY{display:inline-block;min-height:-moz-fit-content;min-height:fit-content;position:relative}.tooltip-module_tooltip__IN7yd{font-family:Work Sans,sans-serif;font-size:.875rem;font-weight:500;min-height:-moz-fit-content;min-height:fit-content;opacity:0;padding:.5rem .75rem;position:absolute;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;white-space:nowrap;z-index:100}@keyframes tooltip-module_fadeIn__KR3aX{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@keyframes tooltip-module_fadeOut__JJntn{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.tooltip-module_tooltip__IN7yd.tooltip-module_show__0eq9c{animation:tooltip-module_fadeIn__KR3aX .2s ease-in-out forwards}.tooltip-module_tooltip__IN7yd.tooltip-module_top__5rD4C{bottom:100%;left:50%;margin-bottom:.5rem;transform:translateX(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_bottom__Bk3EH{left:50%;margin-top:.5rem;top:100%;transform:translateX(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_left__PRFtS{margin-right:.5rem;right:100%;top:50%;transform:translateY(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_right__nQugl{left:100%;margin-left:.5rem;top:50%;transform:translateY(-50%)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2x0aXAubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FFRSxvQkFBcUIsQ0FDckIsMkJBQXVCLENBQXZCLHNCQUF1QixDQUZ2QixpQkFHRixDQUVBLCtCQVlFLGdDQUFvQyxDQVJwQyxpQkFBbUIsQ0FDbkIsZUFBZ0IsQ0FNaEIsMkJBQXVCLENBQXZCLHNCQUF1QixDQUh2QixTQUFVLENBTlYsb0JBQXVCLENBRHZCLGlCQUFrQixDQVNsQiwrQ0FBbUQsQ0FEbkQsaUJBQWtCLENBSGxCLGtCQUFtQixDQUNuQixXQU1GLENBRUEsd0NBQ0UsR0FDRSxTQUFVLENBQ1YsaUJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVixrQkFDRixDQUNGLENBRUEseUNBQ0UsR0FDRSxTQUFVLENBQ1Ysa0JBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVixpQkFDRixDQUNGLENBQ0EsMERBQ0UsK0RBQ0YsQ0FFQSx5REFDRSxXQUFZLENBQ1osUUFBUyxDQUVULG1CQUFxQixDQURyQiwwQkFFRixDQUVBLDREQUVFLFFBQVMsQ0FFVCxnQkFBa0IsQ0FIbEIsUUFBUyxDQUVULDBCQUVGLENBRUEsMERBSUUsa0JBQW9CLENBSHBCLFVBQVcsQ0FDWCxPQUFRLENBQ1IsMEJBRUYsQ0FFQSwyREFDRSxTQUFVLENBR1YsaUJBQW1CLENBRm5CLE9BQVEsQ0FDUiwwQkFFRiIsImZpbGUiOiJ0b29sdGlwLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudG9vbHRpcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgei1pbmRleDogMTAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB2aXNpYmlsaXR5IDAuMnMgZWFzZTtcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLnRvb2x0aXAuc2hvdyB7XG4gIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG59XG5cbi50b29sdGlwLnRvcCB7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnRvb2x0aXAuYm90dG9tIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4udG9vbHRpcC5sZWZ0IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4udG9vbHRpcC5yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4iXX0= */";
3430
3993
  var styles$1 = {"tooltip-container":"tooltip-module_tooltip-container__X8blY","tooltip":"tooltip-module_tooltip__IN7yd","show":"tooltip-module_show__0eq9c","fadeIn":"tooltip-module_fadeIn__KR3aX","top":"tooltip-module_top__5rD4C","bottom":"tooltip-module_bottom__Bk3EH","left":"tooltip-module_left__PRFtS","right":"tooltip-module_right__nQugl","fadeOut":"tooltip-module_fadeOut__JJntn"};
3431
3994
  styleInject(css_248z$2);
3432
3995
 
@@ -3512,8 +4075,8 @@ const getTooltipPosition = (rect, position) => {
3512
4075
  return { top, left, transform };
3513
4076
  };
3514
4077
 
3515
- var css_248z$1 = "@import url(\"https://api.fontshare.com/v2/css?f[]=satoshi@1&display=swap\");.auth-module_modal__yyg5L{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000;background-color:rgba(0,0,0,.4);height:100%;left:0;overflow:auto;position:fixed;top:0;transition:all .3s;width:100%;z-index:85}.auth-module_modal__yyg5L .auth-module_outer-container__RraOQ{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);@media screen and (max-width:440px){border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:0;top:auto;transform:translate(-50%);width:100%}}.auth-module_outer-container__RraOQ .auth-module_container__7utns{align-items:center;background-color:#fefefe;border:1px solid #888;border-radius:1.5rem;box-sizing:border-box;flex-direction:column;justify-content:center;padding:1.5rem 1.5rem 1rem;position:relative;text-align:center;width:400px;@media screen and (max-width:440px){border-radius:0;height:auto;max-height:100vh;overflow-y:auto;padding-bottom:1rem;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;width:100%}}.auth-module_container__7utns.auth-module_linking-container__mYNwD{max-width:300px;@media screen and (max-width:440px){max-width:100%}}.auth-module_origin-tab__miOUK{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;width:100%}.auth-module_origin-section__UBhBB{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:space-evenly;width:100%}.auth-module_origin-section__UBhBB .auth-module_origin-container__ZIk4c{align-items:center;color:#333;display:flex;flex-direction:column;font-size:.875rem;font-weight:400;justify-content:center;margin-bottom:.5rem;margin-top:.5rem;min-height:3rem;min-width:1rem;text-align:center;width:100%}.auth-module_origin-wrapper__JQfEI{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;width:100%}.auth-module_origin-container__ZIk4c .auth-module_origin-label__l-1q9{color:#777;font-size:.75rem;font-weight:400;margin-bottom:.25rem;text-align:center}.auth-module_horizontal-divider__YfWCy{background-color:#ddd;height:1px;margin-bottom:.5rem;margin-top:.5rem;width:100%}.auth-module_origin-section__UBhBB .auth-module_divider__z65Me{background-color:#ddd;height:1rem;width:1px}.auth-module_origin-dashboard-button__-pch4{align-items:center;border:none;color:#ff6f00;display:flex;flex-direction:row;font-size:.875rem;gap:.5rem;justify-content:center;padding:.25rem;width:100%}.auth-module_origin-dashboard-button__-pch4:hover{color:#cc4e02;cursor:pointer}.auth-module_origin-dashboard-button__-pch4:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_container__7utns h2{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.auth-module_container__7utns .auth-module_header__pX9nM{align-items:center;color:#333;display:flex;flex-direction:row;font-weight:700;gap:.5rem;justify-content:flex-start;margin-bottom:1rem;text-align:left;width:100%;@media screen and (max-width:440px){margin-bottom:.5rem;margin-top:0}}.auth-module_linking-container__mYNwD .auth-module_header__pX9nM{justify-content:center}.auth-module_container__7utns .auth-module_auth-header__LsM1f{align-items:center;color:#333;display:flex;flex-direction:column;font-weight:700;justify-content:center;margin-bottom:1rem;text-align:center;width:100%}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_small-modal-icon__YayD1{height:2rem;margin-bottom:.5rem;margin-top:.5rem;width:2rem}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_wallet-address__AVVA5{color:#777;font-size:.75rem;font-weight:400;margin-top:.2rem}.auth-module_container__7utns .auth-module_close-button__uZrho{background-color:#fff;border:2px solid #ddd;border-radius:100%;color:#aaa;font-size:1.5rem;height:1.25rem;position:absolute;right:1rem;top:1rem;transition:color .15s;width:1.25rem}.auth-module_close-button__uZrho>.auth-module_close-icon__SSCni{display:block;height:1rem;padding:.15rem;position:relative;width:1rem}.auth-module_container__7utns .auth-module_close-button__uZrho:hover{background-color:#ddd;color:#888;cursor:pointer}.auth-module_container__7utns .auth-module_linking-text__uz3ud{color:#777;font-size:1rem;text-align:center}.auth-module_provider-list__6vISy{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:17.9rem;overflow-y:auto;padding-left:.5rem;padding-right:.5rem;scrollbar-color:#ccc #f1f1f1;scrollbar-width:thin;width:100%}.auth-module_provider-list__6vISy.auth-module_big__jQxvN{max-height:16rem}.auth-module_provider-list__6vISy::-webkit-scrollbar{border-radius:.25rem;width:.5rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:.25rem}.auth-module_spinner__hfzlH:after{animation:auth-module_spin__tm9l6 1s linear infinite;border:.25rem solid #f3f3f3;border-radius:50%;border-top-color:#ff6f00;content:\"\";display:block;height:1rem;width:1rem}.auth-module_spinner__hfzlH{align-self:center;display:flex;justify-content:center;margin-left:auto;margin-right:.25rem}@keyframes auth-module_spin__tm9l6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-module_modal-icon__CV7ah{align-items:center;display:flex;height:4rem;justify-content:center;margin-bottom:.25rem;margin-top:.5rem;padding:.35rem;width:4rem}.auth-module_modal-icon__CV7ah svg{height:3.6rem;width:3.6rem}.auth-module_container__7utns a.auth-module_footer-text__CQnh6{color:#bbb;font-size:.75rem;text-decoration:none}.auth-module_container__7utns a.auth-module_footer-text__CQnh6:hover{text-decoration:underline}.auth-module_disconnect-button__bsu-3{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_disconnect-button__bsu-3:hover{background-color:#cc4e02;cursor:pointer}.auth-module_disconnect-button__bsu-3:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_linking-button__g1GlL{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_linking-button__g1GlL:hover{background-color:#cc4e02;cursor:pointer}.auth-module_linking-button__g1GlL:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_socials-wrapper__PshV3{display:flex;flex-direction:column;gap:1rem;margin-block:.5rem;width:100%}.auth-module_socials-container__iDzfJ{display:flex;flex-direction:column;gap:.5rem;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-container__4wn11{align-items:center;display:flex;gap:.25rem;justify-content:flex-start;position:relative}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA{align-items:center;background-color:#fefefe;border:1px solid #ddd;border-radius:.75rem;color:#333;display:flex;font-size:.875rem;gap:.25rem;height:2.5rem;padding:.75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:hover{background-color:#ddd;cursor:pointer}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:disabled{background-color:#fefefe;cursor:default}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb{align-items:center;background-color:#eee;border:1px solid #ddd;border-radius:.25rem;color:#333;display:flex;flex:1;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ h3{color:#333;margin:0}.auth-module_connector-button__j79HA .auth-module_connector-checkmark__ZS6zU{height:1rem!important;position:absolute;right:-.5rem;top:-.5rem;width:1rem!important}.auth-module_unlink-connector-button__6Fwkp{align-items:center;background-color:#999;border:none;border-radius:.5rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .675rem .25rem .5rem;position:absolute;right:.375rem;text-align:center;transition:background-color .15s}.auth-module_unlink-connector-button__6Fwkp svg{stroke:#fff!important;height:.875rem!important;margin-right:0!important;width:.875rem!important}.auth-module_unlink-connector-button__6Fwkp:hover{background-color:#888;cursor:pointer}.auth-module_unlink-connector-button__6Fwkp:disabled{background-color:#ccc;cursor:not-allowed}@keyframes auth-module_loader__gH3ZC{0%{transform:translateX(0)}50%{transform:translateX(100%)}to{transform:translateX(0)}}.auth-module_loader__gH3ZC{background-color:#ddd;border-radius:.125rem;height:.4rem;margin-bottom:.5rem;margin-top:.5rem;position:relative;width:4rem}.auth-module_loader__gH3ZC:before{animation:auth-module_loader__gH3ZC 1.5s ease-in-out infinite;background-color:#ff6f00;border-radius:.125rem;content:\"\";display:block;height:.4rem;left:0;position:absolute;width:2rem}.auth-module_no-socials__wEx0t{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_divider__z65Me{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;margin-top:.5rem}.auth-module_divider__z65Me:after,.auth-module_divider__z65Me:before{border-bottom:1px solid #ddd;content:\"\";flex:1}input.auth-module_tiktok-input__FeqdG{border:1px solid gray;border-radius:.75rem;color:#000;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;margin-top:1rem;padding-inline:1rem;width:100%}input.auth-module_tiktok-input__FeqdG.auth-module_invalid__qqgK6{border-color:#dc3545;outline-color:#dc3545}.auth-module_otp-input-container__B2NH6{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.auth-module_otp-input__vjImt{border:1px solid #ccc;border-radius:.5rem;font-size:1.5rem;height:2.5rem;outline:none;text-align:center;transition:border-color .2s;width:2rem}.auth-module_otp-input__vjImt:focus{border-color:#ff6f00}.auth-module_tabs__RcUmV{display:flex;justify-content:flex-start;margin-bottom:calc(-.5rem - 1px);max-width:100%;overflow-x:auto}.auth-module_tabs__RcUmV::-webkit-scrollbar{display:none}.auth-module_tabs__RcUmV::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_tab-button__HT6wc{background-color:#fefefe;border:2px transparent;border-radius:0;border-right:2px solid #ddd;color:#333;cursor:pointer;font-size:.875rem;font-weight:400;padding:.75rem 1rem;text-align:left;transition:background-color .2s}.auth-module_tab-button__HT6wc:hover{background-color:#eee;border-color:#ddd}.auth-module_tab-button__HT6wc:focus{border-color:#ff6f00;outline:none}.auth-module_active-tab__l6P44{border-right-color:#ff6f00}.auth-module_tab-content__noHF0{height:20rem;margin-top:.25rem;min-height:20rem;width:100%}.auth-module_vertical-tabs-container__6sAOL{box-sizing:border-box;display:flex;flex-direction:row;gap:.5rem;width:100%}.auth-module_vertical-tabs__-ba-W{display:flex;flex-direction:column;gap:.25rem;height:100%;margin-left:-1rem;min-width:-moz-fit-content!important;min-width:fit-content!important;overflow-y:auto}.auth-module_vertical-tab-content__wTqKF{background-color:#f9f9f9;border:1px solid #ddd;border-radius:.25rem;flex:1 1 0%;height:22rem;max-width:100%;min-height:22rem;overflow:hidden;padding:1rem}.auth-module_ip-tab-container__ck0F8{justify-content:space-between}.auth-module_ip-tab-container__ck0F8,.auth-module_ip-tab-content__VI4zC{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100%;width:100%}.auth-module_ip-tab-content__VI4zC{justify-content:center}.auth-module_ip-tab-content-text__y2BRh{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_contract-button-container__7HH9n{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.auth-module_contract-input__4BYcs{border:1px solid #ccc;border-radius:.5rem;color:#333;font-size:1rem;max-width:300px;outline:none;padding:.5rem;transition:border-color .2s;width:100%}.auth-module_contract-input__4BYcs:focus{border-color:#ff6f00}.auth-module_contract-button__Cq6zI{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.auth-module_contract-button__Cq6zI:hover{background-color:#cc4e02}.auth-module_contract-button__Cq6zI:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_no-provider-warning__YzGd-{align-items:center;background-color:#fff3cd;border:1px solid #ffeeba;border-radius:.75rem;box-shadow:0 2px 4px rgba(255,223,0,.05);color:#856404;cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1.4;margin-top:1rem;min-height:3.25rem;padding:.5rem;text-align:center;transition:background-color .2s,color .2s,border-color .2s;white-space:normal;width:100%}.auth-module_no-provider-warning__YzGd-:hover{background-color:#ffe8a1;border-color:#ffd966;color:#7a5c00}.auth-module_no-provider-warning__YzGd-:active{background-color:#ffe8a1;border-color:#ffd966;color:#5c4300}.auth-module_no-provider-warning__YzGd-:focus{outline:2px solid #ff6f00;outline-offset:2px}.auth-module_tab-provider-required-overlay__dvmIR{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.7);border-radius:inherit;color:#333;display:flex;font-size:1.1rem;font-weight:600;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,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RSxDQUNoRSxrQkFBbUIsQ0FObkIsVUFZRixDQUVBLDhDQUNFLHdCQUF5QixDQUV6QixvQkFBcUIsQ0FEckIsYUFFRixDQUVBLCtDQUNFLHdCQUF5QixDQUV6QixvQkFBcUIsQ0FEckIsYUFFRixDQUVBLDhDQUNFLHlCQUEwQixDQUMxQixrQkFDRixDQUVBLGtEQVVFLGtCQUFtQixDQUhuQixpQ0FBMEIsQ0FBMUIseUJBQTBCLENBRDFCLDZCQUFvQyxDQVVwQyxxQkFBc0IsQ0FGdEIsVUFBVyxDQUxYLFlBQWEsQ0FJYixnQkFBaUIsQ0FEakIsZUFBZ0IsQ0FQaEIsV0FBWSxDQU1aLHNCQUF1QixDQVJ2QixNQUFPLENBRlAsaUJBQWtCLENBY2xCLGlCQUFrQixDQWJsQixLQUFNLENBRU4sVUFBVyxDQUlYLFVBU0YiLCJmaWxlIjoiYXV0aC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCJodHRwczovL2FwaS5mb250c2hhcmUuY29tL3YyL2Nzcz9mW109c2F0b3NoaUAxJmRpc3BsYXk9c3dhcFwiKTtcblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA4NTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLm1vZGFsIC5vdXRlci1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICAgIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgLyogZGlhbG9nIG9uIG1vYmlsZSAqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfVxufVxuXG4ub3V0ZXItY29udGFpbmVyIC5jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgd2lkdGg6IDQwMHB4OyAvKiB0ZW1wb3JhcnkgKi9cbiAgcGFkZGluZzogMS41cmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5jb250YWluZXIubGlua2luZy1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5vcmlnaW4tdGFiIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbi5vcmlnaW4tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vcmlnaW4tc2VjdGlvbiAub3JpZ2luLWNvbnRhaW5lciB7XG4gIG1pbi13aWR0aDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLm9yaWdpbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm9yaWdpbi1jb250YWluZXIgLm9yaWdpbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLmhvcml6b250YWwtZGl2aWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5vcmlnaW4tc2VjdGlvbiAuZGl2aWRlciB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuLm9yaWdpbi1kYXNoYm9hcmQtYnV0dG9uIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDsgKi9cbiAgY29sb3I6ICNmZjZmMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7ICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLm9yaWdpbi1kYXNoYm9hcmQtYnV0dG9uOmhvdmVyIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjsgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2NjNGUwMjtcbn1cblxuLm9yaWdpbi1kYXNoYm9hcmQtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLmNvbnRhaW5lciAuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBjb2xvcjogIzMzMztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8qIG1hcmdpbi10b3A6IC0wLjZyZW07ICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBnYXA6IDAuNXJlbTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cbi5saW5raW5nLWNvbnRhaW5lciAuaGVhZGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb250YWluZXIgLmF1dGgtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGNvbG9yOiAjMzMzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNvbnRhaW5lciAuaGVhZGVyIC5zbWFsbC1tb2RhbC1pY29uIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5jb250YWluZXIgLmhlYWRlciAud2FsbGV0LWFkZHJlc3Mge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG59XG5cbi5jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogI2FhYTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG59XG5cbi5jbG9zZS1idXR0b24gPiAuY2xvc2UtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIHBhZGRpbmc6IDAuMTVyZW07XG59XG5cbi5jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gIGNvbG9yOiAjODg4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb250YWluZXIgLmxpbmtpbmctdGV4dCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogbWFyZ2luLXRvcDogMDsgKi9cbiAgLyogbWFyZ2luLWJvdHRvbTogMnJlbTsgKi9cbn1cblxuLnByb3ZpZGVyLWxpc3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1heC1oZWlnaHQ6IDE3LjlyZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjY2NjICNmMWYxZjE7XG59XG5cbi5wcm92aWRlci1saXN0LmJpZyB7XG4gIG1heC1oZWlnaHQ6IDE2cmVtO1xufVxuXG4ucHJvdmlkZXItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLnByb3ZpZGVyLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5wcm92aWRlci1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5zcGlubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXRvcDogMC4yNXJlbSBzb2xpZCAjZmY2ZjAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG4uc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi5tb2RhbC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZzogMC4zNXJlbTtcbn1cbi5tb2RhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAzLjZyZW07XG4gIGhlaWdodDogMy42cmVtO1xufVxuXG4uY29udGFpbmVyIGEuZm9vdGVyLXRleHQge1xuICAvKiBtYXJnaW4tdG9wOiAxcmVtOyAqL1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjYmJiYmJiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb250YWluZXIgYS5mb290ZXItdGV4dDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZGlzY29ubmVjdC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy1ibG9jazogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG59XG5cbi5kaXNjb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpc2Nvbm5lY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmtpbmctYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xufVxuXG4ubGlua2luZy1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5raW5nLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zb2NpYWxzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ibG9jazogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIC5jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b246ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi5zb2NpYWxzLWNvbnRhaW5lciAuY29ubmVjdG9yLWJ1dHRvbiBzdmcge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQgc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIGgzIHtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbm5lY3Rvci1idXR0b24gLmNvbm5lY3Rvci1jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuNXJlbTtcbiAgcmlnaHQ6IC0wLjVyZW07XG4gIHdpZHRoOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4udW5saW5rLWNvbm5lY3Rvci1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjM3NXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjY3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4udW5saW5rLWNvbm5lY3Rvci1idXR0b24gc3ZnIHtcbiAgc3Ryb2tlOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udW5saW5rLWNvbm5lY3Rvci1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5Aa2V5ZnJhbWVzIGxvYWRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuLmxvYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMC40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG59XG5cbi5sb2FkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAwLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG59XG5cbi5uby1zb2NpYWxzIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmRpdmlkZXI6OmJlZm9yZSxcbi5kaXZpZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGZsZXg6IDE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xufVxuXG5pbnB1dC50aWt0b2staW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBTYXRvc2hpLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksXG4gICAgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBPcGVuIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGhlaWdodDogMi43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzcmVtO1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0LnRpa3Rvay1pbnB1dC5pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICBvdXRsaW5lLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4ub3RwLWlucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLm90cC1pbnB1dCB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cblxuLm90cC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbn1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTAuNXJlbSAtIDFweCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cbi50YWJzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGFiczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4udGFiLWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzMzMztcbn1cblxuLnRhYi1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi50YWItYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4uYWN0aXZlLXRhYiB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmNmYwMDtcbn1cblxuLnRhYi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDIwcmVtO1xuICBoZWlnaHQ6IDIwcmVtO1xufVxuXG4udmVydGljYWwtdGFicy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAuNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52ZXJ0aWNhbC10YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udmVydGljYWwtdGFiLWNvbnRlbnQge1xuICBmbGV4OiAxIDEgMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDIycmVtO1xuICBoZWlnaHQ6IDIycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5pcC10YWItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pcC10YWItY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pcC10YWItY29udGVudC10ZXh0IHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uY29udHJhY3QtYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmNvbnRyYWN0LWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICBjb2xvcjogIzMzMztcbn1cblxuLmNvbnRyYWN0LWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4uY29udHJhY3QtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi5jb250cmFjdC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xufVxuXG4uY29udHJhY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2NkO1xuICBjb2xvcjogIzg1NjQwNDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZWViYTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtaW4taGVpZ2h0OiAzLjI1cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNTUsIDIyMywgMCwgMC4wNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBjb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xuICBjb2xvcjogIzdhNWMwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZkOTY2O1xufVxuXG4ubm8tcHJvdmlkZXItd2FybmluZzphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xuICBjb2xvcjogIzVjNDMwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZkOTY2O1xufVxuXG4ubm8tcHJvdmlkZXItd2FybmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmY2ZjAwO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGFiLXByb3ZpZGVyLXJlcXVpcmVkLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbn1cbiJdfQ== */";
3516
- var styles = {"modal":"auth-module_modal__yyg5L","outer-container":"auth-module_outer-container__RraOQ","container":"auth-module_container__7utns","linking-container":"auth-module_linking-container__mYNwD","origin-tab":"auth-module_origin-tab__miOUK","origin-section":"auth-module_origin-section__UBhBB","origin-container":"auth-module_origin-container__ZIk4c","origin-wrapper":"auth-module_origin-wrapper__JQfEI","origin-label":"auth-module_origin-label__l-1q9","horizontal-divider":"auth-module_horizontal-divider__YfWCy","divider":"auth-module_divider__z65Me","origin-dashboard-button":"auth-module_origin-dashboard-button__-pch4","header":"auth-module_header__pX9nM","auth-header":"auth-module_auth-header__LsM1f","small-modal-icon":"auth-module_small-modal-icon__YayD1","wallet-address":"auth-module_wallet-address__AVVA5","close-button":"auth-module_close-button__uZrho","close-icon":"auth-module_close-icon__SSCni","linking-text":"auth-module_linking-text__uz3ud","provider-list":"auth-module_provider-list__6vISy","big":"auth-module_big__jQxvN","spinner":"auth-module_spinner__hfzlH","spin":"auth-module_spin__tm9l6","modal-icon":"auth-module_modal-icon__CV7ah","footer-text":"auth-module_footer-text__CQnh6","disconnect-button":"auth-module_disconnect-button__bsu-3","linking-button":"auth-module_linking-button__g1GlL","socials-wrapper":"auth-module_socials-wrapper__PshV3","socials-container":"auth-module_socials-container__iDzfJ","connector-container":"auth-module_connector-container__4wn11","connector-button":"auth-module_connector-button__j79HA","connector-connected":"auth-module_connector-connected__JvDQb","connector-checkmark":"auth-module_connector-checkmark__ZS6zU","unlink-connector-button":"auth-module_unlink-connector-button__6Fwkp","loader":"auth-module_loader__gH3ZC","no-socials":"auth-module_no-socials__wEx0t","tiktok-input":"auth-module_tiktok-input__FeqdG","invalid":"auth-module_invalid__qqgK6","otp-input-container":"auth-module_otp-input-container__B2NH6","otp-input":"auth-module_otp-input__vjImt","tabs":"auth-module_tabs__RcUmV","tab-button":"auth-module_tab-button__HT6wc","active-tab":"auth-module_active-tab__l6P44","tab-content":"auth-module_tab-content__noHF0","vertical-tabs-container":"auth-module_vertical-tabs-container__6sAOL","vertical-tabs":"auth-module_vertical-tabs__-ba-W","vertical-tab-content":"auth-module_vertical-tab-content__wTqKF","ip-tab-container":"auth-module_ip-tab-container__ck0F8","ip-tab-content":"auth-module_ip-tab-content__VI4zC","ip-tab-content-text":"auth-module_ip-tab-content-text__y2BRh","contract-button-container":"auth-module_contract-button-container__7HH9n","contract-input":"auth-module_contract-input__4BYcs","contract-button":"auth-module_contract-button__Cq6zI","no-provider-warning":"auth-module_no-provider-warning__YzGd-","tab-provider-required-overlay":"auth-module_tab-provider-required-overlay__dvmIR"};
4078
+ var css_248z$1 = "@import url(\"https://api.fontshare.com/v2/css?f[]=satoshi@1&display=swap\");@import url(\"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap\");@import url(\"https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap\");.auth-module_modal__yyg5L{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000;background-color:rgba(0,0,0,.4);height:100%;left:0;overflow:auto;position:fixed;top:0;transition:all .3s;width:100%;z-index:85}.auth-module_modal__yyg5L .auth-module_outer-container__RraOQ{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;font-family:Work Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);@media screen and (max-width:440px){border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:0;top:auto;transform:translate(-50%);width:100%}}.auth-module_outer-container__RraOQ .auth-module_container__7utns{align-items:center;background-color:#fefefe;border:1px solid #888;box-sizing:border-box;flex-direction:column;justify-content:center;padding:1.5rem 1.5rem 1rem;position:relative;text-align:center;width:400px;@media screen and (max-width:440px){border-radius:0;height:auto;max-height:100vh;overflow-y:auto;padding-bottom:1rem;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;width:100%}}.auth-module_container__7utns.auth-module_linking-container__mYNwD{max-width:300px;@media screen and (max-width:440px){max-width:100%}}.auth-module_origin-tab__miOUK{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;width:100%}.auth-module_origin-section__UBhBB{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:space-evenly;width:100%}.auth-module_origin-section__UBhBB .auth-module_origin-container__ZIk4c{align-items:center;color:#333;display:flex;flex-direction:column;font-size:.875rem;font-weight:400;justify-content:center;margin-bottom:.5rem;margin-top:.5rem;min-height:3rem;min-width:1rem;text-align:center;width:100%}.auth-module_origin-wrapper__JQfEI{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;width:100%}.auth-module_origin-container__ZIk4c .auth-module_origin-label__l-1q9{color:#777;font-family:Geist Mono,monospace;font-size:.65rem;font-weight:400;margin-bottom:.25rem;text-align:center;text-transform:uppercase}.auth-module_horizontal-divider__YfWCy{background-color:#ddd;height:1px;margin-bottom:.5rem;margin-top:.5rem;width:100%}.auth-module_origin-section__UBhBB .auth-module_divider__z65Me{background-color:#ddd;height:1rem;width:1px}.auth-module_origin-dashboard-button__-pch4{align-items:center;border:none;color:#ff6f00;display:flex;flex-direction:row;font-size:.875rem;gap:.5rem;justify-content:center;padding:.25rem;width:100%}.auth-module_origin-dashboard-button__-pch4:hover{color:#cc4e02;cursor:pointer}.auth-module_origin-dashboard-button__-pch4:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_container__7utns h2{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.auth-module_container__7utns .auth-module_header__pX9nM{align-items:center;color:#333;display:flex;flex-direction:row;font-family:Geist Mono,monospace;gap:.5rem;justify-content:flex-start;margin-bottom:1rem;text-align:left;text-transform:uppercase;width:100%;@media screen and (max-width:440px){margin-bottom:.5rem;margin-top:0}}.auth-module_linking-container__mYNwD .auth-module_header__pX9nM{justify-content:center}.auth-module_container__7utns .auth-module_auth-header__LsM1f{align-items:center;color:#333;display:flex;flex-direction:column;font-family:Geist Mono,monospace;gap:.5rem;justify-content:center;margin-bottom:1rem;text-align:center;text-transform:uppercase;width:100%}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_small-modal-icon__YayD1{height:2rem;margin-bottom:.5rem;margin-top:.5rem;width:2rem}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_wallet-address__AVVA5{color:#777;display:flex;flex-direction:row;font-family:Geist Mono,monospace;font-size:.75rem;font-weight:400;gap:.25rem;text-transform:uppercase}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_wallet-address__AVVA5:hover{color:#555;cursor:pointer}.auth-module_container__7utns .auth-module_close-button__uZrho{background-color:#fff;border:1px solid #ddd;color:#aaa;font-size:1.5rem;height:1.25rem;padding:.075rem;position:absolute;right:1rem;top:1rem;transition:color .15s;width:1.25rem}.auth-module_close-button__uZrho>.auth-module_close-icon__SSCni{display:block;height:1rem;padding:.15rem;position:relative;width:1rem}.auth-module_container__7utns .auth-module_close-button__uZrho:hover{border-color:#ff6f00;color:#ff6f00;cursor:pointer}.auth-module_container__7utns .auth-module_linking-text__uz3ud{color:#777;font-size:1rem;text-align:center}.auth-module_provider-list__6vISy{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:17.9rem;overflow-y:auto;padding:.25rem .5rem;scrollbar-color:#ccc #f1f1f1;scrollbar-width:thin;width:100%}.auth-module_provider-list__6vISy.auth-module_big__jQxvN{max-height:16rem}.auth-module_provider-list__6vISy::-webkit-scrollbar{border-radius:.25rem;width:.5rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:.25rem}.auth-module_spinner__hfzlH:after{animation:auth-module_spin__tm9l6 1s linear infinite;border:.25rem solid #f3f3f3;border-radius:50%;border-top-color:#ff6f00;content:\"\";display:block;height:1rem;width:1rem}.auth-module_spinner__hfzlH{align-self:center;display:flex;justify-content:center;margin-left:auto;margin-right:.25rem}@keyframes auth-module_spin__tm9l6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-module_modal-icon__CV7ah{align-items:center;display:flex;height:4rem;justify-content:center;margin-bottom:.25rem;margin-top:.5rem;padding:.35rem;width:4rem}.auth-module_modal-icon__CV7ah svg{height:3.6rem;width:3.6rem}.auth-module_container__7utns a.auth-module_footer-text__CQnh6{color:#bbb;font-size:.75rem;text-decoration:none}.auth-module_container__7utns a.auth-module_footer-text__CQnh6:hover{text-decoration:underline}.auth-module_footer-container__UJBZk{align-items:center;display:flex;justify-content:center;position:relative;width:100%}.auth-module_environment-indicator__5loWh{border:2px solid #ff8c00;border-radius:50%;height:12px;position:absolute;right:0;width:12px}.auth-module_environment-tooltip__R0PTI{display:block!important;position:absolute!important;right:0!important}.auth-module_disconnect-button__bsu-3{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_disconnect-button__bsu-3:hover{background-color:#cc4e02;cursor:pointer}.auth-module_disconnect-button__bsu-3:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_linking-button__g1GlL{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_linking-button__g1GlL:hover{background-color:#cc4e02;cursor:pointer}.auth-module_linking-button__g1GlL:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_socials-wrapper__PshV3{display:flex;flex-direction:column;gap:1rem;margin-block:.5rem;width:100%}.auth-module_socials-container__iDzfJ{display:flex;flex-direction:column;gap:.5rem;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-container__4wn11{align-items:center;display:flex;gap:.25rem;justify-content:flex-start;position:relative}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA{align-items:center;background-color:#fefefe;border:1px solid #ddd;color:#333;display:flex;font-size:.875rem;gap:.25rem;height:2.5rem;padding:.75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:hover{background-color:#ddd;cursor:pointer}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:disabled{background-color:#fefefe;cursor:default}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb{align-items:center;background-color:#eee;border:1px solid #ddd;color:#333;display:flex;flex:1;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ h3{color:#333;font-family:Geist Mono;font-size:small;margin:0;text-transform:uppercase}.auth-module_connector-button__j79HA .auth-module_connector-checkmark__ZS6zU{height:1rem!important;position:absolute;right:-.5rem;top:-.5rem;width:1rem!important}.auth-module_unlink-connector-button__6Fwkp{align-items:center;border:none;color:#333;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .675rem .25rem .5rem;position:absolute;right:.375rem;text-align:center;transition:background-color .15s}.auth-module_unlink-connector-button__6Fwkp svg{stroke:#333!important;height:.875rem!important;margin-right:0!important;width:.875rem!important}.auth-module_unlink-connector-button__6Fwkp:hover{color:#000;cursor:pointer}.auth-module_unlink-connector-button__6Fwkp:disabled{color:#777;cursor:not-allowed}@keyframes auth-module_loader__gH3ZC{0%{transform:translateX(0)}50%{transform:translateX(100%)}to{transform:translateX(0)}}.auth-module_loader__gH3ZC{background-color:#ddd;border-radius:.125rem;height:.4rem;margin-bottom:.5rem;margin-top:.5rem;position:relative;width:4rem}.auth-module_loader__gH3ZC:before{animation:auth-module_loader__gH3ZC 1.5s ease-in-out infinite;background-color:#ff6f00;border-radius:.125rem;content:\"\";display:block;height:.4rem;left:0;position:absolute;width:2rem}.auth-module_no-socials__wEx0t{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_divider__z65Me{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;margin-top:.5rem}.auth-module_divider__z65Me:after,.auth-module_divider__z65Me:before{border-bottom:1px solid #ddd;content:\"\";flex:1}input.auth-module_tiktok-input__FeqdG{border:1px solid gray;color:#000;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;margin-top:1rem;padding-inline:1rem;width:100%}input.auth-module_tiktok-input__FeqdG.auth-module_invalid__qqgK6{border-color:#dc3545;outline-color:#dc3545}.auth-module_otp-input-container__B2NH6{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.auth-module_otp-input__vjImt{border:1px solid #ccc;font-size:1.5rem;height:2.5rem;outline:none;text-align:center;transition:border-color .2s;width:2rem}.auth-module_otp-input__vjImt:focus{border-color:#ff6f00}.auth-module_tabs__RcUmV{display:flex;justify-content:flex-start;margin-bottom:calc(-.5rem - 1px);max-width:100%;overflow-x:auto}.auth-module_tabs__RcUmV::-webkit-scrollbar{display:none}.auth-module_tabs__RcUmV::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_tab-button__HT6wc{background-color:#fefefe;border:2px transparent;border-radius:0;border-right:2px solid #ddd;color:#333;cursor:pointer;font-family:Geist Mono,monospace;font-size:.825rem;font-weight:400;padding:.5rem .75rem;text-align:left;text-transform:uppercase;transition:background-color .2s}.auth-module_tab-button__HT6wc:hover{background-color:#eee}.auth-module_active-tab__l6P44{border-right-color:#ff6f00}.auth-module_tab-content__noHF0{height:20rem;margin-top:.25rem;min-height:20rem;width:100%}.auth-module_vertical-tabs-container__6sAOL{box-sizing:border-box;display:flex;flex-direction:row;gap:.5rem;width:100%}.auth-module_vertical-tabs__-ba-W{display:flex;flex-direction:column;gap:.25rem;height:100%;margin-left:-1rem;min-width:-moz-fit-content!important;min-width:fit-content!important;overflow-y:auto}.auth-module_vertical-tab-content__wTqKF{background-color:#f9f7f4;border:1px solid #ddd;flex:1 1 0%;height:22rem;max-width:100%;min-height:22rem;overflow:hidden;padding:1rem;position:relative}.auth-module_ip-tab-container__ck0F8{justify-content:space-between}.auth-module_ip-tab-container__ck0F8,.auth-module_ip-tab-content__VI4zC{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100%;width:100%}.auth-module_ip-tab-content__VI4zC{justify-content:center}.auth-module_ip-tab-content-text__y2BRh{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_contract-button-container__7HH9n{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.auth-module_no-provider-warning__YzGd-{align-items:center;background-color:#fff3cd;border:1px solid #ffeeba;box-shadow:0 2px 4px rgba(255,223,0,.05);color:#856404;cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1.4;margin-top:1rem;min-height:3.25rem;padding:.5rem;text-align:center;transition:background-color .2s,color .2s,border-color .2s;white-space:normal;width:100%}.auth-module_no-provider-warning__YzGd-:hover{background-color:#ffe8a1;border-color:#ffd966;color:#7a5c00}.auth-module_no-provider-warning__YzGd-:active{background-color:#ffe8a1;border-color:#ffd966;color:#5c4300}.auth-module_no-provider-warning__YzGd-:focus{outline:2px solid #ff6f00;outline-offset:2px}.auth-module_tab-provider-required-overlay__dvmIR{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.7);border-radius:inherit;color:#333;display:flex;font-size:1.1rem;font-weight:600;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:10}.auth-module_corner-svg__WYa3o{height:12px;pointer-events:none;position:absolute;width:12px;z-index:10}.auth-module_corner-top-left__mYKEQ{left:2px;top:2px}.auth-module_corner-top-right__LejG2{right:2px;top:2px}.auth-module_corner-bottom-left__gSw9-{bottom:2px;left:2px}.auth-module_corner-bottom-right__I-KCA{bottom:2px;right:2px}.auth-module_corner-square__eC1DH{pointer-events:none;position:absolute;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,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OENBQ0Usd0JBQXlCLENBRXpCLG9CQUFxQixDQURyQixhQUVGLENBRUEsK0NBQ0Usd0JBQXlCLENBRXpCLG9CQUFxQixDQURyQixhQUVGLENBRUEsOENBQ0UseUJBQTBCLENBQzFCLGtCQUNGLENBRUEsa0RBVUUsa0JBQW1CLENBSG5CLGlDQUEwQixDQUExQix5QkFBMEIsQ0FEMUIsNkJBQW9DLENBVXBDLHFCQUFzQixDQUZ0QixVQUFXLENBTFgsWUFBYSxDQUliLGdCQUFpQixDQURqQixlQUFnQixDQVBoQixXQUFZLENBTVosc0JBQXVCLENBUnZCLE1BQU8sQ0FGUCxpQkFBa0IsQ0FjbEIsaUJBQWtCLENBYmxCLEtBQU0sQ0FFTixVQUFXLENBSVgsVUFTRixDQUdBLCtCQUdFLFdBQVksQ0FDWixtQkFBb0IsQ0FIcEIsaUJBQWtCLENBQ2xCLFVBQVcsQ0FHWCxVQUNGLENBRUEsb0NBRUUsUUFBUyxDQURULE9BRUYsQ0FFQSxxQ0FFRSxTQUFVLENBRFYsT0FFRixDQUVBLHVDQUNFLFVBQVcsQ0FDWCxRQUNGLENBRUEsd0NBQ0UsVUFBVyxDQUNYLFNBQ0YsQ0FFQSxrQ0FFRSxtQkFBb0IsQ0FEcEIsaUJBQWtCLENBRWxCLFVBQ0YiLCJmaWxlIjoiYXV0aC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCJodHRwczovL2FwaS5mb250c2hhcmUuY29tL3YyL2Nzcz9mW109c2F0b3NoaUAxJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1HZWlzdCtNb25vOndnaHRAMTAwLi45MDAmZmFtaWx5PVJvYm90bzppdGFsLHdnaHRAMCwxMDA7MCwzMDA7MCw0MDA7MCw1MDA7MCw3MDA7MCw5MDA7MSwxMDA7MSwzMDA7MSw0MDA7MSw1MDA7MSw3MDA7MSw5MDAmZmFtaWx5PVdvcmsrU2FuczppdGFsLHdnaHRAMCwxMDAuLjkwMDsxLDEwMC4uOTAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Xb3JrK1NhbnM6aXRhbCx3Z2h0QDAsMTAwLi45MDA7MSwxMDAuLjkwMCZkaXNwbGF5PXN3YXBcIik7XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogODU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG5cbi5tb2RhbCAub3V0ZXItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogZm9udC1mYW1pbHk6IFwiU2F0b3NoaVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgICBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLFxuICAgIHNhbnMtc2VyaWY7ICovXG4gIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgICBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLFxuICAgIHNhbnMtc2VyaWY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gIC8qIGRpYWxvZyBvbiBtb2JpbGUgKi9cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIH1cbn1cblxuLm91dGVyLWNvbnRhaW5lciAuY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICAvKiBib3JkZXItcmFkaXVzOiAxLjVyZW07ICovXG4gIHdpZHRoOiA0MDBweDsgLyogdGVtcG9yYXJ5ICovXG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4uY29udGFpbmVyLmxpbmtpbmctY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ub3JpZ2luLXRhYiB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ub3JpZ2luLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub3JpZ2luLXNlY3Rpb24gLm9yaWdpbi1jb250YWluZXIge1xuICBtaW4td2lkdGg6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5vcmlnaW4td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5vcmlnaW4tY29udGFpbmVyIC5vcmlnaW4tbGFiZWwge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaG9yaXpvbnRhbC1kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLm9yaWdpbi1zZWN0aW9uIC5kaXZpZGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG4ub3JpZ2luLWRhc2hib2FyZC1idXR0b24ge1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyAqL1xuICBjb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyOiBub25lO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgLyogYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDsgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ub3JpZ2luLWRhc2hib2FyZC1idXR0b246aG92ZXIge1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyOyAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjY2M0ZTAyO1xufVxuXG4ub3JpZ2luLWRhc2hib2FyZC1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uY29udGFpbmVyIC5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGNvbG9yOiAjMzMzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLyogbWFyZ2luLXRvcDogLTAuNnJlbTsgKi9cbiAgLyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG4gIGdhcDogMC41cmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cbi5saW5raW5nLWNvbnRhaW5lciAuaGVhZGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb250YWluZXIgLmF1dGgtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGNvbG9yOiAjMzMzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cbiAgZ2FwOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29udGFpbmVyIC5oZWFkZXIgLnNtYWxsLW1vZGFsLWljb24ge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmNvbnRhaW5lciAuaGVhZGVyIC53YWxsZXQtYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8qIG1hcmdpbi10b3A6IDAuMnJlbTsgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jb250YWluZXIgLmhlYWRlciAud2FsbGV0LWFkZHJlc3M6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNTU1O1xufVxuXG4uY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgcmlnaHQ6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAvKiBib3JkZXItcmFkaXVzOiAxMDAlOyAqL1xuICBwYWRkaW5nOiAwLjA3NXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiAjYWFhO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbn1cblxuLmNsb3NlLWJ1dHRvbiA+IC5jbG9zZS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcGFkZGluZzogMC4xNXJlbTtcbn1cblxuLmNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogI2ZmNmYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29udGFpbmVyIC5saW5raW5nLXRleHQge1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG1hcmdpbi10b3A6IDA7ICovXG4gIC8qIG1hcmdpbi1ib3R0b206IDJyZW07ICovXG59XG5cbi5wcm92aWRlci1saXN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXgtaGVpZ2h0OiAxNy45cmVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjY2NjICNmMWYxZjE7XG59XG5cbi5wcm92aWRlci1saXN0LmJpZyB7XG4gIG1heC1oZWlnaHQ6IDE2cmVtO1xufVxuXG4ucHJvdmlkZXItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLnByb3ZpZGVyLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5wcm92aWRlci1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5zcGlubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXRvcDogMC4yNXJlbSBzb2xpZCAjZmY2ZjAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG4uc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi5tb2RhbC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZzogMC4zNXJlbTtcbn1cbi5tb2RhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAzLjZyZW07XG4gIGhlaWdodDogMy42cmVtO1xufVxuXG4uY29udGFpbmVyIGEuZm9vdGVyLXRleHQge1xuICAvKiBtYXJnaW4tdG9wOiAxcmVtOyAqL1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjYmJiYmJiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb250YWluZXIgYS5mb290ZXItdGV4dDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZW52aXJvbm1lbnQtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY4YzAwO1xufVxuXG4uZW52aXJvbm1lbnQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZGlzY29ubmVjdC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy1ibG9jazogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG59XG5cbi5kaXNjb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpc2Nvbm5lY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmtpbmctYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xufVxuXG4ubGlua2luZy1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5raW5nLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zb2NpYWxzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ibG9jazogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIC5jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b246ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi5zb2NpYWxzLWNvbnRhaW5lciAuY29ubmVjdG9yLWJ1dHRvbiBzdmcge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgKi9cbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQgc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIGgzIHtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiR2Vpc3QgTW9ub1wiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IHNtYWxsO1xufVxuXG4uY29ubmVjdG9yLWJ1dHRvbiAuY29ubmVjdG9yLWNoZWNrbWFyayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMC41cmVtO1xuICByaWdodDogLTAuNXJlbTtcbiAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi51bmxpbmstY29ubmVjdG9yLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjc1cmVtO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgKi9cbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgLyogYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDsgKi9cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uIHN2ZyB7XG4gIHN0cm9rZTogIzMzMyAhaW1wb3J0YW50O1xuICB3aWR0aDogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgKi9cbiAgY29sb3I6ICMwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uOmRpc2FibGVkIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgKi9cbiAgY29sb3I6ICM3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG4ubG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAwLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbn1cblxuLmxvYWRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDAuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBhbmltYXRpb246IGxvYWRlciAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbn1cblxuLm5vLXNvY2lhbHMge1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5kaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZGl2aWRlcjo6YmVmb3JlLFxuLmRpdmlkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZmxleDogMTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG5cbmlucHV0LnRpa3Rvay1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IFNhdG9zaGksIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSxcbiAgICBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIE9wZW4gU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzNyZW07XG4gIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXQudGlrdG9rLWlucHV0LmludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gIG91dGxpbmUtY29sb3I6ICNkYzM1NDU7XG59XG5cbi5vdHAtaW5wdXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ub3RwLWlucHV0IHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4ub3RwLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4udGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMC41cmVtIC0gMXB4KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLnRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWJzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi50YWItYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyOiAycHggdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDAuODI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGFiLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5hY3RpdmUtdGFiIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4udGFiLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjByZW07XG4gIGhlaWdodDogMjByZW07XG59XG5cbi52ZXJ0aWNhbC10YWJzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMC41cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZlcnRpY2FsLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMjVyZW07XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi52ZXJ0aWNhbC10YWItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAyMnJlbTtcbiAgaGVpZ2h0OiAyMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgLyogYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgKi9cbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjdmNDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaXAtdGFiLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaXAtdGFiLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaXAtdGFiLWNvbnRlbnQtdGV4dCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmNvbnRyYWN0LWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5uby1wcm92aWRlci13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgY29sb3I6ICM4NTY0MDQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmVlYmE7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWluLWhlaWdodDogMy4yNXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMjU1LCAyMjMsIDAsIDAuMDUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5uby1wcm92aWRlci13YXJuaW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbiAgY29sb3I6ICM3YTVjMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDk2Njtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmc6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbiAgY29sb3I6ICM1YzQzMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDk2Njtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgI2ZmNmYwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnRhYi1wcm92aWRlci1yZXF1aXJlZC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi8qIENvcm5lciBTVkcgc3R5bGVzICovXG4uY29ybmVyLXN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uY29ybmVyLXRvcC1sZWZ0IHtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDJweDtcbn1cblxuLmNvcm5lci10b3AtcmlnaHQge1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbn1cblxuLmNvcm5lci1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMnB4O1xuICBsZWZ0OiAycHg7XG59XG5cbi5jb3JuZXItYm90dG9tLXJpZ2h0IHtcbiAgYm90dG9tOiAycHg7XG4gIHJpZ2h0OiAycHg7XG59XG5cbi5jb3JuZXItc3F1YXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG59XG4iXX0= */";
4079
+ var styles = {"modal":"auth-module_modal__yyg5L","outer-container":"auth-module_outer-container__RraOQ","container":"auth-module_container__7utns","linking-container":"auth-module_linking-container__mYNwD","origin-tab":"auth-module_origin-tab__miOUK","origin-section":"auth-module_origin-section__UBhBB","origin-container":"auth-module_origin-container__ZIk4c","origin-wrapper":"auth-module_origin-wrapper__JQfEI","origin-label":"auth-module_origin-label__l-1q9","horizontal-divider":"auth-module_horizontal-divider__YfWCy","divider":"auth-module_divider__z65Me","origin-dashboard-button":"auth-module_origin-dashboard-button__-pch4","header":"auth-module_header__pX9nM","auth-header":"auth-module_auth-header__LsM1f","small-modal-icon":"auth-module_small-modal-icon__YayD1","wallet-address":"auth-module_wallet-address__AVVA5","close-button":"auth-module_close-button__uZrho","close-icon":"auth-module_close-icon__SSCni","linking-text":"auth-module_linking-text__uz3ud","provider-list":"auth-module_provider-list__6vISy","big":"auth-module_big__jQxvN","spinner":"auth-module_spinner__hfzlH","spin":"auth-module_spin__tm9l6","modal-icon":"auth-module_modal-icon__CV7ah","footer-text":"auth-module_footer-text__CQnh6","footer-container":"auth-module_footer-container__UJBZk","environment-indicator":"auth-module_environment-indicator__5loWh","environment-tooltip":"auth-module_environment-tooltip__R0PTI","disconnect-button":"auth-module_disconnect-button__bsu-3","linking-button":"auth-module_linking-button__g1GlL","socials-wrapper":"auth-module_socials-wrapper__PshV3","socials-container":"auth-module_socials-container__iDzfJ","connector-container":"auth-module_connector-container__4wn11","connector-button":"auth-module_connector-button__j79HA","connector-connected":"auth-module_connector-connected__JvDQb","connector-checkmark":"auth-module_connector-checkmark__ZS6zU","unlink-connector-button":"auth-module_unlink-connector-button__6Fwkp","loader":"auth-module_loader__gH3ZC","no-socials":"auth-module_no-socials__wEx0t","tiktok-input":"auth-module_tiktok-input__FeqdG","invalid":"auth-module_invalid__qqgK6","otp-input-container":"auth-module_otp-input-container__B2NH6","otp-input":"auth-module_otp-input__vjImt","tabs":"auth-module_tabs__RcUmV","tab-button":"auth-module_tab-button__HT6wc","active-tab":"auth-module_active-tab__l6P44","tab-content":"auth-module_tab-content__noHF0","vertical-tabs-container":"auth-module_vertical-tabs-container__6sAOL","vertical-tabs":"auth-module_vertical-tabs__-ba-W","vertical-tab-content":"auth-module_vertical-tab-content__wTqKF","ip-tab-container":"auth-module_ip-tab-container__ck0F8","ip-tab-content":"auth-module_ip-tab-content__VI4zC","ip-tab-content-text":"auth-module_ip-tab-content-text__y2BRh","contract-button-container":"auth-module_contract-button-container__7HH9n","no-provider-warning":"auth-module_no-provider-warning__YzGd-","tab-provider-required-overlay":"auth-module_tab-provider-required-overlay__dvmIR","corner-svg":"auth-module_corner-svg__WYa3o","corner-top-left":"auth-module_corner-top-left__mYKEQ","corner-top-right":"auth-module_corner-top-right__LejG2","corner-bottom-left":"auth-module_corner-bottom-left__gSw9-","corner-bottom-right":"auth-module_corner-bottom-right__I-KCA","corner-square":"auth-module_corner-square__eC1DH"};
3517
4080
  styleInject(css_248z$1);
3518
4081
 
3519
4082
  const getIconBySocial = (social) => {
@@ -3532,11 +4095,6 @@ const getIconBySocial = (social) => {
3532
4095
  return () => React.createElement(React.Fragment, null);
3533
4096
  }
3534
4097
  };
3535
- const CheckMarkIcon = ({ w, h }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: w || "1rem", height: h || "1rem" },
3536
- React.createElement("path", { d: "M20 6L9 17l-5-5" })));
3537
- const XMarkIcon = ({ w, h }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: w || "1rem", height: h || "1rem" },
3538
- React.createElement("path", { d: "M18 6L6 18" }),
3539
- React.createElement("path", { d: "M6 6l12 12" })));
3540
4098
  const LinkIcon = ({ w, h }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: w || "1rem", height: h || "1rem" },
3541
4099
  React.createElement("path", { d: "M14 4h-13v18h20v-11h1v12h-22v-20h14v1zm10 5h-1v-6.293l-11.646 11.647-.708-.708 11.647-11.646h-6.293v-1h8v8z" })));
3542
4100
  const BinIcon = ({ w, h }) => (React.createElement("svg", { clipRule: "evenodd", fillRule: "evenodd", strokeLinejoin: "round", strokeMiterlimit: "2", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", width: w || "1rem", height: h || "1rem" },
@@ -3559,6 +4117,55 @@ const TelegramIcon = () => (React.createElement("svg", { role: "img", viewBox: "
3559
4117
  const CloseIcon = () => (React.createElement("svg", { className: styles["close-icon"], viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
3560
4118
  React.createElement("path", { d: "M18 6L6 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
3561
4119
  React.createElement("path", { d: "M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })));
4120
+ const CopyIcon = ({ w, h }) => (React.createElement("svg", { clipRule: "evenodd", fillRule: "evenodd", strokeLinejoin: "round", strokeMiterlimit: "2", width: w, height: h, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
4121
+ React.createElement("path", { d: "m6 19v2c0 .621.52 1 1 1h2v-1.5h-1.5v-1.5zm7.5 3h-3.5v-1.5h3.5zm4.5 0h-3.5v-1.5h3.5zm4-3h-1.5v1.5h-1.5v1.5h2c.478 0 1-.379 1-1zm-1.5-1v-3.363h1.5v3.363zm0-4.363v-3.637h1.5v3.637zm-13-3.637v3.637h-1.5v-3.637zm11.5-4v1.5h1.5v1.5h1.5v-2c0-.478-.379-1-1-1zm-10 0h-2c-.62 0-1 .519-1 1v2h1.5v-1.5h1.5zm4.5 1.5h-3.5v-1.5h3.5zm3-1.5v-2.5h-13v13h2.5v-1.863h1.5v3.363h-4.5c-.48 0-1-.379-1-1v-14c0-.481.38-1 1-1h14c.621 0 1 .522 1 1v4.5h-3.5v-1.5z", fillRule: "nonzero" })));
4122
+ const CornerSVG = ({ position, padding = 2, color = "currentColor", thickness = 1, width = 12, height = 12, className = "", }) => {
4123
+ let rotation = 0;
4124
+ if (position === "top-right")
4125
+ rotation = 90;
4126
+ if (position === "bottom-right")
4127
+ rotation = 180;
4128
+ if (position === "bottom-left")
4129
+ rotation = 270;
4130
+ const strokeWidth = typeof thickness === "number" ? thickness : parseFloat(thickness);
4131
+ const positionClass = styles[`corner-${position.replace("-", "-")}`];
4132
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 25 25", fill: "none", className: `${styles["corner-svg"]} ${positionClass} ${className}`, style: Object.assign({ transform: `rotate(${rotation}deg)`, color, width: typeof width === "number" ? `${width}px` : width, height: typeof height === "number" ? `${height}px` : height }, (typeof padding === "number"
4133
+ ? {
4134
+ [position.includes("top") ? "top" : "bottom"]: `${padding}px`,
4135
+ [position.includes("left") ? "left" : "right"]: `${padding}px`,
4136
+ }
4137
+ : {
4138
+ [position.includes("top") ? "top" : "bottom"]: padding,
4139
+ [position.includes("left") ? "left" : "right"]: padding,
4140
+ })) },
4141
+ React.createElement("path", { d: "M1 25L0.999999 1L25 1", stroke: "currentColor", strokeWidth: strokeWidth })));
4142
+ };
4143
+ const CornerSquare = ({ position, padding = 4, color = "white", size = 4, className = "", opacity = 0.5, }) => {
4144
+ const positionClass = styles[`corner-${position.replace("-", "-")}`];
4145
+ return (React.createElement("div", { className: `${styles["corner-square"]} ${positionClass} ${className}`, style: Object.assign({ backgroundColor: color, width: typeof size === "number" ? `${size}px` : size, height: typeof size === "number" ? `${size}px` : size, opacity }, (typeof padding === "number"
4146
+ ? {
4147
+ [position.includes("top") ? "top" : "bottom"]: `${padding}px`,
4148
+ [position.includes("left") ? "left" : "right"]: `${padding}px`,
4149
+ }
4150
+ : {
4151
+ [position.includes("top") ? "top" : "bottom"]: padding,
4152
+ [position.includes("left") ? "left" : "right"]: padding,
4153
+ })) }));
4154
+ };
4155
+ const SquareCorners = ({ padding = 2, color = "white", size = 4, className = "", opacity = 0.5, }) => {
4156
+ return (React.createElement(React.Fragment, null,
4157
+ React.createElement(CornerSquare, { position: "top-left", padding: padding, color: color, size: size, className: className, opacity: opacity }),
4158
+ React.createElement(CornerSquare, { position: "top-right", padding: padding, color: color, size: size, className: className, opacity: opacity }),
4159
+ React.createElement(CornerSquare, { position: "bottom-left", padding: padding, color: color, size: size, className: className, opacity: opacity }),
4160
+ React.createElement(CornerSquare, { position: "bottom-right", padding: padding, color: color, size: size, className: className, opacity: opacity })));
4161
+ };
4162
+ const ArrowCorners = ({ padding = 2, color = "currentColor", thickness = 1, size = 12, className = "", }) => {
4163
+ return (React.createElement(React.Fragment, null,
4164
+ React.createElement(CornerSVG, { position: "top-left", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className }),
4165
+ React.createElement(CornerSVG, { position: "top-right", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className }),
4166
+ React.createElement(CornerSVG, { position: "bottom-left", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className }),
4167
+ React.createElement(CornerSVG, { position: "bottom-right", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className })));
4168
+ };
3562
4169
 
3563
4170
  /**
3564
4171
  * Creates a wrapper element and appends it to the body.
@@ -3728,6 +4335,7 @@ const CampContext = createContext({
3728
4335
  wagmiAvailable: false,
3729
4336
  ackee: null,
3730
4337
  setAckee: () => { },
4338
+ environment: ENVIRONMENTS.DEVELOPMENT,
3731
4339
  });
3732
4340
  /**
3733
4341
  * CampProvider
@@ -3738,27 +4346,19 @@ const CampContext = createContext({
3738
4346
  * @param {boolean} props.allowAnalytics Whether to allow analytics to be sent
3739
4347
  * @returns {JSX.Element} The CampProvider component
3740
4348
  */
3741
- const CampProvider = ({ clientId, redirectUri, children, allowAnalytics = true, }) => {
4349
+ const CampProvider = ({ clientId, redirectUri, children, environment = "DEVELOPMENT", }) => {
3742
4350
  const isServer = typeof window === "undefined";
3743
- // const ackeeInstance =
3744
- // allowAnalytics && !isServer
3745
- // ? Ackee.create(constants.ACKEE_INSTANCE, {
3746
- // detailed: false,
3747
- // ignoreLocalhost: true,
3748
- // ignoreOwnVisits: false,
3749
- // })
3750
- // : null;
3751
- // const [ackee, setAckee] = useState(ackeeInstance);
3752
- const [auth, setAuth] = useState(!isServer ? new Auth({
3753
- clientId,
3754
- redirectUri: redirectUri
3755
- ? redirectUri
3756
- : !isServer
3757
- ? window.location.href
3758
- : "",
3759
- // ackeeInstance,
3760
- }) : null);
3761
- // const wagmiContext = useContext(WagmiContext);
4351
+ const [auth, setAuth] = useState(!isServer
4352
+ ? new Auth({
4353
+ clientId,
4354
+ redirectUri: redirectUri
4355
+ ? redirectUri
4356
+ : !isServer
4357
+ ? window.location.href
4358
+ : "",
4359
+ environment: environment,
4360
+ })
4361
+ : null);
3762
4362
  const wagmiContext = typeof window !== "undefined" ? useContext(WagmiContext) : undefined;
3763
4363
  return (React.createElement(CampContext.Provider, { value: {
3764
4364
  clientId,
@@ -3767,6 +4367,7 @@ const CampProvider = ({ clientId, redirectUri, children, allowAnalytics = true,
3767
4367
  wagmiAvailable: wagmiContext !== undefined,
3768
4368
  ackee: null,
3769
4369
  setAckee: () => { },
4370
+ environment: ENVIRONMENTS[environment],
3770
4371
  } },
3771
4372
  React.createElement(SocialsProvider, null,
3772
4373
  React.createElement(OriginProvider, null,
@@ -3774,23 +4375,23 @@ const CampProvider = ({ clientId, redirectUri, children, allowAnalytics = true,
3774
4375
  React.createElement(ModalProvider, null, children))))));
3775
4376
  };
3776
4377
 
3777
- const getWalletConnectProvider = (projectId) => __awaiter(void 0, void 0, void 0, function* () {
4378
+ const getWalletConnectProvider = (projectId, chain) => __awaiter(void 0, void 0, void 0, function* () {
3778
4379
  const { EthereumProvider } = yield import('@walletconnect/ethereum-provider');
3779
4380
  const provider = yield EthereumProvider.init({
3780
- optionalChains: [testnet.id],
3781
- chains: [testnet.id],
4381
+ optionalChains: [chain.id],
4382
+ chains: [chain.id],
3782
4383
  projectId,
3783
4384
  showQrModal: true,
3784
4385
  methods: ["personal_sign"],
3785
4386
  });
3786
4387
  return provider;
3787
4388
  });
3788
- const useWalletConnectProvider = (projectId) => {
4389
+ const useWalletConnectProvider = (projectId, chain) => {
3789
4390
  const [walletConnectProvider, setWalletConnectProvider] = useState(null);
3790
4391
  useEffect(() => {
3791
4392
  const fetchWalletConnectProvider = () => __awaiter(void 0, void 0, void 0, function* () {
3792
4393
  try {
3793
- const provider = yield getWalletConnectProvider(projectId);
4394
+ const provider = yield getWalletConnectProvider(projectId, chain);
3794
4395
  setWalletConnectProvider(provider);
3795
4396
  }
3796
4397
  catch (error) {
@@ -3831,8 +4432,8 @@ const createLicenseTerms = (price, duration, royaltyBps, paymentToken) => {
3831
4432
  };
3832
4433
  };
3833
4434
 
3834
- var css_248z = ".buttons-module_connect-button__CJhUa{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;padding-inline:2.5rem;padding-left:5rem;position:relative;transition:background-color .15s;width:12rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.75);border-radius:.75rem 0 0 .75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05);display:grid;height:100%;left:0;margin-right:.5rem;place-items:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s;width:3rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2 svg{height:1.25rem;width:1.25rem}.buttons-module_connect-button__CJhUa:hover{background-color:#cc4e02;border-color:#cc4e02;cursor:pointer}.buttons-module_connect-button__CJhUa:hover .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.675)}.buttons-module_connect-button__CJhUa:focus{outline:none}.buttons-module_connect-button__CJhUa:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_provider-button__6JY7s{align-items:center;background-color:#fefefe;border:1px solid #ddd;border-radius:.5rem;display:flex;font-family:inherit;gap:.5rem;justify-content:flex-start;padding:.5rem;transition:background-color .15s;width:100%}.buttons-module_provider-button__6JY7s:focus{outline:1px solid #43b7c4}.buttons-module_provider-button__6JY7s:hover{border-color:#43b7c4}.buttons-module_provider-button__6JY7s:hover:not(:disabled){background-color:#ddd;cursor:pointer}.buttons-module_provider-button__6JY7s img{height:2rem;width:2rem}.buttons-module_provider-button__6JY7s .buttons-module_provider-icon__MOhr8{border-radius:.2rem}.buttons-module_provider-button__6JY7s span{line-height:1rem;margin-left:.5rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-name__tHWO2{color:#333;font-size:.875rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-label__CEGRr{color:#777;font-size:.7rem}.buttons-module_link-button-default__EcKUT{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:2.6rem;position:relative;width:7rem}.buttons-module_link-button-default__EcKUT:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-default__EcKUT:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-default__EcKUT:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:2rem;left:0;opacity:0;padding:.25rem;place-items:center;position:absolute;right:0;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;visibility:hidden}.buttons-module_link-button-default__EcKUT:disabled:hover:after{opacity:1;transform:translateY(0);visibility:visible}.buttons-module_link-button-default__EcKUT:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-default__EcKUT .buttons-module_button-container__-oPqd{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe{align-items:center;color:#fff;display:flex;height:1.5rem;justify-content:center;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg path{fill:#fff!important}.buttons-module_button-container__-oPqd .buttons-module_link-icon__8V8FP{align-items:center;color:hsla(0,0%,100%,.8);display:flex;height:1.25rem;justify-content:center;width:1.25rem}.buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;padding:.15rem;width:1.5rem}.buttons-module_link-button-default__EcKUT:disabled .buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0 svg path{fill:#b8b8b8!important}.buttons-module_link-button-icon__llX8m{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:3rem;min-height:3rem;min-width:3rem;padding:0;position:relative;width:3rem}.buttons-module_link-button-icon__llX8m:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-icon__llX8m:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;box-sizing:border-box;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:-moz-fit-content;height:fit-content;left:-1rem;opacity:0;padding:.25rem;place-items:center;position:absolute;right:-1rem;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s}.buttons-module_link-button-icon__llX8m:disabled:hover:after{opacity:1;transform:translateY(0)}.buttons-module_link-button-icon__llX8m:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-icon__llX8m:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1{align-items:center;display:flex;flex:1;height:100%;justify-content:center;position:relative;width:100%}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg path{fill:#fff!important}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;bottom:-.5rem;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;position:absolute;right:-.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0 svg{height:1.1rem;width:1.1rem}.buttons-module_link-button-icon__llX8m:disabled .buttons-module_camp-logo__slNl0 svg path,.buttons-module_not-linked__ua4va svg path{fill:#b8b8b8!important}.buttons-module_file-upload-container__le7Cg{align-items:center;border:2px dashed #ccc;border-radius:.75rem;box-sizing:border-box;color:#777;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:12rem;min-width:0;padding:1rem;position:relative;text-align:center;transition:background-color .2s,border-color .2s;width:100%}.buttons-module_file-upload-container__le7Cg:hover{border-color:#e2e2e2}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ{background-color:#f9f9f9;border-color:#ff6f00}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ .buttons-module_file-preview__yuM5i{opacity:.2;transition:opacity .2s}.buttons-module_file-upload-container__le7Cg.buttons-module_file-selected__YY6ms{background-color:#f9f9f9;border:none;height:auto;min-height:auto;padding:0}.buttons-module_file-input__gbD5T{display:none}.buttons-module_selected-file-container__E1AXM{align-items:center;display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;max-width:100%;position:relative;width:100%}.buttons-module_remove-file-button__Q1FMa{border:1px solid #ff6f00;border-radius:.5rem;color:#fff;color:#ff6f00;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s}.buttons-module_remove-file-button__Q1FMa:hover{background-color:#cc4e02;border-color:#cc4e02;color:#fff;cursor:pointer}.buttons-module_upload-file-button__vTwWd{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s;width:100%}.buttons-module_upload-file-button__vTwWd:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_file-preview__yuM5i{border-radius:.5rem;max-height:8rem;max-width:100%}.buttons-module_file-preview-text__80Ju0{color:#333;font-size:.875rem;margin-bottom:.5rem}.buttons-module_file-name__3iskR{color:#333;font-size:.875rem;max-width:100%;min-height:-moz-fit-content;min-height:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_upload-buttons__3SAw6{align-items:center;display:flex;gap:.25rem;justify-content:space-between;width:100%}.buttons-module_upload-buttons__3SAw6 .buttons-module_upload-file-button__vTwWd{flex-grow:1}.buttons-module_upload-buttons__3SAw6 .buttons-module_remove-file-button__Q1FMa{flex-grow:0}.buttons-module_accepted-types__Ys-D2{color:#777;font-size:.875rem;font-style:italic;margin-top:.5rem}.buttons-module_loading-bar-container__nrgPX{background-color:#e0e0e0;border-radius:4px;height:8px;margin-top:8px;overflow:hidden;width:100%}.buttons-module_loading-bar__IUAg1{background-color:#ff6f00;height:100%;transition:width .3s ease}.buttons-module_date-picker__V6gRM{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_date-picker__V6gRM input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.buttons-module_percentage-slider__M84tC{display:flex;flex-direction:row;font-family:sans-serif;gap:8px;justify-content:space-between;width:100%}.buttons-module_percentage-slider__M84tC input[type=range]{width:100%}.buttons-module_percentage-slider__M84tC label{min-width:50px}.buttons-module_price-input-container__teIRS{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_price-input__22j0n{border:1px solid #ccc;border-radius:4px;font-family:sans-serif;padding:6px 10px}.buttons-module_duration-input-container__Rh9Na{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_duration-input__-gt3p{border:1px solid #ccc;border-radius:4px;font-family:sans-serif;padding:6px 10px}\n/*# sourceMappingURL=data:application/json;base64,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QixpQkFBa0IsQ0FIbEIsc0JBQXVCLENBQ3ZCLGdCQUdGIiwiZmlsZSI6ImJ1dHRvbnMubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb25uZWN0LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIHBhZGRpbmctaW5saW5lOiAyLjVyZW07XG4gIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzNyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2lkdGg6IDEycmVtO1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICAgIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgc2Fucy1zZXJpZjtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmNvbm5lY3QtYnV0dG9uIC5idXR0b24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtIDAgMCAwLjc1cmVtO1xufVxuXG4uY29ubmVjdC1idXR0b24gLmJ1dHRvbi1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0ZTAyO1xufVxuXG4uY29ubmVjdC1idXR0b246aG92ZXIgLmJ1dHRvbi1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY3NSk7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm92aWRlci1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4ucHJvdmlkZXItYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICM0M2I3YzQ7XG59XG5cbi5wcm92aWRlci1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0M2I3YzQ7XG59XG5cbi5wcm92aWRlci1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm92aWRlci1idXR0b24gaW1nIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiAucHJvdmlkZXItaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3Bhbi5wcm92aWRlci1uYW1lIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3Bhbi5wcm92aWRlci1sYWJlbCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLyogXCJkZWZhdWx0XCIgdmFyaWFudCAqL1xuLmxpbmstYnV0dG9uLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDdyZW07XG4gIGhlaWdodDogMi42cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMi43cmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnNwb3RpZnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRiOTU0O1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS5kaXNjb3JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyODlkYTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGlrdG9rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGVsZWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLnNvY2lhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24gc3ZnIHBhdGgge1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAubGluay1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDAuMTVyZW07XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIC5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28gc3ZnIHBhdGgge1xuICBmaWxsOiAjYjhiOGI4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFwiaWNvblwiIHZhcmlhbnQgKi9cbi5saW5rLWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDNyZW07XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuN3JlbTtcbiAgbGVmdDogLTFyZW07XG4gIHJpZ2h0OiAtMXJlbTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhMWYyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS5zcG90aWZ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYjk1NDtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkuZGlzY29yZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Mjg5ZGE7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRpa3RvayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRlbGVncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODhjYztcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyID4gc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5pY29uLWNvbnRhaW5lciA+IHN2ZyBwYXRoIHtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmNhbXAtbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHJpZ2h0OiAtMC41cmVtO1xuICBib3R0b206IC0wLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubGluay1idXR0b24taWNvbiAuY2FtcC1sb2dvIHN2ZyB7XG4gIHdpZHRoOiAxLjFyZW07XG4gIGhlaWdodDogMS4xcmVtO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCAuY2FtcC1sb2dvIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2I4YjhiOCAhaW1wb3J0YW50O1xufVxuXG4ubm90LWxpbmtlZCBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiOGI4YjggIWltcG9ydGFudDtcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNzc3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlMmUyZTI7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcgLmZpbGUtcHJldmlldyB7XG4gIG9wYWNpdHk6IDAuMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyLmZpbGUtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbn1cblxuLmZpbGUtaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0ZWQtZmlsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDAuMjVyZW07XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmNmYwMDtcbn1cblxuLnJlbW92ZS1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51cGxvYWQtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVwbG9hZC1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbGUtcHJldmlldyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogOHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4uZmlsZS1wcmV2aWV3LXRleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZmlsZS1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51cGxvYWQtYnV0dG9ucyAudXBsb2FkLWZpbGUtYnV0dG9uIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMgLnJlbW92ZS1maWxlLWJ1dHRvbiB7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLmFjY2VwdGVkLXR5cGVzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM3Nzc7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubG9hZGluZy1iYXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmxvYWRpbmctYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5kYXRlLXBpY2tlciBpbnB1dCB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnBlcmNlbnRhZ2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogOHB4O1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucGVyY2VudGFnZS1zbGlkZXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wZXJjZW50YWdlLXNsaWRlciBsYWJlbCB7XG4gIG1pbi13aWR0aDogNTBweDtcbn1cblxuLnByaWNlLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5wcmljZS1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG5cbi5kdXJhdGlvbi1pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuXG4uZHVyYXRpb24taW5wdXQge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbiJdfQ== */";
3835
- var buttonStyles = {"connect-button":"buttons-module_connect-button__CJhUa","button-icon":"buttons-module_button-icon__JM4-2","provider-button":"buttons-module_provider-button__6JY7s","provider-icon":"buttons-module_provider-icon__MOhr8","provider-name":"buttons-module_provider-name__tHWO2","provider-label":"buttons-module_provider-label__CEGRr","link-button-default":"buttons-module_link-button-default__EcKUT","twitter":"buttons-module_twitter__9sRaz","spotify":"buttons-module_spotify__-fiKQ","discord":"buttons-module_discord__I-YjZ","tiktok":"buttons-module_tiktok__a80-0","telegram":"buttons-module_telegram__ExOTS","button-container":"buttons-module_button-container__-oPqd","social-icon":"buttons-module_social-icon__DPdPe","link-icon":"buttons-module_link-icon__8V8FP","camp-logo":"buttons-module_camp-logo__slNl0","link-button-icon":"buttons-module_link-button-icon__llX8m","icon-container":"buttons-module_icon-container__Q5bI1","not-linked":"buttons-module_not-linked__ua4va","file-upload-container":"buttons-module_file-upload-container__le7Cg","dragging":"buttons-module_dragging__cfggZ","file-preview":"buttons-module_file-preview__yuM5i","file-selected":"buttons-module_file-selected__YY6ms","file-input":"buttons-module_file-input__gbD5T","selected-file-container":"buttons-module_selected-file-container__E1AXM","remove-file-button":"buttons-module_remove-file-button__Q1FMa","upload-file-button":"buttons-module_upload-file-button__vTwWd","file-preview-text":"buttons-module_file-preview-text__80Ju0","file-name":"buttons-module_file-name__3iskR","upload-buttons":"buttons-module_upload-buttons__3SAw6","accepted-types":"buttons-module_accepted-types__Ys-D2","loading-bar-container":"buttons-module_loading-bar-container__nrgPX","loading-bar":"buttons-module_loading-bar__IUAg1","date-picker":"buttons-module_date-picker__V6gRM","percentage-slider":"buttons-module_percentage-slider__M84tC","price-input-container":"buttons-module_price-input-container__teIRS","price-input":"buttons-module_price-input__22j0n","duration-input-container":"buttons-module_duration-input-container__Rh9Na","duration-input":"buttons-module_duration-input__-gt3p"};
4435
+ var css_248z = ".buttons-module_button__4Ogad{background-color:#ff6f00;border:none;border-radius:0;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-size:.875rem;font-weight:600;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;position:relative;text-transform:uppercase;width:100%}.buttons-module_button__4Ogad:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_button__4Ogad:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_connect-button__CJhUa{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;padding-inline:2.5rem;padding-left:5rem;position:relative;text-transform:uppercase;transition:background-color .15s;width:13rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.75);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05);display:grid;height:100%;left:0;margin-right:.5rem;place-items:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s;width:3rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2 svg{height:1.25rem;width:1.25rem}.buttons-module_connect-button__CJhUa:hover{background-color:#cc4e02;border-color:#cc4e02;cursor:pointer}.buttons-module_connect-button__CJhUa:hover .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.675)}.buttons-module_connect-button__CJhUa:focus{outline:none}.buttons-module_connect-button__CJhUa:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_provider-button__6JY7s{align-items:center;border:1px solid #ddd;display:flex;gap:.5rem;justify-content:flex-start;padding:.5rem;position:relative;transition:border-color .15s;width:100%}.buttons-module_provider-button__6JY7s:focus{outline:1px solid #ff6f00;outline-offset:2px}.buttons-module_provider-button__6JY7s:hover{border-color:#ff6f00}.buttons-module_provider-button__6JY7s:hover:not(:disabled){cursor:pointer}.buttons-module_provider-button__6JY7s img{height:2rem;width:2rem}.buttons-module_provider-button__6JY7s .buttons-module_provider-icon__MOhr8{border-radius:.2rem}.buttons-module_provider-button__6JY7s span{line-height:1rem;margin-left:.5rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-name__tHWO2{color:#333;font-size:.875rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-label__CEGRr{color:#777;font-family:Geist Mono,monospace;font-size:.7rem;text-transform:uppercase}.buttons-module_link-button-default__EcKUT{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:2.6rem;position:relative;width:7rem}.buttons-module_link-button-default__EcKUT:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-default__EcKUT:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-default__EcKUT:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:2rem;left:0;opacity:0;padding:.25rem;place-items:center;position:absolute;right:0;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;visibility:hidden}.buttons-module_link-button-default__EcKUT:disabled:hover:after{opacity:1;transform:translateY(0);visibility:visible}.buttons-module_link-button-default__EcKUT:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-default__EcKUT .buttons-module_button-container__-oPqd{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe{align-items:center;color:#fff;display:flex;height:1.5rem;justify-content:center;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg path{fill:#fff!important}.buttons-module_button-container__-oPqd .buttons-module_link-icon__8V8FP{align-items:center;color:hsla(0,0%,100%,.8);display:flex;height:1.25rem;justify-content:center;width:1.25rem}.buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;padding:.15rem;width:1.5rem}.buttons-module_link-button-default__EcKUT:disabled .buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0 svg path{fill:#b8b8b8!important}.buttons-module_link-button-icon__llX8m{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:3rem;min-height:3rem;min-width:3rem;padding:0;position:relative;width:3rem}.buttons-module_link-button-icon__llX8m:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-icon__llX8m:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;box-sizing:border-box;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:-moz-fit-content;height:fit-content;left:-1rem;opacity:0;padding:.25rem;place-items:center;position:absolute;right:-1rem;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s}.buttons-module_link-button-icon__llX8m:disabled:hover:after{opacity:1;transform:translateY(0)}.buttons-module_link-button-icon__llX8m:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-icon__llX8m:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1{align-items:center;display:flex;flex:1;height:100%;justify-content:center;position:relative;width:100%}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg path{fill:#fff!important}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;bottom:-.5rem;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;position:absolute;right:-.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0 svg{height:1.1rem;width:1.1rem}.buttons-module_link-button-icon__llX8m:disabled .buttons-module_camp-logo__slNl0 svg path,.buttons-module_not-linked__ua4va svg path{fill:#b8b8b8!important}.buttons-module_file-upload-container__le7Cg{align-items:center;border:2px dashed #ccc;box-sizing:border-box;color:#777;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:12rem;min-width:0;padding:1rem;position:relative;text-align:center;transition:background-color .2s,border-color .2s;width:100%}.buttons-module_file-upload-container__le7Cg:hover{border-color:#e2e2e2}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ{background-color:#f9f9f9;border-color:#ff6f00}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ .buttons-module_file-preview__yuM5i{opacity:.2;transition:opacity .2s}.buttons-module_file-upload-container__le7Cg.buttons-module_file-selected__YY6ms{background-color:#f9f9f9;border:none;height:auto;min-height:auto;padding:0}.buttons-module_file-input__gbD5T{display:none}.buttons-module_selected-file-container__E1AXM{align-items:center;display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;max-width:100%;position:relative;width:100%}.buttons-module_remove-file-button__Q1FMa{border:1px solid #ff6f00;color:#fff;color:#ff6f00;cursor:pointer;font-size:.875rem;margin-bottom:.75rem;margin-top:1rem;padding:.5rem;text-align:center;transition:background-color .2s}.buttons-module_remove-file-button__Q1FMa:hover{background-color:#cc4e02;border-color:#cc4e02;color:#fff;cursor:pointer}.buttons-module_remove-file-button__Q1FMa:disabled{background-color:#b8b8b8;border-color:#b8b8b8;color:#fff;cursor:not-allowed}.buttons-module_upload-file-button__vTwWd{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s;width:100%}.buttons-module_upload-file-button__vTwWd:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_upload-file-button__vTwWd:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_file-preview__yuM5i{max-height:8rem;max-width:100%}.buttons-module_file-preview-text__80Ju0{color:#333;font-size:.875rem;margin-bottom:.5rem}.buttons-module_file-name__3iskR{color:#333;font-size:.875rem;max-width:100%;min-height:-moz-fit-content;min-height:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_upload-buttons__3SAw6{align-items:center;display:flex;gap:.25rem;justify-content:space-between;width:100%}.buttons-module_upload-buttons__3SAw6 .buttons-module_upload-file-button__vTwWd{flex-grow:1}.buttons-module_upload-buttons__3SAw6 .buttons-module_remove-file-button__Q1FMa{flex-grow:0}.buttons-module_accepted-types__Ys-D2{color:#777;font-size:.875rem;font-style:italic;margin-top:.5rem}.buttons-module_loading-bar-container__nrgPX{background-color:#e0e0e0;border-radius:4px;height:8px;margin-top:8px;overflow:hidden;width:100%}.buttons-module_loading-bar__IUAg1{background-color:#ff6f00;height:100%;transition:width .3s ease}.buttons-module_date-picker__V6gRM{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_date-picker__V6gRM input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.buttons-module_percentage-slider__M84tC{display:flex;flex-direction:row;font-family:sans-serif;gap:8px;justify-content:space-between;width:100%}.buttons-module_percentage-slider__M84tC input[type=range]{width:100%}.buttons-module_percentage-slider__M84tC label{min-width:50px}.buttons-module_price-input-container__teIRS{align-items:center;border:1px solid #ccc;display:flex;font-family:sans-serif;gap:0;overflow:hidden;position:relative;width:100%}.buttons-module_price-input__22j0n{background:transparent;border:none;flex:1;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_price-divider__UjXUe{background-color:#ccc;height:24px;margin:0;width:1px}.buttons-module_camp-icon-container__S9vEH{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-width:40px;padding:6px 10px}.buttons-module_camp-icon-container__S9vEH svg{height:16px;width:16px}.buttons-module_duration-input-container__Rh9Na{align-items:stretch;border:1px solid #ccc;box-sizing:border-box;display:flex;font-family:sans-serif;gap:0;overflow:hidden;width:100%}.buttons-module_duration-input__-gt3p{background:transparent;flex:1;min-width:0}.buttons-module_duration-input__-gt3p,.buttons-module_duration-unit-select__VKFf6{border:none;box-sizing:border-box;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_duration-unit-select__VKFf6{background-color:#f8f9fa;border-left:1px solid #ccc;cursor:pointer;flex:0 0 auto;width:auto}.buttons-module_price-input-container__teIRS:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:hover,.buttons-module_price-input-container__teIRS:hover{border-color:#999}.buttons-module_duration-unit-select__VKFf6:focus,.buttons-module_duration-unit-select__VKFf6:hover{background-color:#e9ecef}\n/*# sourceMappingURL=data:application/json;base64,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QWEsQ0FDYixrQkFBbUIsQ0FFbkIsc0JBQXVCLENBRHZCLE9BQVEsQ0FFUiw2QkFBOEIsQ0FMOUIsVUFNRixDQUVBLDJEQUNFLFVBQ0YsQ0FFQSwrQ0FDRSxjQUNGLENBRUEsNkNBR0Usa0JBQW1CLENBSW5CLHFCQUFzQixDQUx0QixZQUFhLENBSWIsc0JBQXVCLENBRHZCLEtBQU0sQ0FJTixlQUFnQixDQUxoQixpQkFBa0IsQ0FIbEIsVUFTRixDQUVBLG1DQU1FLHNCQUF1QixDQUh2QixXQUFZLENBRVosTUFBTyxDQUpQLHNCQUF1QixDQUd2QixZQUFhLENBRmIsZ0JBS0YsQ0FFQSxxQ0FHRSxxQkFBc0IsQ0FEdEIsV0FBWSxDQUVaLFFBQVMsQ0FIVCxTQUlGLENBRUEsMkNBR0Usa0JBQW1CLENBRW5CLHdCQUF5QixDQUh6QixZQUFhLENBRWIsc0JBQXVCLENBRXZCLGNBQWUsQ0FMZixnQkFNRixDQUVBLCtDQUVFLFdBQVksQ0FEWixVQUVGLENBRUEsZ0RBR0UsbUJBQW9CLENBR3BCLHFCQUFzQixDQUd0QixxQkFBc0IsQ0FQdEIsWUFBYSxDQUdiLHNCQUF1QixDQUR2QixLQUFNLENBSU4sZUFBZ0IsQ0FQaEIsVUFTRixDQUVBLHNDQU1FLHNCQUF1QixDQUR2QixNQUFPLENBR1AsV0FDRixDQUVBLGtGQVJFLFdBQVksQ0FJWixxQkFBc0IsQ0FOdEIsc0JBQXVCLENBR3ZCLFlBQWEsQ0FGYixnQkFvQkYsQ0FYQSw0Q0FLRSx3QkFBeUIsQ0FDekIsMEJBQTJCLENBQzNCLGNBQWUsQ0FDZixhQUFjLENBQ2QsVUFFRixDQUVBLDBEQUNFLG9CQUFxQixDQUNyQiw0QkFDRixDQUVBLDZEQUNFLG9CQUFxQixDQUNyQiw0QkFDRixDQUVBLHlHQUVFLGlCQUNGLENBTUEsb0dBQ0Usd0JBQ0YiLCJmaWxlIjoiYnV0dG9ucy5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuXG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNvbm5lY3QtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgcGFkZGluZy1pbmxpbmU6IDIuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuICBoZWlnaHQ6IDIuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzM3JlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB3aWR0aDogMTNyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uY29ubmVjdC1idXR0b24gLmJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW0gMCAwIDAuNzVyZW07ICovXG59XG5cbi5jb25uZWN0LWJ1dHRvbiAuYnV0dG9uLWljb24gc3ZnIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNjYzRlMDI7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpob3ZlciAuYnV0dG9uLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjc1KTtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7ICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXM7XG59XG5cbi5wcm92aWRlci1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggc29saWQgI2ZmNmYwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgKi9cbn1cblxuLnByb3ZpZGVyLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7ICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBpbWcge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIC5wcm92aWRlci1pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuLnByb3ZpZGVyLW5hbWUge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuLnByb3ZpZGVyLWxhYmVsIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyogXCJkZWZhdWx0XCIgdmFyaWFudCAqL1xuLmxpbmstYnV0dG9uLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDdyZW07XG4gIGhlaWdodDogMi42cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMi43cmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnNwb3RpZnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRiOTU0O1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS5kaXNjb3JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyODlkYTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGlrdG9rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGVsZWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLnNvY2lhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24gc3ZnIHBhdGgge1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAubGluay1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDAuMTVyZW07XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIC5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28gc3ZnIHBhdGgge1xuICBmaWxsOiAjYjhiOGI4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFwiaWNvblwiIHZhcmlhbnQgKi9cbi5saW5rLWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDNyZW07XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuN3JlbTtcbiAgbGVmdDogLTFyZW07XG4gIHJpZ2h0OiAtMXJlbTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhMWYyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS5zcG90aWZ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYjk1NDtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkuZGlzY29yZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Mjg5ZGE7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRpa3RvayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRlbGVncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODhjYztcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyID4gc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5pY29uLWNvbnRhaW5lciA+IHN2ZyBwYXRoIHtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmNhbXAtbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHJpZ2h0OiAtMC41cmVtO1xuICBib3R0b206IC0wLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubGluay1idXR0b24taWNvbiAuY2FtcC1sb2dvIHN2ZyB7XG4gIHdpZHRoOiAxLjFyZW07XG4gIGhlaWdodDogMS4xcmVtO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCAuY2FtcC1sb2dvIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2I4YjhiOCAhaW1wb3J0YW50O1xufVxuXG4ubm90LWxpbmtlZCBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiOGI4YjggIWltcG9ydGFudDtcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBwYWRkaW5nOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNzc3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlMmUyZTI7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcgLmZpbGUtcHJldmlldyB7XG4gIG9wYWNpdHk6IDAuMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyLmZpbGUtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbn1cblxuLmZpbGUtaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0ZWQtZmlsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDAuMjVyZW07XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMDA7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgKi9cbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBjb2xvcjogI2ZmNmYwMDtcbn1cblxuLnJlbW92ZS1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGI4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBib3JkZXItY29sb3I6ICNiOGI4Yjg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnVwbG9hZC1maWxlLWJ1dHRvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udXBsb2FkLWZpbGUtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVwbG9hZC1maWxlLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5maWxlLXByZXZpZXcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDhyZW07XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgKi9cbn1cblxuLmZpbGUtcHJldmlldy10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpbGUtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnVwbG9hZC1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMgLnVwbG9hZC1maWxlLWJ1dHRvbiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnVwbG9hZC1idXR0b25zIC5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi5hY2NlcHRlZC10eXBlcyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNzc3O1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmxvYWRpbmctYmFyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5sb2FkaW5nLWJhciB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuXG4uZGF0ZS1waWNrZXIgaW5wdXQge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5wZXJjZW50YWdlLXNsaWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDhweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnBlcmNlbnRhZ2Utc2xpZGVyIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGVyY2VudGFnZS1zbGlkZXIgbGFiZWwge1xuICBtaW4td2lkdGg6IDUwcHg7XG59XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDA7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiA0cHg7ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcmljZS1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnByaWNlLWRpdmlkZXIge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhbXAtaWNvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIG1pbi13aWR0aDogNDBweDtcbn1cblxuLmNhbXAtaWNvbi1jb250YWluZXIgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZ2FwOiAwO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgLyogYm9yZGVyLXJhZGl1czogNHB4OyAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZHVyYXRpb24taW5wdXQge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmR1cmF0aW9uLXVuaXQtc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXI6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmNmYwMDtcbn1cblxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmY2ZjAwO1xufVxuXG4ucHJpY2UtaW5wdXQtY29udGFpbmVyOmhvdmVyLFxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzk5OTtcbn1cblxuLmR1cmF0aW9uLXVuaXQtc2VsZWN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmR1cmF0aW9uLXVuaXQtc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cbiJdfQ== */";
4436
+ var buttonStyles = {"button":"buttons-module_button__4Ogad","connect-button":"buttons-module_connect-button__CJhUa","button-icon":"buttons-module_button-icon__JM4-2","provider-button":"buttons-module_provider-button__6JY7s","provider-icon":"buttons-module_provider-icon__MOhr8","provider-name":"buttons-module_provider-name__tHWO2","provider-label":"buttons-module_provider-label__CEGRr","link-button-default":"buttons-module_link-button-default__EcKUT","twitter":"buttons-module_twitter__9sRaz","spotify":"buttons-module_spotify__-fiKQ","discord":"buttons-module_discord__I-YjZ","tiktok":"buttons-module_tiktok__a80-0","telegram":"buttons-module_telegram__ExOTS","button-container":"buttons-module_button-container__-oPqd","social-icon":"buttons-module_social-icon__DPdPe","link-icon":"buttons-module_link-icon__8V8FP","camp-logo":"buttons-module_camp-logo__slNl0","link-button-icon":"buttons-module_link-button-icon__llX8m","icon-container":"buttons-module_icon-container__Q5bI1","not-linked":"buttons-module_not-linked__ua4va","file-upload-container":"buttons-module_file-upload-container__le7Cg","dragging":"buttons-module_dragging__cfggZ","file-preview":"buttons-module_file-preview__yuM5i","file-selected":"buttons-module_file-selected__YY6ms","file-input":"buttons-module_file-input__gbD5T","selected-file-container":"buttons-module_selected-file-container__E1AXM","remove-file-button":"buttons-module_remove-file-button__Q1FMa","upload-file-button":"buttons-module_upload-file-button__vTwWd","file-preview-text":"buttons-module_file-preview-text__80Ju0","file-name":"buttons-module_file-name__3iskR","upload-buttons":"buttons-module_upload-buttons__3SAw6","accepted-types":"buttons-module_accepted-types__Ys-D2","loading-bar-container":"buttons-module_loading-bar-container__nrgPX","loading-bar":"buttons-module_loading-bar__IUAg1","date-picker":"buttons-module_date-picker__V6gRM","percentage-slider":"buttons-module_percentage-slider__M84tC","price-input-container":"buttons-module_price-input-container__teIRS","price-input":"buttons-module_price-input__22j0n","price-divider":"buttons-module_price-divider__UjXUe","camp-icon-container":"buttons-module_camp-icon-container__S9vEH","duration-input-container":"buttons-module_duration-input-container__Rh9Na","duration-input":"buttons-module_duration-input__-gt3p","duration-unit-select":"buttons-module_duration-unit-select__VKFf6"};
3836
4437
  styleInject(css_248z);
3837
4438
 
3838
4439
  /**
@@ -3842,6 +4443,7 @@ styleInject(css_248z);
3842
4443
  */
3843
4444
  const CampButton = ({ onClick, authenticated, disabled, }) => {
3844
4445
  return (React.createElement("button", { className: buttonStyles["connect-button"], onClick: onClick, disabled: disabled },
4446
+ React.createElement(SquareCorners, null),
3845
4447
  React.createElement("div", { className: buttonStyles["button-icon"] },
3846
4448
  React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 571.95 611.12", height: "1rem", width: "1rem" },
3847
4449
  React.createElement("path", { d: "m563.25 431.49-66.17-51.46c-11.11-8.64-27.28-5.06-33.82 7.4-16.24 30.9-41.69 56.36-70.85 73.73l-69.35-69.35c-3.73-3.73-8.79-5.83-14.07-5.83s-10.34 2.1-14.07 5.83l-73.78 73.78c-57.37-30.39-96.55-90.71-96.55-160.03 0-99.79 81.19-180.98 180.98-180.98 60.35 0 118.17 26.28 156.39 89.44 6.85 11.32 21.92 14.33 32.59 6.51l64.21-47.06c9.53-6.98 12.06-20.15 5.78-30.16C508.83 54.41 411.43 0 305.56 0 137.07 0 0 137.07 0 305.56s137.07 305.56 305.56 305.56c57.6 0 113.72-16.13 162.31-46.63A306.573 306.573 0 0 0 568.8 460.8c5.78-9.78 3.42-22.34-5.55-29.31Zm-301.42 49.69 47.15-47.15 44.69 44.69c-15.92 5.1-32.2 7.83-48.1 7.83-15.08 0-29.72-1.87-43.74-5.36Zm42.36-222.47c-.07 1.49-.08 21.29 49.54 55.11 37.02 25.24 19.68 75.52 12.1 92.05a147.07 147.07 0 0 0-20.12-38.91c-12.73-17.59-26.87-28.9-36.74-35.59-10.38 6.36-27.41 18.74-41.07 40.02-8.27 12.89-12.82 25.16-15.42 34.48l-.03-.05c-15.1-40.6-9.75-60.88-1.95-71.9 6.12-8.65 17.24-20.6 17.24-20.6 9.71-9.66 19.96-19.06 29.82-38.17 6.06-11.75 6.59-15.84 6.63-16.45Z", fill: "#000", strokeWidth: "0" }),
@@ -3895,6 +4497,7 @@ const ProviderButton = ({ provider, handleConnect, loading, label, }) => {
3895
4497
  }
3896
4498
  }, [loading]);
3897
4499
  return (React.createElement("button", { className: buttonStyles["provider-button"], onClick: handleClick, disabled: loading },
4500
+ React.createElement(SquareCorners, { color: "#ddd" }),
3898
4501
  React.createElement("img", { src: provider.info.icon ||
3899
4502
  "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='%23777777' d='M21 7.28V5c0-1.1-.9-2-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-2.28A2 2 0 0 0 22 15V9a2 2 0 0 0-1-1.72M20 9v6h-7V9zM5 19V5h14v2h-6c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h6v2z'/%3E%3Ccircle cx='16' cy='12' r='1.5' fill='%23777777'/%3E%3C/svg%3E", className: buttonStyles["provider-icon"], alt: provider.info.name }),
3900
4503
  React.createElement("div", { style: {
@@ -3938,6 +4541,7 @@ const ConnectorButton = ({ name, link, unlink, icon, isConnected, refetch, }) =>
3938
4541
  React.createElement("path", { fill: "none", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M17 22v-2m-8-5l6-6m-4-3l.463-.536a5 5 0 0 1 7.071 7.072L18 13m-5 5l-.397.534a5.07 5.07 0 0 1-7.127 0a4.97 4.97 0 0 1 0-7.071L6 11m14 6h2M2 7h2m3-5v2" })),
3939
4542
  "Unlink")))) : (React.createElement("button", { onClick: handleClick, className: styles["connector-button"], disabled: isConnected },
3940
4543
  icon,
4544
+ React.createElement(SquareCorners, { color: "#ddd" }),
3941
4545
  React.createElement("span", null, name)))));
3942
4546
  };
3943
4547
  /**
@@ -3968,9 +4572,11 @@ const LinkButton = ({ variant = "default", social, theme = "default", }) => {
3968
4572
  return (React.createElement("button", { disabled: !authenticated, className: `${buttonStyles[`link-button-${variant}`]}
3969
4573
  ${theme === "default" ? buttonStyles[social] : ""}
3970
4574
  `, onClick: handleClick }, variant === "icon" ? (React.createElement("div", { className: buttonStyles["icon-container"] },
4575
+ React.createElement(SquareCorners, { color: "#ffffffaa" }),
3971
4576
  React.createElement(Icon, null),
3972
4577
  React.createElement("div", { className: `${buttonStyles["camp-logo"]} ${!isLinked ? buttonStyles["not-linked"] : ""}` },
3973
4578
  React.createElement(CampIcon, null)))) : (React.createElement("div", { className: buttonStyles["button-container"] },
4579
+ React.createElement(SquareCorners, { color: "#ffffffaa" }),
3974
4580
  React.createElement("div", { className: `${buttonStyles["camp-logo"]} ${!isLinked ? buttonStyles["not-linked"] : ""}` },
3975
4581
  React.createElement(CampIcon, null)),
3976
4582
  React.createElement("div", { className: buttonStyles["link-icon"] },
@@ -3988,19 +4594,6 @@ const LoadingBar = ({ progress }) => {
3988
4594
  return (React.createElement("div", { className: buttonStyles["loading-bar-container"] },
3989
4595
  React.createElement("div", { className: buttonStyles["loading-bar"], style: { width: `${progress}%` } })));
3990
4596
  };
3991
- const PercentageSlider = ({ onChange, }) => {
3992
- const [value, setValue] = useState(0);
3993
- const handleChange = (e) => {
3994
- const val = Number(e.target.value);
3995
- setValue(val);
3996
- onChange(val);
3997
- };
3998
- return (React.createElement("div", { className: buttonStyles["percentage-slider"] },
3999
- React.createElement("input", { id: "slider", type: "range", min: "0", max: "100", value: value, onChange: handleChange }),
4000
- React.createElement("label", { htmlFor: "slider" },
4001
- value,
4002
- "%")));
4003
- };
4004
4597
  /**
4005
4598
  * The FileUpload component.
4006
4599
  * Provides a file upload field with drag-and-drop support.
@@ -4017,17 +4610,62 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4017
4610
  const [uploadProgress, setUploadProgress] = useState(0);
4018
4611
  const fileInputRef = useRef(null);
4019
4612
  const { addToast } = useToast();
4020
- const [price, setPrice] = useState(BigInt(0)); // price in wei
4021
- const [royaltyBps, setRoyaltyBps] = useState(0); // royalty basis points (0-10000)
4022
- const [licenseDuration, setLicenseDuration] = useState(Math.floor(60 * 60 * 24 * 30) // 30 days in seconds
4023
- );
4613
+ const [price, setPrice] = useState("");
4614
+ const [royaltyBps, setRoyaltyBps] = useState(10); // default 10 bps = 0.1%
4615
+ const [licenseDuration, setLicenseDuration] = useState(24);
4616
+ const [durationUnit, setDurationUnit] = useState("hours");
4617
+ const [isValidInput, setIsValidInput] = useState(false);
4618
+ const validateInputs = () => {
4619
+ let durationInSeconds = licenseDuration;
4620
+ switch (durationUnit) {
4621
+ case "hours":
4622
+ durationInSeconds = licenseDuration * 3600; // 60 * 60
4623
+ break;
4624
+ case "days":
4625
+ durationInSeconds = licenseDuration * 86400; // 60 * 60 * 24
4626
+ break;
4627
+ case "weeks":
4628
+ durationInSeconds = licenseDuration * 604800; // 60 * 60 * 24 * 7
4629
+ break;
4630
+ }
4631
+ const isDurationValid = durationInSeconds >= constants.MIN_LICENSE_DURATION &&
4632
+ durationInSeconds <= constants.MAX_LICENSE_DURATION;
4633
+ let isPriceValid = true;
4634
+ if (price && price.trim() !== "") {
4635
+ const priceInWei = BigInt(Math.floor(parseFloat(price) * Math.pow(10, 18)));
4636
+ isPriceValid = priceInWei >= BigInt(constants.MIN_PRICE);
4637
+ }
4638
+ else {
4639
+ isPriceValid = false;
4640
+ }
4641
+ setIsValidInput(isDurationValid && isPriceValid);
4642
+ };
4643
+ useEffect(() => {
4644
+ validateInputs();
4645
+ }, [price, licenseDuration, durationUnit]);
4024
4646
  const handleUpload = () => __awaiter(void 0, void 0, void 0, function* () {
4025
4647
  var _a;
4026
4648
  if (selectedFile) {
4027
4649
  setIsUploading(true);
4028
4650
  try {
4029
- const license = createLicenseTerms(price, // price in wei
4030
- licenseDuration, // duration in seconds
4651
+ // convert duration to seconds based on selected unit
4652
+ let durationInSeconds = licenseDuration;
4653
+ switch (durationUnit) {
4654
+ case "hours":
4655
+ durationInSeconds = licenseDuration * 3600; // 60 * 60
4656
+ break;
4657
+ case "days":
4658
+ durationInSeconds = licenseDuration * 86400; // 60 * 60 * 24
4659
+ break;
4660
+ case "weeks":
4661
+ durationInSeconds = licenseDuration * 604800; // 60 * 60 * 24 * 7
4662
+ break;
4663
+ }
4664
+ const priceInWei = price
4665
+ ? BigInt(Math.floor(parseFloat(price) * Math.pow(10, 18)))
4666
+ : BigInt(0);
4667
+ const license = createLicenseTerms(priceInWei, // price in wei
4668
+ durationInSeconds, // duration in seconds
4031
4669
  royaltyBps, // royalty basis points
4032
4670
  zeroAddress // payment token
4033
4671
  );
@@ -4035,7 +4673,7 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4035
4673
  name: selectedFile.name,
4036
4674
  description: `This is a file uploaded by ${auth === null || auth === void 0 ? void 0 : auth.walletAddress}`,
4037
4675
  };
4038
- const res = yield ((_a = auth === null || auth === void 0 ? void 0 : auth.origin) === null || _a === void 0 ? void 0 : _a.mintFile(selectedFile, metadata, license, BigInt(0), {
4676
+ const res = yield ((_a = auth === null || auth === void 0 ? void 0 : auth.origin) === null || _a === void 0 ? void 0 : _a.mintFile(selectedFile, metadata, license, [], {
4039
4677
  progressCallback(percent) {
4040
4678
  setUploadProgress(percent);
4041
4679
  },
@@ -4047,6 +4685,7 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4047
4685
  refetch();
4048
4686
  }
4049
4687
  catch (error) {
4688
+ console.error(error);
4050
4689
  addToast(`Error minting file: ${error}`, "error", 5000);
4051
4690
  setIsUploading(false);
4052
4691
  }
@@ -4057,6 +4696,13 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4057
4696
  }
4058
4697
  }
4059
4698
  });
4699
+ useEffect(() => {
4700
+ return () => {
4701
+ if (selectedFile && selectedFile.type.startsWith("image/")) {
4702
+ URL.revokeObjectURL(URL.createObjectURL(selectedFile));
4703
+ }
4704
+ };
4705
+ }, [selectedFile]);
4060
4706
  const handleDragOver = (e) => {
4061
4707
  e.preventDefault();
4062
4708
  setIsDragging(true);
@@ -4136,23 +4782,32 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4136
4782
  React.createElement("span", { className: buttonStyles["file-name"] }, selectedFile.name),
4137
4783
  isUploading && React.createElement(LoadingBar, { progress: uploadProgress }),
4138
4784
  React.createElement("div", { className: buttonStyles["price-input-container"] },
4139
- React.createElement("input", { type: "number", placeholder: "Price in wei", className: buttonStyles["price-input"], value: price > 0 ? price.toString() : "", onChange: (e) => {
4785
+ React.createElement("input", { type: "number", step: "0.000000000000000001", placeholder: "Price in CAMP", className: buttonStyles["price-input"], value: price, onChange: (e) => {
4140
4786
  const value = e.target.value;
4141
- setPrice(value ? BigInt(value) : BigInt(0));
4142
- } })),
4787
+ setPrice(value);
4788
+ } }),
4789
+ React.createElement("div", { className: buttonStyles["price-divider"] }),
4790
+ React.createElement("div", { className: buttonStyles["camp-icon-container"] },
4791
+ React.createElement(CampIcon, null))),
4143
4792
  React.createElement("div", { className: buttonStyles["duration-input-container"] },
4144
- React.createElement("input", { type: "number", placeholder: "License duration (seconds)", className: buttonStyles["duration-input"], value: licenseDuration > 0 ? licenseDuration.toString() : "", onChange: (e) => {
4793
+ React.createElement("input", { type: "number", placeholder: "Duration", className: buttonStyles["duration-input"], value: licenseDuration > 0 ? licenseDuration.toString() : "", onChange: (e) => {
4145
4794
  const value = e.target.value;
4146
4795
  setLicenseDuration(value ? Number(value) : 0);
4147
- } })),
4148
- React.createElement(PercentageSlider, { onChange: (value) => {
4149
- const royaltyBps = Math.round((value / 100) * 10000);
4150
- setRoyaltyBps(royaltyBps);
4151
- } }),
4796
+ } }),
4797
+ React.createElement("select", { className: buttonStyles["duration-unit-select"], value: durationUnit, onChange: (e) => {
4798
+ setDurationUnit(e.target.value);
4799
+ } },
4800
+ React.createElement("option", { value: "hours" }, "Hours"),
4801
+ React.createElement("option", { value: "days" }, "Days"),
4802
+ React.createElement("option", { value: "weeks" }, "Weeks"))),
4152
4803
  React.createElement("div", { className: buttonStyles["upload-buttons"] },
4153
4804
  React.createElement("button", { className: buttonStyles["remove-file-button"], disabled: isUploading, onClick: handleRemoveFile },
4154
- React.createElement(BinIcon, { w: "1rem", h: "1rem" })),
4155
- React.createElement("button", { className: buttonStyles["upload-file-button"], onClick: handleUpload, disabled: !selectedFile || isUploading }, "Mint")))) : (React.createElement("p", null,
4805
+ React.createElement(BinIcon, { w: "1.25rem", h: "1.25rem" })),
4806
+ React.createElement(Button
4807
+ // className={buttonStyles["upload-file-button"]}
4808
+ , {
4809
+ // className={buttonStyles["upload-file-button"]}
4810
+ onClick: handleUpload, disabled: !selectedFile || isUploading || !isValidInput }, "Mint")))) : (React.createElement("p", null,
4156
4811
  "Drag and drop your file here, or click to select a file.",
4157
4812
  React.createElement("br", null),
4158
4813
  accept && (React.createElement("span", { className: buttonStyles["accepted-types"] }, accept
@@ -4167,6 +4822,14 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4167
4822
  (maxFileSize / 1024 / 1024).toPrecision(2),
4168
4823
  " MB"))))));
4169
4824
  };
4825
+ const Button = ({ children, onClick, disabled, }) => {
4826
+ return (React.createElement("button", { className: buttonStyles["button"], onClick: onClick, disabled: disabled },
4827
+ React.createElement(CornerSquare, { position: "top-left", padding: 4 }),
4828
+ React.createElement(CornerSquare, { position: "top-right", padding: 4 }),
4829
+ React.createElement(CornerSquare, { position: "bottom-left", padding: 4 }),
4830
+ React.createElement(CornerSquare, { position: "bottom-right", padding: 4 }),
4831
+ children));
4832
+ };
4170
4833
 
4171
4834
  /**
4172
4835
  * The Auth modal component.
@@ -4176,7 +4839,7 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
4176
4839
  const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvider, }) => {
4177
4840
  const { connect } = useConnect();
4178
4841
  const { setProvider } = useProvider();
4179
- const { auth, wagmiAvailable } = useContext(CampContext);
4842
+ const { auth, wagmiAvailable, environment } = useContext(CampContext);
4180
4843
  const [customProvider, setCustomProvider] = useState(null);
4181
4844
  const providers = useProviders();
4182
4845
  const [customConnector, setCustomConnector] = useState(null);
@@ -4281,6 +4944,7 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
4281
4944
  };
4282
4945
  return (React.createElement("div", { className: styles["outer-container"] },
4283
4946
  React.createElement("div", { className: `${styles.container} ${styles["linking-container"]}` },
4947
+ React.createElement(ArrowCorners, { padding: 8, color: "#AAA" }),
4284
4948
  React.createElement("div", { className: styles["close-button"], onClick: () => setIsVisible(false) },
4285
4949
  React.createElement(CloseIcon, null)),
4286
4950
  React.createElement("div", { className: styles["auth-header"] },
@@ -4296,7 +4960,7 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
4296
4960
  icon: customAccount.connector.icon ||
4297
4961
  getIconByConnectorName(customAccount.connector.name),
4298
4962
  },
4299
- }, label: formatAddress(customAccount.address), handleConnect: handleConnect, loading: loading }),
4963
+ }, label: formatAddress(customAccount.address, 6), handleConnect: handleConnect, loading: loading }),
4300
4964
  (providers.length || wcProvider || window.ethereum) &&
4301
4965
  !onlyWagmi &&
4302
4966
  !(defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.exclusive) && (React.createElement("div", { className: styles["divider"] })))),
@@ -4316,7 +4980,8 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
4316
4980
  name: "Browser Wallet",
4317
4981
  },
4318
4982
  }, label: "window.ethereum", handleConnect: handleConnect, loading: loading }))),
4319
- React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer" }, "Powered by Camp Network"))));
4983
+ React.createElement("div", { className: styles["footer-container"] },
4984
+ React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer" }, "Powered by Camp Network")))));
4320
4985
  };
4321
4986
  /**
4322
4987
  * The CampModal component.
@@ -4325,7 +4990,7 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
4325
4990
  */
4326
4991
  const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaultProvider, }) => {
4327
4992
  // const [isButtonDisabled, setIsButtonDisabled] = useState(false);
4328
- const { auth } = useContext(CampContext);
4993
+ const { auth, environment } = useContext(CampContext);
4329
4994
  const { authenticated, loading } = useAuthState();
4330
4995
  const { isVisible, setIsVisible, isButtonDisabled, setIsButtonDisabled } = useContext(ModalContext);
4331
4996
  const { isLinkingVisible } = useContext(ModalContext);
@@ -4337,7 +5002,7 @@ const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaul
4337
5002
  customAccount = useAccount();
4338
5003
  }
4339
5004
  const walletConnectProvider = wcProjectId
4340
- ? useWalletConnectProvider(wcProjectId)
5005
+ ? useWalletConnectProvider(wcProjectId, environment.CHAIN)
4341
5006
  : null;
4342
5007
  const handleModalButton = () => {
4343
5008
  setIsVisible(true);
@@ -4350,6 +5015,8 @@ const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaul
4350
5015
  }
4351
5016
  }, [authenticated]);
4352
5017
  useEffect(() => {
5018
+ // handles recovering the provider if it was passed as a defaultProvider or if WalletConnect was used
5019
+ // the core module handles the other cases (injected providers) automatically
4353
5020
  const recoverProvider = () => __awaiter(void 0, void 0, void 0, function* () {
4354
5021
  var _a, _b;
4355
5022
  try {
@@ -4392,7 +5059,13 @@ const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaul
4392
5059
  if (authenticated) {
4393
5060
  recoverProvider();
4394
5061
  }
4395
- }, [authenticated, defaultProvider, defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.provider, auth]);
5062
+ }, [
5063
+ authenticated,
5064
+ defaultProvider,
5065
+ defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.provider,
5066
+ auth,
5067
+ walletConnectProvider,
5068
+ ]);
4396
5069
  // Cases where the button should be disabled
4397
5070
  useEffect(() => {
4398
5071
  const noProvider = !provider.provider;
@@ -4442,6 +5115,7 @@ const TikTokFlow = () => {
4442
5115
  const { auth } = useContext(CampContext);
4443
5116
  const [IsLoading, setIsLoading] = useState(false);
4444
5117
  const [handleInput, setHandleInput] = useState("");
5118
+ const { addToast: toast } = useToast();
4445
5119
  if (!auth) {
4446
5120
  throw new Error("Auth instance is not available. Make sure to wrap your component with CampProvider.");
4447
5121
  }
@@ -4461,6 +5135,7 @@ const TikTokFlow = () => {
4461
5135
  catch (error) {
4462
5136
  resetState();
4463
5137
  console.error(error);
5138
+ toast("Error unlinking TikTok account", "error", 5000);
4464
5139
  return;
4465
5140
  }
4466
5141
  }
@@ -4472,6 +5147,7 @@ const TikTokFlow = () => {
4472
5147
  }
4473
5148
  catch (error) {
4474
5149
  resetState();
5150
+ toast(error.message ? error.message : "Error linking TikTok account", "error", 5000);
4475
5151
  console.error(error);
4476
5152
  return;
4477
5153
  }
@@ -4491,7 +5167,11 @@ const TikTokFlow = () => {
4491
5167
  " account.",
4492
5168
  React.createElement("div", null,
4493
5169
  React.createElement("input", { value: handleInput, onChange: (e) => setHandleInput(e.target.value), type: "text", placeholder: "Enter your TikTok username", className: styles["tiktok-input"] }))))),
4494
- React.createElement("button", { className: styles["linking-button"], onClick: handleLink, disabled: IsLoading }, !IsLoading ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : ("Link")) : (React.createElement("div", { className: styles.spinner })))));
5170
+ React.createElement(Button
5171
+ // className={styles["linking-button"]}
5172
+ , {
5173
+ // className={styles["linking-button"]}
5174
+ onClick: handleLink, disabled: IsLoading }, !IsLoading ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : ("Link")) : (React.createElement("div", { className: styles.spinner })))));
4495
5175
  };
4496
5176
  /**
4497
5177
  * The OTPInput component. Handles OTP input with customizable number of inputs.
@@ -4608,7 +5288,11 @@ const TelegramFlow = () => {
4608
5288
  React.createElement("span", null, "This will only work if you have 2FA disabled on your Telegram account."),
4609
5289
  React.createElement("div", null,
4610
5290
  React.createElement("input", { value: phoneInput, onChange: handlePhoneInput, type: "tel", placeholder: "Enter your phone number", className: `${styles["tiktok-input"]} ${!isPhoneValid ? styles["invalid"] : ""}` }))))))),
4611
- React.createElement("button", { className: styles["linking-button"], onClick: handleAction, disabled: IsLoading ||
5291
+ React.createElement(Button
5292
+ // className={styles["linking-button"]}
5293
+ , {
5294
+ // className={styles["linking-button"]}
5295
+ onClick: handleAction, disabled: IsLoading ||
4612
5296
  (!isPhoneValid && !isOTPSent) ||
4613
5297
  (!phoneInput && !isOTPSent) ||
4614
5298
  (isOTPSent && otpInput.length < 5) }, !IsLoading ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : isOTPSent ? ("Link") : ("Send OTP")) : (React.createElement("div", { className: styles.spinner })))));
@@ -4664,7 +5348,11 @@ const BasicFlow = () => {
4664
5348
  " ",
4665
5349
  capitalize(currentlyLinking),
4666
5350
  " account."))),
4667
- React.createElement("button", { className: styles["linking-button"], onClick: handleLink, disabled: isUnlinking }, !isUnlinking ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : ("Link")) : (React.createElement("div", { className: styles.spinner })))));
5351
+ React.createElement(Button
5352
+ // className={styles["linking-button"]}
5353
+ , {
5354
+ // className={styles["linking-button"]}
5355
+ onClick: handleLink, disabled: isUnlinking }, !isUnlinking ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : ("Link")) : (React.createElement("div", { className: styles.spinner })))));
4668
5356
  };
4669
5357
  /**
4670
5358
  * The LinkingModal component. Handles the linking and unlinking of socials.
@@ -4695,6 +5383,7 @@ const LinkingModal = () => {
4695
5383
  } },
4696
5384
  React.createElement("div", { className: styles["outer-container"] },
4697
5385
  React.createElement("div", { className: `${styles.container} ${styles["linking-container"]}` },
5386
+ React.createElement(ArrowCorners, { padding: 8, color: "#AAA" }),
4698
5387
  React.createElement("div", { className: styles["close-button"], onClick: () => setIsLinkingVisible(false) },
4699
5388
  React.createElement(CloseIcon, null)),
4700
5389
  isSocialsLoading ? (React.createElement("div", { style: {
@@ -4713,7 +5402,8 @@ const LinkingModal = () => {
4713
5402
  flow === "basic" && React.createElement(BasicFlow, null),
4714
5403
  flow === "tiktok" && React.createElement(TikTokFlow, null),
4715
5404
  flow === "telegram" && React.createElement(TelegramFlow, null))),
4716
- React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer", style: { marginTop: 0 } }, "Powered by Camp Network")))));
5405
+ React.createElement("div", { className: styles["footer-container"] },
5406
+ React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer", style: { marginTop: 0 } }, "Powered by Camp Network"))))));
4717
5407
  };
4718
5408
  /**
4719
5409
  * The OriginSection component. Displays the Origin status, royalty multiplier, and royalty credits.
@@ -4721,25 +5411,17 @@ const LinkingModal = () => {
4721
5411
  */
4722
5412
  const OriginSection = () => {
4723
5413
  const { stats, uploads } = useOrigin();
4724
- const [isOriginAuthorized, setIsOriginAuthorized] = useState(true);
4725
- const [royaltyMultiplier, setRoyaltyMultiplier] = useState(1);
4726
- const [royaltyCredits, setRoyaltyCredits] = useState(0);
5414
+ // const [isOriginAuthorized, setIsOriginAuthorized] = useState(true);
5415
+ // const [royaltyMultiplier, setRoyaltyMultiplier] = useState(1);
5416
+ // const [royaltyCredits, setRoyaltyCredits] = useState(0);
5417
+ const { environment } = useContext(CampContext);
4727
5418
  const [uploadedImages, setUploadedImages] = useState(0);
4728
5419
  const [uploadedVideos, setUploadedVideos] = useState(0);
4729
5420
  const [uploadedAudio, setUploadedAudio] = useState(0);
4730
5421
  const [uploadedText, setUploadedText] = useState(0);
4731
5422
  useEffect(() => {
4732
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
4733
- if (!stats.isLoading && !stats.isError) {
4734
- setIsOriginAuthorized((_d = (_c = (_b = (_a = stats.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.active) !== null && _d !== void 0 ? _d : true);
4735
- setRoyaltyMultiplier((_h = (_g = (_f = (_e = stats.data) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.user) === null || _g === void 0 ? void 0 : _g.multiplier) !== null && _h !== void 0 ? _h : 1);
4736
- setRoyaltyCredits((_m = (_l = (_k = (_j = stats.data) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.user) === null || _l === void 0 ? void 0 : _l.points) !== null && _m !== void 0 ? _m : 0);
4737
- }
4738
- if (stats.isError) {
4739
- setIsOriginAuthorized(true);
4740
- setRoyaltyMultiplier(1);
4741
- setRoyaltyCredits(0);
4742
- }
5423
+ if (!stats.isLoading && !stats.isError) ;
5424
+ if (stats.isError) ;
4743
5425
  }, [stats.data, stats.isError, stats.isLoading]);
4744
5426
  useEffect(() => {
4745
5427
  if (uploads.data) {
@@ -4769,16 +5451,6 @@ const OriginSection = () => {
4769
5451
  }, [uploads.data]);
4770
5452
  return stats.isLoading ? (React.createElement("div", { style: { marginTop: "1rem", marginBottom: "1rem", flex: 1 } },
4771
5453
  React.createElement("div", { className: styles.spinner }))) : (React.createElement("div", { className: styles["origin-wrapper"] },
4772
- React.createElement("div", { className: styles["origin-section"] },
4773
- React.createElement(Tooltip, { content: isOriginAuthorized ? "Origin Authorized" : "Origin Unauthorized", position: "top", containerStyle: { width: "100%" } },
4774
- React.createElement("div", { className: styles["origin-container"] },
4775
- React.createElement("span", null, isOriginAuthorized ? (React.createElement(CheckMarkIcon, { w: "1.2rem", h: "1.2rem" })) : (React.createElement(XMarkIcon, { w: "1.2rem", h: "1.2rem" }))),
4776
- React.createElement("span", { className: styles["origin-label"] }, isOriginAuthorized ? "Authorized" : "Unauthorized"))),
4777
- React.createElement("div", { className: styles["divider"] }),
4778
- React.createElement(Tooltip, { content: `Royalty Credits: ${royaltyCredits.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
4779
- React.createElement("div", { className: styles["origin-container"] },
4780
- React.createElement("span", null, formatCampAmount(royaltyCredits)),
4781
- React.createElement("span", { className: styles["origin-label"] }, "Credits")))),
4782
5454
  React.createElement("div", { className: styles["origin-section"] },
4783
5455
  React.createElement(Tooltip, { content: `Images uploaded: ${uploadedImages.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
4784
5456
  React.createElement("div", { className: styles["origin-container"] },
@@ -4798,7 +5470,24 @@ const OriginSection = () => {
4798
5470
  React.createElement(Tooltip, { content: `Text uploaded: ${uploadedText.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
4799
5471
  React.createElement("div", { className: styles["origin-container"] },
4800
5472
  React.createElement("span", null, formatCampAmount(uploadedText)),
4801
- React.createElement("span", { className: styles["origin-label"] }, "Text"))))));
5473
+ React.createElement("span", { className: styles["origin-label"] }, "Text")))),
5474
+ React.createElement("div", { className: styles["origin-section"] },
5475
+ React.createElement(Tooltip, { content: environment.NAME === "PRODUCTION"
5476
+ ? "You are connected to Camp Mainnet"
5477
+ : "You are connected to Camp Testnet", position: "top", containerStyle: { width: "100%" } },
5478
+ React.createElement("div", { className: styles["origin-container"] },
5479
+ React.createElement("span", null, environment.NAME === "PRODUCTION" ? "Mainnet" : "Testnet"),
5480
+ React.createElement("span", { className: styles["origin-label"] }, "Chain"))),
5481
+ React.createElement("div", { className: styles["divider"] }),
5482
+ React.createElement(Tooltip, { content: environment.DATANFT_CONTRACT_ADDRESS, position: "top", containerStyle: { width: "100%" } },
5483
+ React.createElement("div", { className: styles["origin-container"] },
5484
+ React.createElement("span", null, formatAddress(environment.DATANFT_CONTRACT_ADDRESS, 4)),
5485
+ React.createElement("span", { className: styles["origin-label"] }, "IP NFT"))),
5486
+ React.createElement("div", { className: styles["divider"] }),
5487
+ React.createElement(Tooltip, { content: environment.MARKETPLACE_CONTRACT_ADDRESS, position: "top", containerStyle: { width: "100%" } },
5488
+ React.createElement("div", { className: styles["origin-container"] },
5489
+ React.createElement("span", null, formatAddress(environment.MARKETPLACE_CONTRACT_ADDRESS, 4)),
5490
+ React.createElement("span", { className: styles["origin-label"] }, "Marketplace"))))));
4802
5491
  };
4803
5492
  /**
4804
5493
  * The MyCampModal component.
@@ -4806,13 +5495,14 @@ const OriginSection = () => {
4806
5495
  * @returns { JSX.Element } The MyCampModal component.
4807
5496
  */
4808
5497
  const MyCampModal = ({ wcProvider, }) => {
4809
- const { auth } = useContext(CampContext);
5498
+ const { auth, environment } = useContext(CampContext);
4810
5499
  const { setIsVisible: setIsVisible } = useContext(ModalContext);
4811
5500
  const { disconnect } = useConnect();
4812
5501
  const { socials, isLoading, refetch } = useSocials();
4813
5502
  const [isLoadingSocials, setIsLoadingSocials] = useState(true);
4814
5503
  const { linkTiktok, linkTelegram } = useLinkModal();
4815
5504
  const [activeTab, setActiveTab] = useState("socials");
5505
+ const { addToast: toast } = useToast();
4816
5506
  const { provider } = useProvider();
4817
5507
  if (!auth) {
4818
5508
  throw new Error("Auth instance is not available. Make sure to wrap your component with CampProvider.");
@@ -4867,11 +5557,22 @@ const MyCampModal = ({ wcProvider, }) => {
4867
5557
  const notConnected = connectedSocials.filter((social) => !social.isConnected);
4868
5558
  return (React.createElement("div", { className: styles["outer-container"] },
4869
5559
  React.createElement("div", { className: styles.container },
5560
+ React.createElement(ArrowCorners, { padding: 8, color: "#AAA" }),
4870
5561
  React.createElement("div", { className: styles["close-button"], onClick: () => setIsVisible(false) },
4871
5562
  React.createElement(CloseIcon, null)),
4872
5563
  React.createElement("div", { className: styles.header },
4873
- React.createElement("span", null, "My Origin"),
4874
- React.createElement("span", { className: styles["wallet-address"] }, formatAddress(auth.walletAddress, 6))),
5564
+ React.createElement(CampIcon, { customStyles: { marginRight: "0.5rem" } }),
5565
+ React.createElement("span", { className: styles["wallet-address"], onClick: () => __awaiter(void 0, void 0, void 0, function* () {
5566
+ try {
5567
+ yield navigator.clipboard.writeText(auth.walletAddress);
5568
+ toast("Address copied to clipboard", "success", 3000);
5569
+ }
5570
+ catch (error) {
5571
+ toast("Failed to copy address", "error", 3000);
5572
+ }
5573
+ }) },
5574
+ formatAddress(auth.walletAddress, 6),
5575
+ React.createElement(CopyIcon, { w: 16, h: 16 }))),
4875
5576
  React.createElement("div", { className: styles["vertical-tabs-container"] },
4876
5577
  React.createElement("div", { className: styles["vertical-tabs"] },
4877
5578
  React.createElement(TabButton, { label: "Stats", isActive: activeTab === "origin", onClick: () => setActiveTab("origin") }),
@@ -4886,13 +5587,15 @@ const MyCampModal = ({ wcProvider, }) => {
4886
5587
  activeTab === "images" && React.createElement(ImagesTab, null),
4887
5588
  activeTab === "audio" && React.createElement(AudioTab, null),
4888
5589
  activeTab === "videos" && React.createElement(VideosTab, null),
4889
- activeTab === "text" && React.createElement(TextTab, null))),
5590
+ activeTab === "text" && React.createElement(TextTab, null),
5591
+ React.createElement(ArrowCorners, { padding: 8, color: "#DDD" }))),
4890
5592
  !provider.provider && (React.createElement("button", { className: styles["no-provider-warning"], onClick: () => auth.recoverProvider(), style: { cursor: "pointer" }, type: "button" },
4891
5593
  "Click to try reconnecting your wallet. ",
4892
5594
  React.createElement("br", null),
4893
5595
  "If this doesn't work, please disconnect and connect again.")),
4894
- React.createElement("button", { className: styles["disconnect-button"], onClick: handleDisconnect }, "Disconnect"),
4895
- React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer", style: { marginTop: 0 } }, "Powered by Camp Network"))));
5596
+ React.createElement(Button, { onClick: handleDisconnect }, "Disconnect"),
5597
+ React.createElement("div", { className: styles["footer-container"] },
5598
+ React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer", style: { marginTop: 0 } }, "Powered by Camp Network")))));
4896
5599
  };
4897
5600
  const TabContent = ({ children, className, requiresProvider = false, }) => {
4898
5601
  const { provider } = useProvider();