@dan-uni/dan-any 0.8.1 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +139 -65
- package/dist/index.umd.min.js +139 -66
- package/dist/src/index.d.ts +57 -15
- package/dist/src/utils/dm-gen.d.ts +6 -2
- package/package.json +1 -1
- package/src/index.test.ts +23 -10
- package/src/index.ts +92 -36
- package/src/utils/dm-gen.ts +26 -6
package/dist/index.umd.min.js
CHANGED
|
@@ -20485,6 +20485,7 @@ and limitations under the License.
|
|
|
20485
20485
|
function timestamp_timestampMs(timestamp) {
|
|
20486
20486
|
return 1000 * Number(timestamp.seconds) + Math.round(timestamp.nanos / 1000000);
|
|
20487
20487
|
}
|
|
20488
|
+
var package_namespaceObject = JSON.parse('{"u2":"@dan-uni/dan-any","i8":"0.8.5","e8":"https://github.com/ani-uni/danuni/tree/master/packages/dan-any#readme"}');
|
|
20488
20489
|
const file_bili_dm = /*@__PURE__*/ fileDesc("Cg1iaWxpL2RtLnByb3RvEiBiaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MSJkCgZBdmF0YXISCgoCaWQYASABKAkSCwoDdXJsGAIgASgJEkEKC2F2YXRhcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyVHlwZSIjCgZCdWJibGUSDAoEdGV4dBgBIAEoCRILCgN1cmwYAiABKAkixgEKCEJ1YmJsZVYyEgwKBHRleHQYASABKAkSCwoDdXJsGAIgASgJEkEKC2J1YmJsZV90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQnViYmxlVHlwZRIVCg1leHBvc3VyZV9vbmNlGAQgASgIEkUKDWV4cG9zdXJlX3R5cGUYBSABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvc3VyZVR5cGUiWwoGQnV0dG9uEgwKBHRleHQYASABKAkSQwoGYWN0aW9uGAIgASgOMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RGdW5jdGlvblR5cGUiWAoOQnV6endvcmRDb25maWcSRgoIa2V5d29yZHMYASADKAsyNC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdXp6d29yZFNob3dDb25maWcieAoSQnV6endvcmRTaG93Q29uZmlnEgwKBG5hbWUYASABKAkSDgoGc2NoZW1hGAIgASgJEg4KBnNvdXJjZRgDIAEoBRIKCgJpZBgEIAEoAxITCgtidXp6d29yZF9pZBgFIAEoAxITCgtzY2hlbWFfdHlwZRgGIAEoBSJ7CghDaGVja0JveBIMCgR0ZXh0GAEgASgJEjwKBHR5cGUYAiABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja2JveFR5cGUSFQoNZGVmYXVsdF92YWx1ZRgDIAEoCBIMCgRzaG93GAQgASgIIm8KCkNoZWNrQm94VjISDAoEdGV4dBgBIAEoCRI8CgR0eXBlGAIgASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2hlY2tib3hUeXBlEhUKDWRlZmF1bHRfdmFsdWUYAyABKAgiggIKC0NsaWNrQnV0dG9uEhUKDXBvcnRyYWl0X3RleHQYASADKAkSFgoObGFuZHNjYXBlX3RleHQYAiADKAkSGwoTcG9ydHJhaXRfdGV4dF9mb2N1cxgDIAMoCRIcChRsYW5kc2NhcGVfdGV4dF9mb2N1cxgEIAMoCRJBCgtyZW5kZXJfdHlwZRgFIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlJlbmRlclR5cGUSDAoEc2hvdxgGIAEoCBI4CgZidWJibGUYByABKAsyKC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5CdWJibGUiswIKDUNsaWNrQnV0dG9uVjISFQoNcG9ydHJhaXRfdGV4dBgBIAMoCRIWCg5sYW5kc2NhcGVfdGV4dBgCIAMoCRIbChNwb3J0cmFpdF90ZXh0X2ZvY3VzGAMgAygJEhwKFGxhbmRzY2FwZV90ZXh0X2ZvY3VzGAQgAygJEkEKC3JlbmRlcl90eXBlGAUgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIXCg90ZXh0X2lucHV0X3Bvc3QYBiABKAgSFQoNZXhwb3N1cmVfb25jZRgHIAEoCBJFCg1leHBvc3VyZV90eXBlGAggASgOMi4uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwb3N1cmVUeXBlIksKB0NvbW1hbmQSQAoLY29tbWFuZF9kbXMYASADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Db21tYW5kRG0i5gEKCUNvbW1hbmREbRIKCgJpZBgBIAEoAxILCgNvaWQYAiABKAMSCwoDbWlkGAMgASgDEg8KB2NvbW1hbmQYBCABKAkSDwoHY29udGVudBgFIAEoCRIQCghwcm9ncmVzcxgGIAEoBRINCgVjdGltZRgHIAEoCRINCgVtdGltZRgIIAEoCRINCgVleHRyYRgJIAEoCRINCgVpZFN0chgKIAEoCRIMCgR0eXBlGAsgASgFEhMKC2F1dG9fY3JlYXRlGAwgASgIEhIKCmNvdW50X2Rvd24YDSABKAUSDAoEYXR0chgOIAEoBSJQCg1EYW5tYWt1QUlGbGFnEj8KCGRtX2ZsYWdzGAEgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUZsYWciiwMKC0Rhbm1ha3VFbGVtEgoKAmlkGAEgASgDEhAKCHByb2dyZXNzGAIgASgFEgwKBG1vZGUYAyABKAUSEAoIZm9udHNpemUYBCABKAUSPwoFY29sb3IYBSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRIQCghtaWRfaGFzaBgGIAEoCRIPCgdjb250ZW50GAcgASgJEg0KBWN0aW1lGAggASgDEg4KBndlaWdodBgJIAEoBRIOCgZhY3Rpb24YCiABKAkSDAoEcG9vbBgLIAEoBRIOCgZpZF9zdHIYDCABKAkSDAoEYXR0chgNIAEoBRIRCglhbmltYXRpb24YFiABKAkSDQoFZXh0cmEYFyABKAkSQgoIY29sb3JmdWwYGCABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbUNvbG9yZnVsVHlwZRIMCgR0eXBlGBkgASgFEgsKA29pZBgaIAEoAyIpCgtEYW5tYWt1RmxhZxIMCgRkbWlkGAEgASgDEgwKBGZsYWcYAiABKAUiSwoRRGFubWFrdUZsYWdDb25maWcSEAoIcmVjX2ZsYWcYASABKAUSEAoIcmVjX3RleHQYAiABKAkSEgoKcmVjX3N3aXRjaBgDIAEoBSKLBwoYRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnEikKIXBsYXllcl9kYW5tYWt1X3VzZV9kZWZhdWx0X2NvbmZpZxgBIAEoCBIsCiRwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9zd2l0Y2gYBCABKAgSKwojcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWwYBSABKAUSHwoXcGxheWVyX2Rhbm1ha3VfYmxvY2t0b3AYBiABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tzY3JvbGwYByABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tib3R0b20YCCABKAgSJAoccGxheWVyX2Rhbm1ha3VfYmxvY2tjb2xvcmZ1bBgJIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9ibG9ja3JlcGVhdBgKIAEoCBIjChtwbGF5ZXJfZGFubWFrdV9ibG9ja3NwZWNpYWwYCyABKAgSHgoWcGxheWVyX2Rhbm1ha3Vfb3BhY2l0eRgMIAEoAhIkChxwbGF5ZXJfZGFubWFrdV9zY2FsaW5nZmFjdG9yGA0gASgCEh0KFXBsYXllcl9kYW5tYWt1X2RvbWFpbhgOIAEoAhIcChRwbGF5ZXJfZGFubWFrdV9zcGVlZBgPIAEoBRIkChxpbmxpbmVfcGxheWVyX2Rhbm1ha3Vfc3dpdGNoGBAgASgIEikKIXBsYXllcl9kYW5tYWt1X3Nlbmlvcl9tb2RlX3N3aXRjaBgRIAEoBRIuCiZwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92MhgSIAEoBRKYAQoqcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfbGV2ZWxfdjJfbWFwGBMgAygLMmQuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVEZWZhdWx0UGxheWVyQ29uZmlnLlBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EiUKHXBsYXllcl9kYW5tYWt1X2VuYWJsZV9oZXJkX2RtGBQgASgIGksKKVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEi7AkKEURhbm11UGxheWVyQ29uZmlnEh0KFXBsYXllcl9kYW5tYWt1X3N3aXRjaBgBIAEoCBIiChpwbGF5ZXJfZGFubWFrdV9zd2l0Y2hfc2F2ZRgCIAEoCBIpCiFwbGF5ZXJfZGFubWFrdV91c2VfZGVmYXVsdF9jb25maWcYAyABKAgSLAokcGxheWVyX2Rhbm1ha3VfYWlfcmVjb21tZW5kZWRfc3dpdGNoGAQgASgIEisKI3BsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsGAUgASgFEh8KF3BsYXllcl9kYW5tYWt1X2Jsb2NrdG9wGAYgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2Nrc2Nyb2xsGAcgASgIEiIKGnBsYXllcl9kYW5tYWt1X2Jsb2NrYm90dG9tGAggASgIEiQKHHBsYXllcl9kYW5tYWt1X2Jsb2NrY29sb3JmdWwYCSABKAgSIgoacGxheWVyX2Rhbm1ha3VfYmxvY2tyZXBlYXQYCiABKAgSIwobcGxheWVyX2Rhbm1ha3VfYmxvY2tzcGVjaWFsGAsgASgIEh4KFnBsYXllcl9kYW5tYWt1X29wYWNpdHkYDCABKAISJAoccGxheWVyX2Rhbm1ha3Vfc2NhbGluZ2ZhY3RvchgNIAEoAhIdChVwbGF5ZXJfZGFubWFrdV9kb21haW4YDiABKAISHAoUcGxheWVyX2Rhbm1ha3Vfc3BlZWQYDyABKAUSJgoecGxheWVyX2Rhbm1ha3VfZW5hYmxlYmxvY2tsaXN0GBAgASgIEiQKHGlubGluZV9wbGF5ZXJfZGFubWFrdV9zd2l0Y2gYESABKAgSJAocaW5saW5lX3BsYXllcl9kYW5tYWt1X2NvbmZpZxgSIAEoBRImCh5wbGF5ZXJfZGFubWFrdV9pb3Nfc3dpdGNoX3NhdmUYEyABKAUSKQohcGxheWVyX2Rhbm1ha3Vfc2VuaW9yX21vZGVfc3dpdGNoGBQgASgFEi4KJnBsYXllcl9kYW5tYWt1X2FpX3JlY29tbWVuZGVkX2xldmVsX3YyGBUgASgFEpEBCipwbGF5ZXJfZGFubWFrdV9haV9yZWNvbW1lbmRlZF9sZXZlbF92Ml9tYXAYFiADKAsyXS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckNvbmZpZy5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsVjJNYXBFbnRyeRIlCh1wbGF5ZXJfZGFubWFrdV9lbmFibGVfaGVyZF9kbRgXIAEoCBImCh5wbGF5ZXJfZGFubWFrdV9ibG9ja3RvcF9ib3R0b20YGCABKAgSIAoYcGxheWVyX2Rhbm1ha3VfZG9tYWluX3YyGBkgASgFEh4KFnBsYXllcl9kYW5tYWt1X2RlbnNpdHkYGiABKAUSJQodcGxheWVyX2Rhbm1ha3Vfc3VidGl0bGVfcHJvb2YYGyABKAgSIwobcGxheWVyX2Rhbm1ha3VfcGVvcGxlX3Byb29mGBwgASgIGksKKVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMk1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEiMAoWRGFubXVQbGF5ZXJDb25maWdQYW5lbBIWCg5zZWxlY3Rpb25fdGV4dBgBIAEoCSJLChhEYW5tdVBsYXllckR5bmFtaWNDb25maWcSEAoIcHJvZ3Jlc3MYASABKAUSHQoVcGxheWVyX2Rhbm1ha3VfZG9tYWluGA4gASgCIpADChVEYW5tdVBsYXllclZpZXdDb25maWcSYQodZGFubXVrdV9kZWZhdWx0X3BsYXllcl9jb25maWcYASABKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdURlZmF1bHRQbGF5ZXJDb25maWcSUgoVZGFubXVrdV9wbGF5ZXJfY29uZmlnGAIgASgLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWcSYQodZGFubXVrdV9wbGF5ZXJfZHluYW1pY19jb25maWcYAyADKAsyOi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tdVBsYXllckR5bmFtaWNDb25maWcSXQobZGFubXVrdV9wbGF5ZXJfY29uZmlnX3BhbmVsGAQgASgLMjguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJDb25maWdQYW5lbCKZBQoURGFubXVXZWJQbGF5ZXJDb25maWcSEQoJZG1fc3dpdGNoGAEgASgIEhEKCWFpX3N3aXRjaBgCIAEoCBIQCghhaV9sZXZlbBgDIAEoBRIQCghibG9ja3RvcBgEIAEoCBITCgtibG9ja3Njcm9sbBgFIAEoCBITCgtibG9ja2JvdHRvbRgGIAEoCBISCgpibG9ja2NvbG9yGAcgASgIEhQKDGJsb2Nrc3BlY2lhbBgIIAEoCBIUCgxwcmV2ZW50c2hhZGUYCSABKAgSDQoFZG1hc2sYCiABKAgSDwoHb3BhY2l0eRgLIAEoAhIOCgZkbWFyZWEYDCABKAUSEQoJc3BlZWRwbHVzGA0gASgCEhAKCGZvbnRzaXplGA4gASgCEhIKCnNjcmVlbnN5bmMYDyABKAgSEQoJc3BlZWRzeW5jGBAgASgIEhIKCmZvbnRmYW1pbHkYESABKAkSDAoEYm9sZBgSIAEoCBISCgpmb250Ym9yZGVyGBMgASgFEhEKCWRyYXdfdHlwZRgUIAEoCRIaChJzZW5pb3JfbW9kZV9zd2l0Y2gYFSABKAUSEwoLYWlfbGV2ZWxfdjIYFiABKAUSYQoPYWlfbGV2ZWxfdjJfbWFwGBcgAygLMkguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVXZWJQbGF5ZXJDb25maWcuQWlMZXZlbFYyTWFwRW50cnkSFwoPYmxvY2t0b3BfYm90dG9tGBggASgIEhIKCmRtX2FyZWFfdjIYGSABKAUSEgoKZG1fZGVuc2l0eRgaIAEoBRozChFBaUxldmVsVjJNYXBFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIlkKCkRtQ29sb3JmdWwSPgoEdHlwZRgBIAEoDjIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtQ29sb3JmdWxUeXBlEgsKA3NyYxgCIAEoCSJQCg9EbUV4cG9SZXBvcnRSZXESEgoKc2Vzc2lvbl9pZBgBIAEoCRILCgNvaWQYAiABKAMSDQoFZG1pZHMYAyABKAwSDQoFc3BtaWQYBCABKAkiEQoPRG1FeHBvUmVwb3J0UmVzIm0KCkRtSGVyZFZpZXcSGwoTZGlzcGxheV9oZXJkX2RtX251bRgBIAEoBRJCCghoZXJkX2RtcxgCIAMoCzIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlZpZXdIZXJkRG1FbGVtIpYCCgpEbU1hc2tXYWxsEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAxIPCgdjb250ZW50GAMgASgJEk0KDGNvbnRlbnRfdHlwZRgEIAEoDjI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50VHlwZRJFCghiaXpfdHlwZRgFIAEoDjIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxCaXpUeXBlEkUKCGNvbnRlbnRzGAYgAygLMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1NYXNrV2FsbENvbnRlbnQiawoRRG1NYXNrV2FsbENvbnRlbnQSRQoEdHlwZRgBIAEoDjI3LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtTWFza1dhbGxDb250ZW50VHlwZRIPCgdjb250ZW50GAIgASgJIs0QChFEbVBsYXllckNvbmZpZ1JlcRIKCgJ0cxgBIAEoAxJFCgZzd2l0Y2gYAiABKAsyNS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1U3dpdGNoEk4KC3N3aXRjaF9zYXZlGAMgASgLMjkuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVN3aXRjaFNhdmUSWwoSdXNlX2RlZmF1bHRfY29uZmlnGAQgASgLMj8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVVzZURlZmF1bHRDb25maWcSYQoVYWlfcmVjb21tZW5kZWRfc3dpdGNoGAUgASgLMkIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRTd2l0Y2gSXwoUYWlfcmVjb21tZW5kZWRfbGV2ZWwYBiABKAsyQS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsEkkKCGJsb2NrdG9wGAcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrdG9wEk8KC2Jsb2Nrc2Nyb2xsGAggASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2Nrc2Nyb2xsEk8KC2Jsb2NrYm90dG9tGAkgASgLMjouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUJsb2NrYm90dG9tElMKDWJsb2NrY29sb3JmdWwYCiABKAsyPC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tjb2xvcmZ1bBJPCgtibG9ja3JlcGVhdBgLIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VCbG9ja3JlcGVhdBJRCgxibG9ja3NwZWNpYWwYDCABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEkcKB29wYWNpdHkYDSABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1T3BhY2l0eRJTCg1zY2FsaW5nZmFjdG9yGA4gASgLMjwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdVNjYWxpbmdmYWN0b3ISRQoGZG9tYWluGA8gASgLMjUuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpbhJDCgVzcGVlZBgQIAEoCzI0LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTcGVlZBJXCg9lbmFibGVibG9ja2xpc3QYESABKAsyPi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1RW5hYmxlYmxvY2tsaXN0El4KGWlubGluZVBsYXllckRhbm1ha3VTd2l0Y2gYEiABKAsyOy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5JbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoElsKEnNlbmlvcl9tb2RlX3N3aXRjaBgTIAEoCzI/LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTZW5pb3JNb2RlU3dpdGNoEmQKF2FpX3JlY29tbWVuZGVkX2xldmVsX3YyGBQgASgLMkMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUFpUmVjb21tZW5kZWRMZXZlbFYyElMKDmVuYWJsZV9oZXJkX2RtGBUgASgLMjsuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdUVuYWJsZUhlcmREbRJWCg9ibG9ja3RvcF9ib3R0b20YFiABKAsyPS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1QmxvY2t0b3BCb3R0b20SSgoJZG9tYWluX3YyGBcgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUGxheWVyRGFubWFrdURvbWFpblYyEkcKB2RlbnNpdHkYGCABKAsyNi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5QbGF5ZXJEYW5tYWt1RGVuc2l0eRJUCg5zdWJ0aXRsZV9wcm9vZhgZIAEoCzI8LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VTdWJ0aXRsZVByb29mElAKDHBlb3BsZV9wcm9vZhgaIAEoCzI6LmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBsYXllckRhbm1ha3VQZW9wbGVQcm9vZiIvCgtEbVNlZ0NvbmZpZxIRCglwYWdlX3NpemUYASABKAMSDQoFdG90YWwYAiABKAMikQIKEERtU2VnTW9iaWxlUmVwbHkSPAoFZWxlbXMYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbRINCgVzdGF0ZRgCIAEoBRJACgdhaV9mbGFnGAMgASgLMi8uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubWFrdUFJRmxhZxIVCg1zZWdtZW50X3J1bGVzGAQgAygDEkIKDGNvbG9yZnVsX3NyYxgFIAMoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtQ29sb3JmdWwSEwoLY29udGV4dF9zcmMYBiABKAkiygEKDkRtU2VnTW9iaWxlUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRIVCg1zZWdtZW50X2luZGV4GAQgASgDEhYKDnRlZW5hZ2Vyc19tb2RlGAUgASgFEgoKAnBzGAYgASgDEgoKAnBlGAcgASgDEhEKCXB1bGxfbW9kZRgIIAEoBRISCgpmcm9tX3NjZW5lGAkgASgFEg0KBXNwbWlkGAogASgJEhMKC2NvbnRleHRfZXh0GAsgASgJIlwKDURtU2VnT3R0UmVwbHkSPAoFZWxlbXMYASADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RWxlbRINCgVzdGF0ZRgCIAEoBSJMCgtEbVNlZ090dFJlcRILCgNwaWQYASABKAMSCwoDb2lkGAIgASgDEgwKBHR5cGUYAyABKAUSFQoNc2VnbWVudF9pbmRleBgEIAEoAyJdCg1EbVNlZ1NES1JlcGx5Eg4KBmNsb3NlZBgBIAEoCBI8CgVlbGVtcxgCIAMoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VFbGVtIkwKC0RtU2VnU0RLUmVxEgsKA3BpZBgBIAEoAxILCgNvaWQYAiABKAMSDAoEdHlwZRgDIAEoBRIVCg1zZWdtZW50X2luZGV4GAQgASgDIncKCURtU3ViVmlldxIMCgR0eXBlGAEgASgFEgsKA29pZBgCIAEoAxILCgNwaWQYAyABKAMSQgoLcG9zdF9wYW5lbDIYBCADKAsyLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxWMiKhCQoLRG1WaWV3UmVwbHkSDgoGY2xvc2VkGAEgASgIEjkKBG1hc2sYAiABKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWRlb01hc2sSQQoIc3VidGl0bGUYAyABKAsyLy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5WaWRlb1N1YnRpdGxlEhMKC3NwZWNpYWxfZG1zGAQgAygJEkQKB2FpX2ZsYWcYBSABKAsyMy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EYW5tYWt1RmxhZ0NvbmZpZxJOCg1wbGF5ZXJfY29uZmlnGAYgASgLMjcuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVQbGF5ZXJWaWV3Q29uZmlnEhYKDnNlbmRfYm94X3N0eWxlGAcgASgFEg0KBWFsbG93GAggASgIEhEKCWNoZWNrX2JveBgJIAEoCBIaChJjaGVja19ib3hfc2hvd19tc2cYCiABKAkSGAoQdGV4dF9wbGFjZWhvbGRlchgLIAEoCRIZChFpbnB1dF9wbGFjZWhvbGRlchgMIAEoCRIdChVyZXBvcnRfZmlsdGVyX2NvbnRlbnQYDSADKAkSQQoLZXhwb19yZXBvcnQYDiABKAsyLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvUmVwb3J0EkkKD2J1enp3b3JkX2NvbmZpZxgPIAEoCzIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1enp3b3JkQ29uZmlnEkIKC2V4cHJlc3Npb25zGBAgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbnMSPwoKcG9zdF9wYW5lbBgRIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbBIVCg1hY3Rpdml0eV9tZXRhGBIgAygJEkIKC3Bvc3RfcGFuZWwyGBMgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjISQgoMZG1fbWFza193YWxsGBQgAygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1NYXNrV2FsbBI9CgdkbV9oZXJkGBUgASgLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1IZXJkVmlldxI6Cgdjb21tYW5kGBYgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ29tbWFuZBIKCgJrdhgXIAEoCRI+CglzdWJfdmlld3MYGCADKAsyKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVN1YlZpZXcSNgoDcW9lGBkgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUW9lSW5mbyJtCglEbVZpZXdSZXESCwoDcGlkGAEgASgDEgsKA29pZBgCIAEoAxIMCgR0eXBlGAMgASgFEg0KBXNwbWlkGAQgASgJEhQKDGlzX2hhcmRfYm9vdBgFIAEoBRITCgtjb250ZXh0X2V4dBgGIAEoCSKBBgoORG1XZWJWaWV3UmVwbHkSDQoFc3RhdGUYASABKAUSDAoEdGV4dBgCIAEoCRIRCgl0ZXh0X3NpZGUYAyABKAkSPQoGZG1fc2dlGAQgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdDb25maWcSQQoEZmxhZxgFIAEoCzIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRhbm1ha3VGbGFnQ29uZmlnEhMKC3NwZWNpYWxfZG1zGAYgAygJEhEKCWNoZWNrX2JveBgHIAEoCBINCgVjb3VudBgIIAEoAxJACgtjb21tYW5kX2RtcxgJIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNvbW1hbmREbRJNCg1wbGF5ZXJfY29uZmlnGAogASgLMjYuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRGFubXVXZWJQbGF5ZXJDb25maWcSHQoVcmVwb3J0X2ZpbHRlcl9jb250ZW50GAsgAygJEkIKC2V4cHJlc3Npb25zGAwgAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbnMSPwoKcG9zdF9wYW5lbBgNIAMoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbBIVCg1hY3Rpdml0eV9tZXRhGA4gAygJEkIKC3Bvc3RfcGFuZWwyGA8gAygLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFBhbmVsVjISPgoJc3ViX3ZpZXdzGBAgAygLMisuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TdWJWaWV3EjYKA3FvZRgRIAEoCzIpLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlFvZUluZm8iKgoKRXhwb1JlcG9ydBIcChRzaG91bGRfcmVwb3J0X2F0X2VuZBgBIAEoCCJkCgpFeHByZXNzaW9uEg8KB2tleXdvcmQYASADKAkSCwoDdXJsGAIgASgJEjgKBnBlcmlvZBgDIAMoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBlcmlvZCJJCgtFeHByZXNzaW9ucxI6CgRkYXRhGAEgAygLMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRXhwcmVzc2lvbiIqChlJbmxpbmVQbGF5ZXJEYW5tYWt1U3dpdGNoEg0KBXZhbHVlGAEgASgIIicKBUxhYmVsEg0KBXRpdGxlGAEgASgJEg8KB2NvbnRlbnQYAiADKAkihwEKB0xhYmVsVjISDQoFdGl0bGUYASABKAkSDwoHY29udGVudBgCIAMoCRIVCg1leHBvc3VyZV9vbmNlGAMgASgIEkUKDWV4cG9zdXJlX3R5cGUYBCABKA4yLi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5FeHBvc3VyZVR5cGUiJAoGUGVyaW9kEg0KBXN0YXJ0GAEgASgDEgsKA2VuZBgCIAEoAyIwCh9QbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZExldmVsEg0KBXZhbHVlGAEgASgFIjIKIVBsYXllckRhbm1ha3VBaVJlY29tbWVuZGVkTGV2ZWxWMhINCgV2YWx1ZRgBIAEoBSIxCiBQbGF5ZXJEYW5tYWt1QWlSZWNvbW1lbmRlZFN3aXRjaBINCgV2YWx1ZRgBIAEoCCIpChhQbGF5ZXJEYW5tYWt1QmxvY2tib3R0b20SDQoFdmFsdWUYASABKAgiKwoaUGxheWVyRGFubWFrdUJsb2NrY29sb3JmdWwSDQoFdmFsdWUYASABKAgiKQoYUGxheWVyRGFubWFrdUJsb2NrcmVwZWF0Eg0KBXZhbHVlGAEgASgIIikKGFBsYXllckRhbm1ha3VCbG9ja3Njcm9sbBINCgV2YWx1ZRgBIAEoCCIqChlQbGF5ZXJEYW5tYWt1QmxvY2tzcGVjaWFsEg0KBXZhbHVlGAEgASgIIiYKFVBsYXllckRhbm1ha3VCbG9ja3RvcBINCgV2YWx1ZRgBIAEoCCIsChtQbGF5ZXJEYW5tYWt1QmxvY2t0b3BCb3R0b20SDQoFdmFsdWUYASABKAgiJQoUUGxheWVyRGFubWFrdURlbnNpdHkSDQoFdmFsdWUYASABKAUiJAoTUGxheWVyRGFubWFrdURvbWFpbhINCgV2YWx1ZRgBIAEoAiImChVQbGF5ZXJEYW5tYWt1RG9tYWluVjISDQoFdmFsdWUYASABKAUiKgoZUGxheWVyRGFubWFrdUVuYWJsZUhlcmREbRINCgV2YWx1ZRgBIAEoCCItChxQbGF5ZXJEYW5tYWt1RW5hYmxlYmxvY2tsaXN0Eg0KBXZhbHVlGAEgASgIIiUKFFBsYXllckRhbm1ha3VPcGFjaXR5Eg0KBXZhbHVlGAEgASgCIikKGFBsYXllckRhbm1ha3VQZW9wbGVQcm9vZhINCgV2YWx1ZRgBIAEoCCIrChpQbGF5ZXJEYW5tYWt1U2NhbGluZ2ZhY3RvchINCgV2YWx1ZRgBIAEoAiIuCh1QbGF5ZXJEYW5tYWt1U2VuaW9yTW9kZVN3aXRjaBINCgV2YWx1ZRgBIAEoBSIjChJQbGF5ZXJEYW5tYWt1U3BlZWQSDQoFdmFsdWUYASABKAUiKwoaUGxheWVyRGFubWFrdVN1YnRpdGxlUHJvb2YSDQoFdmFsdWUYASABKAgiOAoTUGxheWVyRGFubWFrdVN3aXRjaBINCgV2YWx1ZRgBIAEoCBISCgpjYW5faWdub3JlGAIgASgIIigKF1BsYXllckRhbm1ha3VTd2l0Y2hTYXZlEg0KBXZhbHVlGAEgASgIIi4KHVBsYXllckRhbm1ha3VVc2VEZWZhdWx0Q29uZmlnEg0KBXZhbHVlGAEgASgIIowDCglQb3N0UGFuZWwSDQoFc3RhcnQYASABKAMSCwoDZW5kGAIgASgDEhAKCHByaW9yaXR5GAMgASgDEg4KBmJpel9pZBgEIAEoAxJECghiaXpfdHlwZRgFIAEoDjIyLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RQYW5lbEJpelR5cGUSQwoMY2xpY2tfYnV0dG9uGAYgASgLMi0uYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQ2xpY2tCdXR0b24SPwoKdGV4dF9pbnB1dBgHIAEoCzIrLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dBI9CgljaGVja19ib3gYCCABKAsyKi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5DaGVja0JveBI2CgV0b2FzdBgJIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0Iq0ECgtQb3N0UGFuZWxWMhINCgVzdGFydBgBIAEoAxILCgNlbmQYAiABKAMSRAoIYml6X3R5cGUYAyABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Qb3N0UGFuZWxCaXpUeXBlEkUKDGNsaWNrX2J1dHRvbhgEIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNsaWNrQnV0dG9uVjISQQoKdGV4dF9pbnB1dBgFIAEoCzItLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRleHRJbnB1dFYyEj8KCWNoZWNrX2JveBgGIAEoCzIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkNoZWNrQm94VjISOAoFdG9hc3QYByABKAsyKS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5Ub2FzdFYyEjoKBmJ1YmJsZRgIIAEoCzIqLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1YmJsZVYyEjgKBWxhYmVsGAkgASgLMikuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuTGFiZWxWMhJBCgtwb3N0X3N0YXR1cxgKIAEoDjIsLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlBvc3RTdGF0dXMiFwoHUW9lSW5mbxIMCgRpbmZvGAEgASgJIikKCFJlc3BvbnNlEgwKBGNvZGUYASABKAUSDwoHbWVzc2FnZRgCIAEoCSL5AgoMU3VidGl0bGVJdGVtEgoKAmlkGAEgASgDEg4KBmlkX3N0chgCIAEoCRILCgNsYW4YAyABKAkSDwoHbGFuX2RvYxgEIAEoCRIUCgxzdWJ0aXRsZV91cmwYBSABKAkSOgoGYXV0aG9yGAYgASgLMiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVXNlckluZm8SPAoEdHlwZRgHIAEoDjIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlN1YnRpdGxlVHlwZRIVCg1sYW5fZG9jX2JyaWVmGAggASgJEkEKB2FpX3R5cGUYCSABKA4yMC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpVHlwZRJFCglhaV9zdGF0dXMYCiABKA4yMi5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5TdWJ0aXRsZUFpU3RhdHVzIugCCglUZXh0SW5wdXQSHAoUcG9ydHJhaXRfcGxhY2Vob2xkZXIYASADKAkSHQoVbGFuZHNjYXBlX3BsYWNlaG9sZGVyGAIgAygJEkEKC3JlbmRlcl90eXBlGAMgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVuZGVyVHlwZRIYChBwbGFjZWhvbGRlcl9wb3N0GAQgASgIEgwKBHNob3cYBSABKAgSOAoGYXZhdGFyGAYgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyEkEKC3Bvc3Rfc3RhdHVzGAcgASgOMiwuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUG9zdFN0YXR1cxI2CgVsYWJlbBgIIAEoCzInLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkxhYmVsIvsBCgtUZXh0SW5wdXRWMhIcChRwb3J0cmFpdF9wbGFjZWhvbGRlchgBIAMoCRIdChVsYW5kc2NhcGVfcGxhY2Vob2xkZXIYAiADKAkSQQoLcmVuZGVyX3R5cGUYAyABKA4yLC5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5SZW5kZXJUeXBlEhgKEHBsYWNlaG9sZGVyX3Bvc3QYBCABKAgSOAoGYXZhdGFyGAUgAygLMiguYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuQXZhdGFyEhgKEHRleHRfaW5wdXRfbGltaXQYBiABKAUibwoFVG9hc3QSDAoEdGV4dBgBIAEoCRIQCghkdXJhdGlvbhgCIAEoBRIMCgRzaG93GAMgASgIEjgKBmJ1dHRvbhgEIAEoCzIoLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkJ1dHRvbiJiCg1Ub2FzdEJ1dHRvblYyEgwKBHRleHQYASABKAkSQwoGYWN0aW9uGAIgASgOMjMuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuVG9hc3RGdW5jdGlvblR5cGUicwoHVG9hc3RWMhIMCgR0ZXh0GAEgASgJEhAKCGR1cmF0aW9uGAIgASgFEkgKD3RvYXN0X2J1dHRvbl92MhgDIAEoCzIvLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlRvYXN0QnV0dG9uVjIiXAoIVXNlckluZm8SCwoDbWlkGAEgASgDEgwKBG5hbWUYAiABKAkSCwoDc2V4GAMgASgJEgwKBGZhY2UYBCABKAkSDAoEc2lnbhgFIAEoCRIMCgRyYW5rGAYgASgFIlMKCVZpZGVvTWFzaxILCgNjaWQYASABKAMSDAoEcGxhdBgCIAEoBRILCgNmcHMYAyABKAUSDAoEdGltZRgEIAEoAxIQCghtYXNrX3VybBgFIAEoCSJwCg1WaWRlb1N1YnRpdGxlEgsKA2xhbhgBIAEoCRIPCgdsYW5fZG9jGAIgASgJEkEKCXN1YnRpdGxlcxgDIAMoCzIuLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLlN1YnRpdGxlSXRlbSKSAQoOVmlld0hlcmREbUVsZW0SEAoIaGVyZF9tc2cYASABKAkSFgoOaGVyZF9zdGFydF9jbnQYAiABKAUSFAoMaGVyZF9lbmRfY250GAMgASgFEhIKCnJlZ2V4X3J1bGUYBCABKAkSFgoOc3RhcnRfcHJvZ3Jlc3MYBSABKAUSFAoMZW5kX3Byb2dyZXNzGAYgASgFKjMKCkF2YXRhclR5cGUSEgoOQXZhdGFyVHlwZU5vbmUQABIRCg1BdmF0YXJUeXBlTkZUEAEqWQoKQnViYmxlVHlwZRISCg5CdWJibGVUeXBlTm9uZRAAEhkKFUJ1YmJsZVR5cGVDbGlja0J1dHRvbhABEhwKGEJ1YmJsZVR5cGVEbVNldHRpbmdQYW5lbBACKlgKDENoZWNrYm94VHlwZRIUChBDaGVja2JveFR5cGVOb25lEAASGQoVQ2hlY2tib3hUeXBlRW5jb3VyYWdlEAESFwoTQ2hlY2tib3hUeXBlQ29sb3JETRACKjUKDkRtQ29sb3JmdWxUeXBlEgwKCE5vbmVUeXBlEAASFQoPVmlwR3JhZHVhbENvbG9yEOHUAypgChFEbU1hc2tXYWxsQml6VHlwZRILCgdVbmtub3duEAASBwoDT0dWEAESCgoGQml6UGljEAISCAoETXV0ZRADEgoKBlJlY29yZBAEEgkKBUNsb3VkEAUSCAoEQUlHQxAGKnYKFURtTWFza1dhbGxDb250ZW50VHlwZRIgChxEbU1hc2tXYWxsQ29udGVudFR5cGVVbmtub3duEAASHQoZRG1NYXNrV2FsbENvbnRlbnRUeXBlVGV4dBABEhwKGERtTWFza1dhbGxDb250ZW50VHlwZVBpYxACKjwKDEV4cG9zdXJlVHlwZRIUChBFeHBvc3VyZVR5cGVOb25lEAASFgoSRXhwb3N1cmVUeXBlRE1TZW5kEAEqgwIKEFBvc3RQYW5lbEJpelR5cGUSGAoUUG9zdFBhbmVsQml6VHlwZU5vbmUQABIdChlQb3N0UGFuZWxCaXpUeXBlRW5jb3VyYWdlEAESGwoXUG9zdFBhbmVsQml6VHlwZUNvbG9yRE0QAhIZChVQb3N0UGFuZWxCaXpUeXBlTkZURE0QAxIdChlQb3N0UGFuZWxCaXpUeXBlRnJhZ0Nsb3NlEAQSHQoZUG9zdFBhbmVsQml6VHlwZVJlY29tbWVuZBAFEhwKGFBvc3RQYW5lbEJpelR5cGVQbG90TGVhaxAGEiIKHlBvc3RQYW5lbEJpelR5cGVBbnRpSGFyYXNzbWVudBAHKjgKClBvc3RTdGF0dXMSFAoQUG9zdFN0YXR1c05vcm1hbBAAEhQKEFBvc3RTdGF0dXNDbG9zZWQQASpOCgpSZW5kZXJUeXBlEhIKDlJlbmRlclR5cGVOb25lEAASFAoQUmVuZGVyVHlwZVNpbmdsZRABEhYKElJlbmRlclR5cGVSb3RhdGlvbhACKjYKEFN1YnRpdGxlQWlTdGF0dXMSCAoETm9uZRAAEgwKCEV4cG9zdXJlEAESCgoGQXNzaXN0EAIqKwoOU3VidGl0bGVBaVR5cGUSCgoGTm9ybWFsEAASDQoJVHJhbnNsYXRlEAEqHgoMU3VidGl0bGVUeXBlEgYKAkNDEAASBgoCQUkQASpOChFUb2FzdEZ1bmN0aW9uVHlwZRIZChVUb2FzdEZ1bmN0aW9uVHlwZU5vbmUQABIeChpUb2FzdEZ1bmN0aW9uVHlwZVBvc3RQYW5lbBABMqAFCgJETRJzCgtEbVNlZ01vYmlsZRIwLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnTW9iaWxlUmVxGjIuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1TZWdNb2JpbGVSZXBseRJkCgZEbVZpZXcSKy5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVZpZXdSZXEaLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVZpZXdSZXBseRJxCg5EbVBsYXllckNvbmZpZxIzLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtUGxheWVyQ29uZmlnUmVxGiouYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuUmVzcG9uc2USagoIRG1TZWdPdHQSLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ090dFJlcRovLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnT3R0UmVwbHkSagoIRG1TZWdTREsSLS5iaWxpYmlsaS5jb21tdW5pdHkuc2VydmljZS5kbS52MS5EbVNlZ1NES1JlcRovLmJpbGliaWxpLmNvbW11bml0eS5zZXJ2aWNlLmRtLnYxLkRtU2VnU0RLUmVwbHkSdAoMRG1FeHBvUmVwb3J0EjEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1FeHBvUmVwb3J0UmVxGjEuYmlsaWJpbGkuY29tbXVuaXR5LnNlcnZpY2UuZG0udjEuRG1FeHBvUmVwb3J0UmVzYgZwcm90bzM");
|
|
20489
20490
|
const DmSegMobileReplySchema = /*@__PURE__*/ message_messageDesc(file_bili_dm, 30);
|
|
20490
20491
|
const DmWebViewReplySchema = /*@__PURE__*/ message_messageDesc(file_bili_dm, 39);
|
|
@@ -23091,6 +23092,7 @@ and limitations under the License.
|
|
|
23091
23092
|
function createDMID(dan, slice = 8) {
|
|
23092
23093
|
return new ht('SHA3-256', 'TEXT').update(`${dan.content}|${dan.mode}|${dan.pool}|${dan.platform}|${dan.extraStr}|${dan.senderID}|${UniDM.transCtime(dan.ctime).toISOString()}`).getHash('HEX').slice(0, slice);
|
|
23093
23094
|
}
|
|
23095
|
+
var dm_gen_Buffer = __webpack_require__("../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js")["Buffer"];
|
|
23094
23096
|
function _ts_decorate(decorators, target, key, desc) {
|
|
23095
23097
|
var c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
23096
23098
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -23385,11 +23387,13 @@ and limitations under the License.
|
|
|
23385
23387
|
}
|
|
23386
23388
|
return mode;
|
|
23387
23389
|
}
|
|
23388
|
-
static fromBili(args, cid, options) {
|
|
23390
|
+
static fromBili(args, cid, options, recSOID) {
|
|
23389
23391
|
if (args.oid && !cid) cid = args.oid;
|
|
23390
|
-
const SOID = `def_${platform_PlatformVideoSource.Bilibili}+${id_gen_UniID.fromBili({
|
|
23392
|
+
const SOID = recSOID || `def_${platform_PlatformVideoSource.Bilibili}+${id_gen_UniID.fromBili({
|
|
23391
23393
|
cid
|
|
23392
|
-
})}`, senderID =
|
|
23394
|
+
})}`, senderID = IsEmail_isEmail(args.midHash, {
|
|
23395
|
+
require_tld: false
|
|
23396
|
+
}) ? args.midHash : id_gen_UniID.fromBili({
|
|
23393
23397
|
midHash: args.midHash
|
|
23394
23398
|
});
|
|
23395
23399
|
let mode = 0;
|
|
@@ -23486,7 +23490,7 @@ and limitations under the License.
|
|
|
23486
23490
|
this.color,
|
|
23487
23491
|
this.ctime.getTime() / 1000,
|
|
23488
23492
|
this.extra.bili?.pool || this.pool,
|
|
23489
|
-
this.senderID,
|
|
23493
|
+
options?.avoidSenderIDWithAt ? this.senderID.replaceAll(`@${platform_PlatformVideoSource.Bilibili}`, '') : this.senderID,
|
|
23490
23494
|
this.extra.bili?.dmid || this.DMID || this.toDMID(),
|
|
23491
23495
|
this.weight
|
|
23492
23496
|
].join(',')
|
|
@@ -23602,7 +23606,7 @@ and limitations under the License.
|
|
|
23602
23606
|
color: this.color,
|
|
23603
23607
|
uid: this.senderID,
|
|
23604
23608
|
m: this.content,
|
|
23605
|
-
cid: Number(this.DMID)
|
|
23609
|
+
cid: this.DMID ? Number.parseInt(dm_gen_Buffer.from(this.DMID).toString('hex'), 16) : 0
|
|
23606
23610
|
};
|
|
23607
23611
|
}
|
|
23608
23612
|
constructor(){
|
|
@@ -23798,14 +23802,20 @@ and limitations under the License.
|
|
|
23798
23802
|
_ts_metadata("design:paramtypes", []),
|
|
23799
23803
|
_ts_metadata("design:returntype", "undefined" == typeof DMDDplay ? Object : DMDDplay)
|
|
23800
23804
|
], UniDM.prototype, "toDDplay", null);
|
|
23801
|
-
var src_Buffer = __webpack_require__("../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js")["Buffer"];
|
|
23802
23805
|
const src_JSON = json_bigint_default()({
|
|
23803
23806
|
useNativeBigInt: true
|
|
23804
23807
|
});
|
|
23808
|
+
const DanUniConvertTipTemplate = {
|
|
23809
|
+
meassage: 'Converted by DanUni!',
|
|
23810
|
+
version: `JS/TS ${package_namespaceObject.u2} (v${package_namespaceObject.i8})`
|
|
23811
|
+
};
|
|
23805
23812
|
class UniPool {
|
|
23806
|
-
constructor(dans, options = {}
|
|
23813
|
+
constructor(dans, options = {}, info = {
|
|
23814
|
+
fromConverted: false
|
|
23815
|
+
}){
|
|
23807
23816
|
this.dans = dans;
|
|
23808
23817
|
this.options = options;
|
|
23818
|
+
this.info = info;
|
|
23809
23819
|
if (false !== options.dedupe) options.dedupe = true;
|
|
23810
23820
|
if (this.options.dedupe) this.dedupe();
|
|
23811
23821
|
}
|
|
@@ -23955,15 +23965,21 @@ and limitations under the License.
|
|
|
23955
23965
|
if (dans instanceof UniPool) return new UniPool([
|
|
23956
23966
|
...this.dans,
|
|
23957
23967
|
...dans.dans
|
|
23958
|
-
]
|
|
23968
|
+
], {
|
|
23969
|
+
...this.options,
|
|
23970
|
+
...dans.options
|
|
23971
|
+
}, {
|
|
23972
|
+
...this.info,
|
|
23973
|
+
...dans.info
|
|
23974
|
+
});
|
|
23959
23975
|
if (dans instanceof UniDM) return new UniPool([
|
|
23960
23976
|
...this.dans,
|
|
23961
23977
|
dans
|
|
23962
|
-
]);
|
|
23978
|
+
], this.options, this.info);
|
|
23963
23979
|
if (Array.isArray(dans) && dans.every((d)=>d instanceof UniDM)) return new UniPool([
|
|
23964
23980
|
...this.dans,
|
|
23965
23981
|
...dans
|
|
23966
|
-
]);
|
|
23982
|
+
], this.options, this.info);
|
|
23967
23983
|
return this;
|
|
23968
23984
|
}
|
|
23969
23985
|
split(key) {
|
|
@@ -23974,8 +23990,9 @@ and limitations under the License.
|
|
|
23974
23990
|
return [
|
|
23975
23991
|
...set
|
|
23976
23992
|
].map((v)=>new UniPool(this.dans.filter((d)=>d[key] === v), {
|
|
23993
|
+
...this.options,
|
|
23977
23994
|
dedupe: false
|
|
23978
|
-
}));
|
|
23995
|
+
}, this.info));
|
|
23979
23996
|
}
|
|
23980
23997
|
dedupe() {
|
|
23981
23998
|
if (false !== this.options.dmid) {
|
|
@@ -24086,7 +24103,7 @@ and limitations under the License.
|
|
|
24086
24103
|
];
|
|
24087
24104
|
}
|
|
24088
24105
|
});
|
|
24089
|
-
return new UniPool(result);
|
|
24106
|
+
return new UniPool(result, this.options, this.info);
|
|
24090
24107
|
}
|
|
24091
24108
|
minify() {
|
|
24092
24109
|
return this.dans.map((d)=>d.minify());
|
|
@@ -24117,6 +24134,7 @@ and limitations under the License.
|
|
|
24117
24134
|
const data = fromBinary(DanmakuReplySchema, new Uint8Array(bin));
|
|
24118
24135
|
return new UniPool(data.danmakus.map((d)=>UniDM.create({
|
|
24119
24136
|
...d,
|
|
24137
|
+
progress: d.progress / 1000,
|
|
24120
24138
|
mode: d.mode,
|
|
24121
24139
|
ctime: timestampDate(d.ctime || timestampNow()),
|
|
24122
24140
|
pool: d.pool,
|
|
@@ -24128,7 +24146,7 @@ and limitations under the License.
|
|
|
24128
24146
|
danmakus: this.dans.map((d)=>({
|
|
24129
24147
|
SOID: d.SOID,
|
|
24130
24148
|
DMID: d.DMID,
|
|
24131
|
-
progress: d.progress,
|
|
24149
|
+
progress: 1000 * d.progress,
|
|
24132
24150
|
mode: d.mode,
|
|
24133
24151
|
fontsize: d.fontsize,
|
|
24134
24152
|
color: d.color,
|
|
@@ -24146,7 +24164,7 @@ and limitations under the License.
|
|
|
24146
24164
|
static fromBiliXML(xml, options) {
|
|
24147
24165
|
const parser = new XMLParser({
|
|
24148
24166
|
ignoreAttributes: false
|
|
24149
|
-
}), oriData = parser.parse(xml), dans = oriData.i.d;
|
|
24167
|
+
}), oriData = parser.parse(xml), dans = oriData.i.d, fromConverted = !!oriData.danuni, cid = BigInt(oriData.i.chatid);
|
|
24150
24168
|
return new UniPool(dans.map((d)=>{
|
|
24151
24169
|
const p_str = d['@_p'], p_arr = p_str.split(',');
|
|
24152
24170
|
return UniDM.fromBili({
|
|
@@ -24160,18 +24178,24 @@ and limitations under the License.
|
|
|
24160
24178
|
midHash: p_arr[6],
|
|
24161
24179
|
id: BigInt(p_arr[7]),
|
|
24162
24180
|
weight: Number.parseInt(p_arr[8])
|
|
24163
|
-
},
|
|
24164
|
-
}).filter((d)=>null !== d), options
|
|
24181
|
+
}, cid, options, fromConverted ? oriData.danuni?.data : void 0);
|
|
24182
|
+
}).filter((d)=>null !== d), options, {
|
|
24183
|
+
fromConverted
|
|
24184
|
+
});
|
|
24165
24185
|
}
|
|
24166
|
-
toBiliXML() {
|
|
24186
|
+
toBiliXML(options) {
|
|
24167
24187
|
const genCID = (id)=>{
|
|
24168
24188
|
const UniID = id_gen_UniID.fromString(id);
|
|
24169
24189
|
if (UniID.domain === platform_PlatformVideoSource.Bilibili) {
|
|
24170
24190
|
const cid = UniID.id.replaceAll(`def_${platform_PlatformVideoSource.Bilibili}+`, '');
|
|
24171
24191
|
if (cid) return cid;
|
|
24172
24192
|
}
|
|
24173
|
-
return
|
|
24193
|
+
return !options?.cid || id;
|
|
24174
24194
|
};
|
|
24195
|
+
if (options?.avoidSenderIDWithAt) {
|
|
24196
|
+
const ok = this.dans.every((d)=>d.senderID.endsWith(`@${platform_PlatformVideoSource.Bilibili}`));
|
|
24197
|
+
if (!ok) throw new Error("\u5B58\u5728\u5176\u4ED6\u6765\u6E90\u7684senderID\uFF0C\u8BF7\u5173\u95ED\u8BE5\u529F\u80FD\u518D\u8BD5\uFF01");
|
|
24198
|
+
}
|
|
24175
24199
|
const builder = new Builder({
|
|
24176
24200
|
ignoreAttributes: false
|
|
24177
24201
|
});
|
|
@@ -24180,6 +24204,10 @@ and limitations under the License.
|
|
|
24180
24204
|
'@_version': '1.0',
|
|
24181
24205
|
'@_encoding': 'UTF-8'
|
|
24182
24206
|
},
|
|
24207
|
+
danuni: {
|
|
24208
|
+
...DanUniConvertTipTemplate,
|
|
24209
|
+
data: this.shared.SOID
|
|
24210
|
+
},
|
|
24183
24211
|
i: {
|
|
24184
24212
|
chatserver: 'chat.bilibili.com',
|
|
24185
24213
|
chatid: genCID(this.dans[0].SOID),
|
|
@@ -24188,7 +24216,7 @@ and limitations under the License.
|
|
|
24188
24216
|
state: 0,
|
|
24189
24217
|
real_name: 0,
|
|
24190
24218
|
source: 'k-v',
|
|
24191
|
-
d: this.dans.map((dan)=>dan.toBiliXML())
|
|
24219
|
+
d: this.dans.map((dan)=>dan.toBiliXML(options))
|
|
24192
24220
|
}
|
|
24193
24221
|
});
|
|
24194
24222
|
}
|
|
@@ -24210,11 +24238,14 @@ and limitations under the License.
|
|
|
24210
24238
|
mode: d[1],
|
|
24211
24239
|
color: d[2],
|
|
24212
24240
|
midHash: d[3]
|
|
24213
|
-
}, playerID, domain, options)), options
|
|
24241
|
+
}, playerID, domain, options)), options, {
|
|
24242
|
+
fromConverted: !!json.danuni
|
|
24243
|
+
});
|
|
24214
24244
|
}
|
|
24215
24245
|
toDplayer() {
|
|
24216
24246
|
return {
|
|
24217
24247
|
code: 0,
|
|
24248
|
+
danuni: DanUniConvertTipTemplate,
|
|
24218
24249
|
data: this.dans.map((dan)=>{
|
|
24219
24250
|
const d = dan.toDplayer();
|
|
24220
24251
|
return [
|
|
@@ -24228,26 +24259,31 @@ and limitations under the License.
|
|
|
24228
24259
|
};
|
|
24229
24260
|
}
|
|
24230
24261
|
static fromArtplayer(json, playerID, domain = 'other', options) {
|
|
24231
|
-
return new UniPool(json.map((d)=>UniDM.fromArtplayer({
|
|
24262
|
+
return new UniPool(json.danmuku.map((d)=>UniDM.fromArtplayer({
|
|
24232
24263
|
content: d.text,
|
|
24233
24264
|
progress: d.time || 0,
|
|
24234
24265
|
mode: d.mode || 0,
|
|
24235
24266
|
color: Number((d.color || 'FFFFFF').replace('#', '0x')),
|
|
24236
24267
|
style: d.style
|
|
24237
|
-
}, playerID, domain, options)), options
|
|
24268
|
+
}, playerID, domain, options)), options, {
|
|
24269
|
+
fromConverted: !!json.danuni
|
|
24270
|
+
});
|
|
24238
24271
|
}
|
|
24239
24272
|
toArtplayer() {
|
|
24240
|
-
return
|
|
24241
|
-
|
|
24242
|
-
|
|
24243
|
-
|
|
24244
|
-
|
|
24245
|
-
|
|
24246
|
-
|
|
24247
|
-
|
|
24248
|
-
|
|
24249
|
-
|
|
24250
|
-
|
|
24273
|
+
return {
|
|
24274
|
+
danuni: DanUniConvertTipTemplate,
|
|
24275
|
+
danmuku: this.dans.map((dan)=>{
|
|
24276
|
+
const d = dan.toArtplayer();
|
|
24277
|
+
return {
|
|
24278
|
+
text: d.content,
|
|
24279
|
+
time: d.progress,
|
|
24280
|
+
mode: d.mode,
|
|
24281
|
+
color: `#${d.color.toString(16).toUpperCase() || 'FFFFFF'}`,
|
|
24282
|
+
border: d.border,
|
|
24283
|
+
style: d.style
|
|
24284
|
+
};
|
|
24285
|
+
})
|
|
24286
|
+
};
|
|
24251
24287
|
}
|
|
24252
24288
|
static fromDDPlay(json, episodeId, options) {
|
|
24253
24289
|
return new UniPool(json.comments.map((d)=>{
|
|
@@ -24260,10 +24296,13 @@ and limitations under the License.
|
|
|
24260
24296
|
progress: Number.parseFloat(p_arr[0]),
|
|
24261
24297
|
uid: p_arr[3]
|
|
24262
24298
|
}, episodeId, void 0, options);
|
|
24263
|
-
}), options
|
|
24299
|
+
}), options, {
|
|
24300
|
+
fromConverted: !!json.danuni
|
|
24301
|
+
});
|
|
24264
24302
|
}
|
|
24265
24303
|
toDDplay() {
|
|
24266
24304
|
return {
|
|
24305
|
+
danuni: DanUniConvertTipTemplate,
|
|
24267
24306
|
count: this.dans.length,
|
|
24268
24307
|
comments: this.dans.map((dan)=>{
|
|
24269
24308
|
const d = dan.toDDplay();
|
|
@@ -24569,8 +24608,7 @@ and limitations under the License.
|
|
|
24569
24608
|
];
|
|
24570
24609
|
return content.join('\n');
|
|
24571
24610
|
};
|
|
24572
|
-
|
|
24573
|
-
const info = ({ playResX, playResY }, { filename, title })=>{
|
|
24611
|
+
const ass_info = ({ playResX, playResY }, { filename, title })=>{
|
|
24574
24612
|
const content = [
|
|
24575
24613
|
'[Script Info]',
|
|
24576
24614
|
`Title: ${title}`,
|
|
@@ -24672,7 +24710,7 @@ and limitations under the License.
|
|
|
24672
24710
|
}, rawConfig)=>{
|
|
24673
24711
|
const Elist = UniPool2DanmakuLists(list), ErawList = UniPool2DanmakuLists(rawList);
|
|
24674
24712
|
const content = [
|
|
24675
|
-
|
|
24713
|
+
ass_info(config, context),
|
|
24676
24714
|
style(config),
|
|
24677
24715
|
ass_event(Elist, config)
|
|
24678
24716
|
];
|
|
@@ -24729,14 +24767,20 @@ and limitations under the License.
|
|
|
24729
24767
|
if (!raw) return UniPool.create();
|
|
24730
24768
|
return DanmakuList2UniPool(raw.list);
|
|
24731
24769
|
}
|
|
24732
|
-
var src_Buffer_0 = __webpack_require__("../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js")["Buffer"];
|
|
24733
24770
|
const src_JSON_0 = json_bigint_default()({
|
|
24734
24771
|
useNativeBigInt: true
|
|
24735
24772
|
});
|
|
24773
|
+
const src_DanUniConvertTipTemplate = {
|
|
24774
|
+
meassage: 'Converted by DanUni!',
|
|
24775
|
+
version: `JS/TS ${package_namespaceObject.u2} (v${package_namespaceObject.i8})`
|
|
24776
|
+
};
|
|
24736
24777
|
class src_UniPool {
|
|
24737
|
-
constructor(dans, options = {}
|
|
24778
|
+
constructor(dans, options = {}, info = {
|
|
24779
|
+
fromConverted: false
|
|
24780
|
+
}){
|
|
24738
24781
|
this.dans = dans;
|
|
24739
24782
|
this.options = options;
|
|
24783
|
+
this.info = info;
|
|
24740
24784
|
if (false !== options.dedupe) options.dedupe = true;
|
|
24741
24785
|
if (this.options.dedupe) this.dedupe();
|
|
24742
24786
|
}
|
|
@@ -24886,15 +24930,21 @@ and limitations under the License.
|
|
|
24886
24930
|
if (dans instanceof src_UniPool) return new src_UniPool([
|
|
24887
24931
|
...this.dans,
|
|
24888
24932
|
...dans.dans
|
|
24889
|
-
]
|
|
24933
|
+
], {
|
|
24934
|
+
...this.options,
|
|
24935
|
+
...dans.options
|
|
24936
|
+
}, {
|
|
24937
|
+
...this.info,
|
|
24938
|
+
...dans.info
|
|
24939
|
+
});
|
|
24890
24940
|
if (dans instanceof UniDM) return new src_UniPool([
|
|
24891
24941
|
...this.dans,
|
|
24892
24942
|
dans
|
|
24893
|
-
]);
|
|
24943
|
+
], this.options, this.info);
|
|
24894
24944
|
if (Array.isArray(dans) && dans.every((d)=>d instanceof UniDM)) return new src_UniPool([
|
|
24895
24945
|
...this.dans,
|
|
24896
24946
|
...dans
|
|
24897
|
-
]);
|
|
24947
|
+
], this.options, this.info);
|
|
24898
24948
|
return this;
|
|
24899
24949
|
}
|
|
24900
24950
|
split(key) {
|
|
@@ -24905,8 +24955,9 @@ and limitations under the License.
|
|
|
24905
24955
|
return [
|
|
24906
24956
|
...set
|
|
24907
24957
|
].map((v)=>new src_UniPool(this.dans.filter((d)=>d[key] === v), {
|
|
24958
|
+
...this.options,
|
|
24908
24959
|
dedupe: false
|
|
24909
|
-
}));
|
|
24960
|
+
}, this.info));
|
|
24910
24961
|
}
|
|
24911
24962
|
dedupe() {
|
|
24912
24963
|
if (false !== this.options.dmid) {
|
|
@@ -25017,7 +25068,7 @@ and limitations under the License.
|
|
|
25017
25068
|
];
|
|
25018
25069
|
}
|
|
25019
25070
|
});
|
|
25020
|
-
return new src_UniPool(result);
|
|
25071
|
+
return new src_UniPool(result, this.options, this.info);
|
|
25021
25072
|
}
|
|
25022
25073
|
minify() {
|
|
25023
25074
|
return this.dans.map((d)=>d.minify());
|
|
@@ -25048,6 +25099,7 @@ and limitations under the License.
|
|
|
25048
25099
|
const data = fromBinary(DanmakuReplySchema, new Uint8Array(bin));
|
|
25049
25100
|
return new src_UniPool(data.danmakus.map((d)=>UniDM.create({
|
|
25050
25101
|
...d,
|
|
25102
|
+
progress: d.progress / 1000,
|
|
25051
25103
|
mode: d.mode,
|
|
25052
25104
|
ctime: timestampDate(d.ctime || timestampNow()),
|
|
25053
25105
|
pool: d.pool,
|
|
@@ -25059,7 +25111,7 @@ and limitations under the License.
|
|
|
25059
25111
|
danmakus: this.dans.map((d)=>({
|
|
25060
25112
|
SOID: d.SOID,
|
|
25061
25113
|
DMID: d.DMID,
|
|
25062
|
-
progress: d.progress,
|
|
25114
|
+
progress: 1000 * d.progress,
|
|
25063
25115
|
mode: d.mode,
|
|
25064
25116
|
fontsize: d.fontsize,
|
|
25065
25117
|
color: d.color,
|
|
@@ -25077,7 +25129,7 @@ and limitations under the License.
|
|
|
25077
25129
|
static fromBiliXML(xml, options) {
|
|
25078
25130
|
const parser = new XMLParser({
|
|
25079
25131
|
ignoreAttributes: false
|
|
25080
|
-
}), oriData = parser.parse(xml), dans = oriData.i.d;
|
|
25132
|
+
}), oriData = parser.parse(xml), dans = oriData.i.d, fromConverted = !!oriData.danuni, cid = BigInt(oriData.i.chatid);
|
|
25081
25133
|
return new src_UniPool(dans.map((d)=>{
|
|
25082
25134
|
const p_str = d['@_p'], p_arr = p_str.split(',');
|
|
25083
25135
|
return UniDM.fromBili({
|
|
@@ -25091,18 +25143,24 @@ and limitations under the License.
|
|
|
25091
25143
|
midHash: p_arr[6],
|
|
25092
25144
|
id: BigInt(p_arr[7]),
|
|
25093
25145
|
weight: Number.parseInt(p_arr[8])
|
|
25094
|
-
},
|
|
25095
|
-
}).filter((d)=>null !== d), options
|
|
25146
|
+
}, cid, options, fromConverted ? oriData.danuni?.data : void 0);
|
|
25147
|
+
}).filter((d)=>null !== d), options, {
|
|
25148
|
+
fromConverted
|
|
25149
|
+
});
|
|
25096
25150
|
}
|
|
25097
|
-
toBiliXML() {
|
|
25151
|
+
toBiliXML(options) {
|
|
25098
25152
|
const genCID = (id)=>{
|
|
25099
25153
|
const UniID = id_gen_UniID.fromString(id);
|
|
25100
25154
|
if (UniID.domain === platform_PlatformVideoSource.Bilibili) {
|
|
25101
25155
|
const cid = UniID.id.replaceAll(`def_${platform_PlatformVideoSource.Bilibili}+`, '');
|
|
25102
25156
|
if (cid) return cid;
|
|
25103
25157
|
}
|
|
25104
|
-
return
|
|
25158
|
+
return !options?.cid || id;
|
|
25105
25159
|
};
|
|
25160
|
+
if (options?.avoidSenderIDWithAt) {
|
|
25161
|
+
const ok = this.dans.every((d)=>d.senderID.endsWith(`@${platform_PlatformVideoSource.Bilibili}`));
|
|
25162
|
+
if (!ok) throw new Error("\u5B58\u5728\u5176\u4ED6\u6765\u6E90\u7684senderID\uFF0C\u8BF7\u5173\u95ED\u8BE5\u529F\u80FD\u518D\u8BD5\uFF01");
|
|
25163
|
+
}
|
|
25106
25164
|
const builder = new Builder({
|
|
25107
25165
|
ignoreAttributes: false
|
|
25108
25166
|
});
|
|
@@ -25111,6 +25169,10 @@ and limitations under the License.
|
|
|
25111
25169
|
'@_version': '1.0',
|
|
25112
25170
|
'@_encoding': 'UTF-8'
|
|
25113
25171
|
},
|
|
25172
|
+
danuni: {
|
|
25173
|
+
...src_DanUniConvertTipTemplate,
|
|
25174
|
+
data: this.shared.SOID
|
|
25175
|
+
},
|
|
25114
25176
|
i: {
|
|
25115
25177
|
chatserver: 'chat.bilibili.com',
|
|
25116
25178
|
chatid: genCID(this.dans[0].SOID),
|
|
@@ -25119,7 +25181,7 @@ and limitations under the License.
|
|
|
25119
25181
|
state: 0,
|
|
25120
25182
|
real_name: 0,
|
|
25121
25183
|
source: 'k-v',
|
|
25122
|
-
d: this.dans.map((dan)=>dan.toBiliXML())
|
|
25184
|
+
d: this.dans.map((dan)=>dan.toBiliXML(options))
|
|
25123
25185
|
}
|
|
25124
25186
|
});
|
|
25125
25187
|
}
|
|
@@ -25141,11 +25203,14 @@ and limitations under the License.
|
|
|
25141
25203
|
mode: d[1],
|
|
25142
25204
|
color: d[2],
|
|
25143
25205
|
midHash: d[3]
|
|
25144
|
-
}, playerID, domain, options)), options
|
|
25206
|
+
}, playerID, domain, options)), options, {
|
|
25207
|
+
fromConverted: !!json.danuni
|
|
25208
|
+
});
|
|
25145
25209
|
}
|
|
25146
25210
|
toDplayer() {
|
|
25147
25211
|
return {
|
|
25148
25212
|
code: 0,
|
|
25213
|
+
danuni: src_DanUniConvertTipTemplate,
|
|
25149
25214
|
data: this.dans.map((dan)=>{
|
|
25150
25215
|
const d = dan.toDplayer();
|
|
25151
25216
|
return [
|
|
@@ -25159,26 +25224,31 @@ and limitations under the License.
|
|
|
25159
25224
|
};
|
|
25160
25225
|
}
|
|
25161
25226
|
static fromArtplayer(json, playerID, domain = 'other', options) {
|
|
25162
|
-
return new src_UniPool(json.map((d)=>UniDM.fromArtplayer({
|
|
25227
|
+
return new src_UniPool(json.danmuku.map((d)=>UniDM.fromArtplayer({
|
|
25163
25228
|
content: d.text,
|
|
25164
25229
|
progress: d.time || 0,
|
|
25165
25230
|
mode: d.mode || 0,
|
|
25166
25231
|
color: Number((d.color || 'FFFFFF').replace('#', '0x')),
|
|
25167
25232
|
style: d.style
|
|
25168
|
-
}, playerID, domain, options)), options
|
|
25233
|
+
}, playerID, domain, options)), options, {
|
|
25234
|
+
fromConverted: !!json.danuni
|
|
25235
|
+
});
|
|
25169
25236
|
}
|
|
25170
25237
|
toArtplayer() {
|
|
25171
|
-
return
|
|
25172
|
-
|
|
25173
|
-
|
|
25174
|
-
|
|
25175
|
-
|
|
25176
|
-
|
|
25177
|
-
|
|
25178
|
-
|
|
25179
|
-
|
|
25180
|
-
|
|
25181
|
-
|
|
25238
|
+
return {
|
|
25239
|
+
danuni: src_DanUniConvertTipTemplate,
|
|
25240
|
+
danmuku: this.dans.map((dan)=>{
|
|
25241
|
+
const d = dan.toArtplayer();
|
|
25242
|
+
return {
|
|
25243
|
+
text: d.content,
|
|
25244
|
+
time: d.progress,
|
|
25245
|
+
mode: d.mode,
|
|
25246
|
+
color: `#${d.color.toString(16).toUpperCase() || 'FFFFFF'}`,
|
|
25247
|
+
border: d.border,
|
|
25248
|
+
style: d.style
|
|
25249
|
+
};
|
|
25250
|
+
})
|
|
25251
|
+
};
|
|
25182
25252
|
}
|
|
25183
25253
|
static fromDDPlay(json, episodeId, options) {
|
|
25184
25254
|
return new src_UniPool(json.comments.map((d)=>{
|
|
@@ -25191,10 +25261,13 @@ and limitations under the License.
|
|
|
25191
25261
|
progress: Number.parseFloat(p_arr[0]),
|
|
25192
25262
|
uid: p_arr[3]
|
|
25193
25263
|
}, episodeId, void 0, options);
|
|
25194
|
-
}), options
|
|
25264
|
+
}), options, {
|
|
25265
|
+
fromConverted: !!json.danuni
|
|
25266
|
+
});
|
|
25195
25267
|
}
|
|
25196
25268
|
toDDplay() {
|
|
25197
25269
|
return {
|
|
25270
|
+
danuni: src_DanUniConvertTipTemplate,
|
|
25198
25271
|
count: this.dans.length,
|
|
25199
25272
|
comments: this.dans.map((dan)=>{
|
|
25200
25273
|
const d = dan.toDDplay();
|