mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-04-15 06:56:38 +00:00
Update LoRa Cloud integration.
This commit is contained in:
parent
50f8093c07
commit
ef97eccf62
618
api/csharp/Chirpstack/api/Application.cs
vendored
618
api/csharp/Chirpstack/api/Application.cs
vendored
@ -99,267 +99,267 @@ namespace Chirpstack.Api {
|
||||
"c3QSFgoOYXBwbGljYXRpb25faWQYASABKAkiegoUTG9yYUNsb3VkSW50ZWdy",
|
||||
"YXRpb24SFgoOYXBwbGljYXRpb25faWQYASABKAkSSgoabW9kZW1fZ2VvbG9j",
|
||||
"YXRpb25fc2VydmljZXMYAiABKAsyJi5hcGkuTG9yYUNsb3VkTW9kZW1HZW9s",
|
||||
"b2NhdGlvblNlcnZpY2VzIsADCiFMb3JhQ2xvdWRNb2RlbUdlb2xvY2F0aW9u",
|
||||
"b2NhdGlvblNlcnZpY2VzIrIDCiFMb3JhQ2xvdWRNb2RlbUdlb2xvY2F0aW9u",
|
||||
"U2VydmljZXMSDQoFdG9rZW4YASABKAkSFQoNbW9kZW1fZW5hYmxlZBgCIAEo",
|
||||
"CBISCgptb2RlbV9wb3J0GAMgASgNEhEKCWduc3NfcG9ydBgEIAEoDRIYChBn",
|
||||
"bnNzX3VzZV9yeF90aW1lGAUgASgIEhEKCXBhcnNlX3RsdhgGIAEoCBIeChZn",
|
||||
"ZW9sb2NhdGlvbl9idWZmZXJfdHRsGAcgASgNEiMKG2dlb2xvY2F0aW9uX21p",
|
||||
"bl9idWZmZXJfc2l6ZRgIIAEoDRIYChBnZW9sb2NhdGlvbl90ZG9hGAkgASgI",
|
||||
"EhgKEGdlb2xvY2F0aW9uX3Jzc2kYCiABKAgSGAoQZ2VvbG9jYXRpb25fZ25z",
|
||||
"cxgLIAEoCBImCh5nZW9sb2NhdGlvbl9nbnNzX3BheWxvYWRfZmllbGQYDCAB",
|
||||
"KAkSJAocZ2VvbG9jYXRpb25fZ25zc191c2VfcnhfdGltZRgNIAEoCBIYChBn",
|
||||
"ZW9sb2NhdGlvbl93aWZpGA4gASgIEiYKHmdlb2xvY2F0aW9uX3dpZmlfcGF5",
|
||||
"bG9hZF9maWVsZBgPIAEoCSJTCiFDcmVhdGVMb3JhQ2xvdWRJbnRlZ3JhdGlv",
|
||||
"blJlcXVlc3QSLgoLaW50ZWdyYXRpb24YASABKAsyGS5hcGkuTG9yYUNsb3Vk",
|
||||
"SW50ZWdyYXRpb24iOAoeR2V0TG9yYUNsb3VkSW50ZWdyYXRpb25SZXF1ZXN0",
|
||||
"EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIlEKH0dldExvcmFDbG91ZEludGVn",
|
||||
"cmF0aW9uUmVzcG9uc2USLgoLaW50ZWdyYXRpb24YASABKAsyGS5hcGkuTG9y",
|
||||
"YUNsb3VkSW50ZWdyYXRpb24iUwohVXBkYXRlTG9yYUNsb3VkSW50ZWdyYXRp",
|
||||
"b25SZXF1ZXN0Ei4KC2ludGVncmF0aW9uGAEgASgLMhkuYXBpLkxvcmFDbG91",
|
||||
"ZEludGVncmF0aW9uIjsKIURlbGV0ZUxvcmFDbG91ZEludGVncmF0aW9uUmVx",
|
||||
"dWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSKRAQoUR2NwUHViU3ViSW50",
|
||||
"ZWdyYXRpb24SFgoOYXBwbGljYXRpb25faWQYASABKAkSHwoIZW5jb2RpbmcY",
|
||||
"AiABKA4yDS5hcGkuRW5jb2RpbmcSGAoQY3JlZGVudGlhbHNfZmlsZRgDIAEo",
|
||||
"CRISCgpwcm9qZWN0X2lkGAQgASgJEhIKCnRvcGljX25hbWUYBSABKAkiUwoh",
|
||||
"Q3JlYXRlR2NwUHViU3ViSW50ZWdyYXRpb25SZXF1ZXN0Ei4KC2ludGVncmF0",
|
||||
"aW9uGAEgASgLMhkuYXBpLkdjcFB1YlN1YkludGVncmF0aW9uIjgKHkdldEdj",
|
||||
"cFB1YlN1YkludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgB",
|
||||
"IAEoCSJRCh9HZXRHY3BQdWJTdWJJbnRlZ3JhdGlvblJlc3BvbnNlEi4KC2lu",
|
||||
"dGVncmF0aW9uGAEgASgLMhkuYXBpLkdjcFB1YlN1YkludGVncmF0aW9uIlMK",
|
||||
"IVVwZGF0ZUdjcFB1YlN1YkludGVncmF0aW9uUmVxdWVzdBIuCgtpbnRlZ3Jh",
|
||||
"dGlvbhgBIAEoCzIZLmFwaS5HY3BQdWJTdWJJbnRlZ3JhdGlvbiI7CiFEZWxl",
|
||||
"dGVHY3BQdWJTdWJJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25f",
|
||||
"aWQYASABKAkioQEKEUF3c1Nuc0ludGVncmF0aW9uEhYKDmFwcGxpY2F0aW9u",
|
||||
"X2lkGAEgASgJEh8KCGVuY29kaW5nGAIgASgOMg0uYXBpLkVuY29kaW5nEg4K",
|
||||
"BnJlZ2lvbhgDIAEoCRIVCg1hY2Nlc3Nfa2V5X2lkGAQgASgJEhkKEXNlY3Jl",
|
||||
"dF9hY2Nlc3Nfa2V5GAUgASgJEhEKCXRvcGljX2FybhgGIAEoCSJNCh5DcmVh",
|
||||
"dGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVlc3QSKwoLaW50ZWdyYXRpb24YASAB",
|
||||
"KAsyFi5hcGkuQXdzU25zSW50ZWdyYXRpb24iNQobR2V0QXdzU25zSW50ZWdy",
|
||||
"YXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIksKHEdldEF3",
|
||||
"c1Nuc0ludGVncmF0aW9uUmVzcG9uc2USKwoLaW50ZWdyYXRpb24YASABKAsy",
|
||||
"Fi5hcGkuQXdzU25zSW50ZWdyYXRpb24iTQoeVXBkYXRlQXdzU25zSW50ZWdy",
|
||||
"CBIXCg9mb3J3YXJkX2ZfcG9ydHMYECADKA0SGAoQZ25zc191c2VfcnhfdGlt",
|
||||
"ZRgFIAEoCBIRCglwYXJzZV90bHYYBiABKAgSHgoWZ2VvbG9jYXRpb25fYnVm",
|
||||
"ZmVyX3R0bBgHIAEoDRIjChtnZW9sb2NhdGlvbl9taW5fYnVmZmVyX3NpemUY",
|
||||
"CCABKA0SGAoQZ2VvbG9jYXRpb25fdGRvYRgJIAEoCBIYChBnZW9sb2NhdGlv",
|
||||
"bl9yc3NpGAogASgIEhgKEGdlb2xvY2F0aW9uX2duc3MYCyABKAgSJgoeZ2Vv",
|
||||
"bG9jYXRpb25fZ25zc19wYXlsb2FkX2ZpZWxkGAwgASgJEiQKHGdlb2xvY2F0",
|
||||
"aW9uX2duc3NfdXNlX3J4X3RpbWUYDSABKAgSGAoQZ2VvbG9jYXRpb25fd2lm",
|
||||
"aRgOIAEoCBImCh5nZW9sb2NhdGlvbl93aWZpX3BheWxvYWRfZmllbGQYDyAB",
|
||||
"KAkiUwohQ3JlYXRlTG9yYUNsb3VkSW50ZWdyYXRpb25SZXF1ZXN0Ei4KC2lu",
|
||||
"dGVncmF0aW9uGAEgASgLMhkuYXBpLkxvcmFDbG91ZEludGVncmF0aW9uIjgK",
|
||||
"HkdldExvcmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlv",
|
||||
"bl9pZBgBIAEoCSJRCh9HZXRMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlc3BvbnNl",
|
||||
"Ei4KC2ludGVncmF0aW9uGAEgASgLMhkuYXBpLkxvcmFDbG91ZEludGVncmF0",
|
||||
"aW9uIlMKIVVwZGF0ZUxvcmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBIuCgtp",
|
||||
"bnRlZ3JhdGlvbhgBIAEoCzIZLmFwaS5Mb3JhQ2xvdWRJbnRlZ3JhdGlvbiI7",
|
||||
"CiFEZWxldGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGlj",
|
||||
"YXRpb25faWQYASABKAkikQEKFEdjcFB1YlN1YkludGVncmF0aW9uEhYKDmFw",
|
||||
"cGxpY2F0aW9uX2lkGAEgASgJEh8KCGVuY29kaW5nGAIgASgOMg0uYXBpLkVu",
|
||||
"Y29kaW5nEhgKEGNyZWRlbnRpYWxzX2ZpbGUYAyABKAkSEgoKcHJvamVjdF9p",
|
||||
"ZBgEIAEoCRISCgp0b3BpY19uYW1lGAUgASgJIlMKIUNyZWF0ZUdjcFB1YlN1",
|
||||
"YkludGVncmF0aW9uUmVxdWVzdBIuCgtpbnRlZ3JhdGlvbhgBIAEoCzIZLmFw",
|
||||
"aS5HY3BQdWJTdWJJbnRlZ3JhdGlvbiI4Ch5HZXRHY3BQdWJTdWJJbnRlZ3Jh",
|
||||
"dGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASABKAkiUQofR2V0R2Nw",
|
||||
"UHViU3ViSW50ZWdyYXRpb25SZXNwb25zZRIuCgtpbnRlZ3JhdGlvbhgBIAEo",
|
||||
"CzIZLmFwaS5HY3BQdWJTdWJJbnRlZ3JhdGlvbiJTCiFVcGRhdGVHY3BQdWJT",
|
||||
"dWJJbnRlZ3JhdGlvblJlcXVlc3QSLgoLaW50ZWdyYXRpb24YASABKAsyGS5h",
|
||||
"cGkuR2NwUHViU3ViSW50ZWdyYXRpb24iOwohRGVsZXRlR2NwUHViU3ViSW50",
|
||||
"ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIqEBChFB",
|
||||
"d3NTbnNJbnRlZ3JhdGlvbhIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCRIfCghl",
|
||||
"bmNvZGluZxgCIAEoDjINLmFwaS5FbmNvZGluZxIOCgZyZWdpb24YAyABKAkS",
|
||||
"FQoNYWNjZXNzX2tleV9pZBgEIAEoCRIZChFzZWNyZXRfYWNjZXNzX2tleRgF",
|
||||
"IAEoCRIRCgl0b3BpY19hcm4YBiABKAkiTQoeQ3JlYXRlQXdzU25zSW50ZWdy",
|
||||
"YXRpb25SZXF1ZXN0EisKC2ludGVncmF0aW9uGAEgASgLMhYuYXBpLkF3c1Nu",
|
||||
"c0ludGVncmF0aW9uIjgKHkRlbGV0ZUF3c1Nuc0ludGVncmF0aW9uUmVxdWVz",
|
||||
"dBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSKGAQoaQXp1cmVTZXJ2aWNlQnVz",
|
||||
"SW50ZWdyYXRpb24SFgoOYXBwbGljYXRpb25faWQYASABKAkSHwoIZW5jb2Rp",
|
||||
"bmcYAiABKA4yDS5hcGkuRW5jb2RpbmcSGQoRY29ubmVjdGlvbl9zdHJpbmcY",
|
||||
"AyABKAkSFAoMcHVibGlzaF9uYW1lGAQgASgJIl8KJ0NyZWF0ZUF6dXJlU2Vy",
|
||||
"dmljZUJ1c0ludGVncmF0aW9uUmVxdWVzdBI0CgtpbnRlZ3JhdGlvbhgBIAEo",
|
||||
"CzIfLmFwaS5BenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvbiI+CiRHZXRBenVy",
|
||||
"ZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25f",
|
||||
"aWQYASABKAkiXQolR2V0QXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXNw",
|
||||
"b25zZRI0CgtpbnRlZ3JhdGlvbhgBIAEoCzIfLmFwaS5BenVyZVNlcnZpY2VC",
|
||||
"dXNJbnRlZ3JhdGlvbiJfCidVcGRhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3Jh",
|
||||
"c0ludGVncmF0aW9uIjUKG0dldEF3c1Nuc0ludGVncmF0aW9uUmVxdWVzdBIW",
|
||||
"Cg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJLChxHZXRBd3NTbnNJbnRlZ3JhdGlv",
|
||||
"blJlc3BvbnNlEisKC2ludGVncmF0aW9uGAEgASgLMhYuYXBpLkF3c1Nuc0lu",
|
||||
"dGVncmF0aW9uIk0KHlVwZGF0ZUF3c1Nuc0ludGVncmF0aW9uUmVxdWVzdBIr",
|
||||
"CgtpbnRlZ3JhdGlvbhgBIAEoCzIWLmFwaS5Bd3NTbnNJbnRlZ3JhdGlvbiI4",
|
||||
"Ch5EZWxldGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRp",
|
||||
"b25faWQYASABKAkihgEKGkF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uEhYK",
|
||||
"DmFwcGxpY2F0aW9uX2lkGAEgASgJEh8KCGVuY29kaW5nGAIgASgOMg0uYXBp",
|
||||
"LkVuY29kaW5nEhkKEWNvbm5lY3Rpb25fc3RyaW5nGAMgASgJEhQKDHB1Ymxp",
|
||||
"c2hfbmFtZRgEIAEoCSJfCidDcmVhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3Jh",
|
||||
"dGlvblJlcXVlc3QSNAoLaW50ZWdyYXRpb24YASABKAsyHy5hcGkuQXp1cmVT",
|
||||
"ZXJ2aWNlQnVzSW50ZWdyYXRpb24iQQonRGVsZXRlQXp1cmVTZXJ2aWNlQnVz",
|
||||
"SW50ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIk8K",
|
||||
"FlBpbG90VGhpbmdzSW50ZWdyYXRpb24SFgoOYXBwbGljYXRpb25faWQYASAB",
|
||||
"KAkSDgoGc2VydmVyGAIgASgJEg0KBXRva2VuGAMgASgJIlcKI0NyZWF0ZVBp",
|
||||
"bG90VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0EjAKC2ludGVncmF0aW9uGAEg",
|
||||
"ASgLMhsuYXBpLlBpbG90VGhpbmdzSW50ZWdyYXRpb24iOgogR2V0UGlsb3RU",
|
||||
"ZXJ2aWNlQnVzSW50ZWdyYXRpb24iPgokR2V0QXp1cmVTZXJ2aWNlQnVzSW50",
|
||||
"ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIl0KJUdl",
|
||||
"dEF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uUmVzcG9uc2USNAoLaW50ZWdy",
|
||||
"YXRpb24YASABKAsyHy5hcGkuQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb24i",
|
||||
"XwonVXBkYXRlQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXF1ZXN0EjQK",
|
||||
"C2ludGVncmF0aW9uGAEgASgLMh8uYXBpLkF6dXJlU2VydmljZUJ1c0ludGVn",
|
||||
"cmF0aW9uIkEKJ0RlbGV0ZUF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uUmVx",
|
||||
"dWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJPChZQaWxvdFRoaW5nc0lu",
|
||||
"dGVncmF0aW9uEhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJEg4KBnNlcnZlchgC",
|
||||
"IAEoCRINCgV0b2tlbhgDIAEoCSJXCiNDcmVhdGVQaWxvdFRoaW5nc0ludGVn",
|
||||
"cmF0aW9uUmVxdWVzdBIwCgtpbnRlZ3JhdGlvbhgBIAEoCzIbLmFwaS5QaWxv",
|
||||
"dFRoaW5nc0ludGVncmF0aW9uIjoKIEdldFBpbG90VGhpbmdzSW50ZWdyYXRp",
|
||||
"b25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIlUKIUdldFBpbG90",
|
||||
"VGhpbmdzSW50ZWdyYXRpb25SZXNwb25zZRIwCgtpbnRlZ3JhdGlvbhgBIAEo",
|
||||
"CzIbLmFwaS5QaWxvdFRoaW5nc0ludGVncmF0aW9uIlcKI1VwZGF0ZVBpbG90",
|
||||
"VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0EjAKC2ludGVncmF0aW9uGAEgASgL",
|
||||
"MhsuYXBpLlBpbG90VGhpbmdzSW50ZWdyYXRpb24iPQojRGVsZXRlUGlsb3RU",
|
||||
"aGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASAB",
|
||||
"KAkiVQohR2V0UGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlc3BvbnNlEjAKC2lu",
|
||||
"dGVncmF0aW9uGAEgASgLMhsuYXBpLlBpbG90VGhpbmdzSW50ZWdyYXRpb24i",
|
||||
"VwojVXBkYXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QSMAoLaW50",
|
||||
"ZWdyYXRpb24YASABKAsyGy5hcGkuUGlsb3RUaGluZ3NJbnRlZ3JhdGlvbiI9",
|
||||
"CiNEZWxldGVQaWxvdFRoaW5nc0ludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBs",
|
||||
"aWNhdGlvbl9pZBgBIAEoCSJOChBJZnR0dEludGVncmF0aW9uEhYKDmFwcGxp",
|
||||
"Y2F0aW9uX2lkGAEgASgJEgsKA2tleRgCIAEoCRIVCg11cGxpbmtfdmFsdWVz",
|
||||
"GAMgAygJIksKHUNyZWF0ZUlmdHR0SW50ZWdyYXRpb25SZXF1ZXN0EioKC2lu",
|
||||
"dGVncmF0aW9uGAEgASgLMhUuYXBpLklmdHR0SW50ZWdyYXRpb24iNAoaR2V0",
|
||||
"SWZ0dHRJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASAB",
|
||||
"KAkiSQobR2V0SWZ0dHRJbnRlZ3JhdGlvblJlc3BvbnNlEioKC2ludGVncmF0",
|
||||
"aW9uGAEgASgLMhUuYXBpLklmdHR0SW50ZWdyYXRpb24iSwodVXBkYXRlSWZ0",
|
||||
"dHRJbnRlZ3JhdGlvblJlcXVlc3QSKgoLaW50ZWdyYXRpb24YASABKAsyFS5h",
|
||||
"cGkuSWZ0dHRJbnRlZ3JhdGlvbiI3Ch1EZWxldGVJZnR0dEludGVncmF0aW9u",
|
||||
"UmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJJCi9HZW5lcmF0ZU1x",
|
||||
"dHRJbnRlZ3JhdGlvbkNsaWVudENlcnRpZmljYXRlUmVxdWVzdBIWCg5hcHBs",
|
||||
"aWNhdGlvbl9pZBgBIAEoCSKWAQowR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25D",
|
||||
"bGllbnRDZXJ0aWZpY2F0ZVJlc3BvbnNlEhAKCHRsc19jZXJ0GAEgASgJEg8K",
|
||||
"B3Rsc19rZXkYAiABKAkSDwoHY2FfY2VydBgDIAEoCRIuCgpleHBpcmVzX2F0",
|
||||
"GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCoiCghFbmNvZGlu",
|
||||
"ZxIICgRKU09OEAASDAoIUFJPVE9CVUYQASq/AQoPSW50ZWdyYXRpb25LaW5k",
|
||||
"EggKBEhUVFAQABINCglJTkZMVVhfREIQARIQCgxUSElOR1NfQk9BUkQQAhIO",
|
||||
"CgpNWV9ERVZJQ0VTEAMSDgoKTE9SQV9DTE9VRBAEEg8KC0dDUF9QVUJfU1VC",
|
||||
"EAUSCwoHQVdTX1NOUxAGEhUKEUFaVVJFX1NFUlZJQ0VfQlVTEAcSEAoMUElM",
|
||||
"T1RfVEhJTkdTEAgSDwoLTVFUVF9HTE9CQUwQCRIJCgVJRlRUVBAKKj8KEUlu",
|
||||
"Zmx1eERiUHJlY2lzaW9uEgYKAk5TEAASBQoBVRABEgYKAk1TEAISBQoBUxAD",
|
||||
"EgUKAU0QBBIFCgFIEAUqMQoPSW5mbHV4RGJWZXJzaW9uEg4KCklORkxVWERC",
|
||||
"XzEQABIOCgpJTkZMVVhEQl8yEAEyuDwKEkFwcGxpY2F0aW9uU2VydmljZRJl",
|
||||
"CgZDcmVhdGUSHS5hcGkuQ3JlYXRlQXBwbGljYXRpb25SZXF1ZXN0Gh4uYXBp",
|
||||
"LkNyZWF0ZUFwcGxpY2F0aW9uUmVzcG9uc2UiHILT5JMCFiIRL2FwaS9hcHBs",
|
||||
"aWNhdGlvbnM6ASoSXgoDR2V0EhouYXBpLkdldEFwcGxpY2F0aW9uUmVxdWVz",
|
||||
"dBobLmFwaS5HZXRBcHBsaWNhdGlvblJlc3BvbnNlIh6C0+STAhgSFi9hcGkv",
|
||||
"YXBwbGljYXRpb25zL3tpZH0SbgoGVXBkYXRlEh0uYXBpLlVwZGF0ZUFwcGxp",
|
||||
"Y2F0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSItgtPkkwIn",
|
||||
"GiIvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb24uaWR9OgEqEl8KBkRl",
|
||||
"bGV0ZRIdLmFwaS5EZWxldGVBcHBsaWNhdGlvblJlcXVlc3QaFi5nb29nbGUu",
|
||||
"cHJvdG9idWYuRW1wdHkiHoLT5JMCGCoWL2FwaS9hcHBsaWNhdGlvbnMve2lk",
|
||||
"fRJeCgRMaXN0EhwuYXBpLkxpc3RBcHBsaWNhdGlvbnNSZXF1ZXN0Gh0uYXBp",
|
||||
"Lkxpc3RBcHBsaWNhdGlvbnNSZXNwb25zZSIZgtPkkwITEhEvYXBpL2FwcGxp",
|
||||
"Y2F0aW9ucxKIAQoQTGlzdEludGVncmF0aW9ucxIcLmFwaS5MaXN0SW50ZWdy",
|
||||
"YXRpb25zUmVxdWVzdBodLmFwaS5MaXN0SW50ZWdyYXRpb25zUmVzcG9uc2Ui",
|
||||
"N4LT5JMCMRIvL2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9p",
|
||||
"bnRlZ3JhdGlvbnMSnwEKFUNyZWF0ZUh0dHBJbnRlZ3JhdGlvbhIhLmFwaS5D",
|
||||
"cmVhdGVIdHRwSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVm",
|
||||
"LkVtcHR5IkuC0+STAkUiQC9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlv",
|
||||
"bi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2h0dHA6ASoSkwEKEkdl",
|
||||
"dEh0dHBJbnRlZ3JhdGlvbhIeLmFwaS5HZXRIdHRwSW50ZWdyYXRpb25SZXF1",
|
||||
"ZXN0Gh8uYXBpLkdldEh0dHBJbnRlZ3JhdGlvblJlc3BvbnNlIjyC0+STAjYS",
|
||||
"NC9hcGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRp",
|
||||
"b25zL2h0dHASnwEKFVVwZGF0ZUh0dHBJbnRlZ3JhdGlvbhIhLmFwaS5VcGRh",
|
||||
"dGVIdHRwSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVt",
|
||||
"cHR5IkuC0+STAkUaQC9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5h",
|
||||
"cHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2h0dHA6ASoSkAEKFURlbGV0",
|
||||
"ZUh0dHBJbnRlZ3JhdGlvbhIhLmFwaS5EZWxldGVIdHRwSW50ZWdyYXRpb25S",
|
||||
"ZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjyC0+STAjYqNC9hcGkv",
|
||||
"YXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2h0",
|
||||
"dHASqwEKGUNyZWF0ZUluZmx1eERiSW50ZWdyYXRpb24SJS5hcGkuQ3JlYXRl",
|
||||
"SW5mbHV4RGJJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYu",
|
||||
"RW1wdHkiT4LT5JMCSSJEL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9u",
|
||||
"LmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaW5mbHV4ZGI6ASoSowEK",
|
||||
"FkdldEluZmx1eERiSW50ZWdyYXRpb24SIi5hcGkuR2V0SW5mbHV4RGJJbnRl",
|
||||
"Z3JhdGlvblJlcXVlc3QaIy5hcGkuR2V0SW5mbHV4RGJJbnRlZ3JhdGlvblJl",
|
||||
"c3BvbnNlIkCC0+STAjoSOC9hcGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlv",
|
||||
"bl9pZH0vaW50ZWdyYXRpb25zL2luZmx1eGRiEqsBChlVcGRhdGVJbmZsdXhE",
|
||||
"YkludGVncmF0aW9uEiUuYXBpLlVwZGF0ZUluZmx1eERiSW50ZWdyYXRpb25S",
|
||||
"ZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ik+C0+STAkkaRC9hcGkv",
|
||||
"YXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50",
|
||||
"ZWdyYXRpb25zL2luZmx1eGRiOgEqEpwBChlEZWxldGVJbmZsdXhEYkludGVn",
|
||||
"cmF0aW9uEiUuYXBpLkRlbGV0ZUluZmx1eERiSW50ZWdyYXRpb25SZXF1ZXN0",
|
||||
"GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkCC0+STAjoqOC9hcGkvYXBwbGlj",
|
||||
"YXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2luZmx1eGRi",
|
||||
"ErQBChxDcmVhdGVUaGluZ3NCb2FyZEludGVncmF0aW9uEiguYXBpLkNyZWF0",
|
||||
"ZVRoaW5nc0JvYXJkSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3Rv",
|
||||
"YnVmLkVtcHR5IlKC0+STAkwiRy9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3Jh",
|
||||
"dGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL3RoaW5nc2JvYXJk",
|
||||
"OgEqEq8BChlHZXRUaGluZ3NCb2FyZEludGVncmF0aW9uEiUuYXBpLkdldFRo",
|
||||
"aW5nc0JvYXJkSW50ZWdyYXRpb25SZXF1ZXN0GiYuYXBpLkdldFRoaW5nc0Jv",
|
||||
"YXJkSW50ZWdyYXRpb25SZXNwb25zZSJDgtPkkwI9EjsvYXBpL2FwcGxpY2F0",
|
||||
"aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy90aGluZ3Nib2Fy",
|
||||
"ZBK0AQocVXBkYXRlVGhpbmdzQm9hcmRJbnRlZ3JhdGlvbhIoLmFwaS5VcGRh",
|
||||
"dGVUaGluZ3NCb2FyZEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90",
|
||||
"b2J1Zi5FbXB0eSJSgtPkkwJMGkcvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdy",
|
||||
"YXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy90aGluZ3Nib2Fy",
|
||||
"ZDoBKhKlAQocRGVsZXRlVGhpbmdzQm9hcmRJbnRlZ3JhdGlvbhIoLmFwaS5E",
|
||||
"ZWxldGVUaGluZ3NCb2FyZEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5w",
|
||||
"cm90b2J1Zi5FbXB0eSJDgtPkkwI9KjsvYXBpL2FwcGxpY2F0aW9ucy97YXBw",
|
||||
"bGljYXRpb25faWR9L2ludGVncmF0aW9ucy90aGluZ3Nib2FyZBKuAQoaQ3Jl",
|
||||
"YXRlTXlEZXZpY2VzSW50ZWdyYXRpb24SJi5hcGkuQ3JlYXRlTXlEZXZpY2Vz",
|
||||
"SW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IlCC",
|
||||
"0+STAkoiRS9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNh",
|
||||
"dGlvbl9pZH0vaW50ZWdyYXRpb25zL215ZGV2aWNlczoBKhKnAQoXR2V0TXlE",
|
||||
"ZXZpY2VzSW50ZWdyYXRpb24SIy5hcGkuR2V0TXlEZXZpY2VzSW50ZWdyYXRp",
|
||||
"b25SZXF1ZXN0GiQuYXBpLkdldE15RGV2aWNlc0ludGVncmF0aW9uUmVzcG9u",
|
||||
"c2UiQYLT5JMCOxI5L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lk",
|
||||
"fS9pbnRlZ3JhdGlvbnMvbXlkZXZpY2VzEq4BChpVcGRhdGVNeURldmljZXNJ",
|
||||
"bnRlZ3JhdGlvbhImLmFwaS5VcGRhdGVNeURldmljZXNJbnRlZ3JhdGlvblJl",
|
||||
"cXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUILT5JMCShpFL2FwaS9h",
|
||||
"cHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRl",
|
||||
"Z3JhdGlvbnMvbXlkZXZpY2VzOgEqEp8BChpEZWxldGVNeURldmljZXNJbnRl",
|
||||
"Z3JhdGlvbhImLmFwaS5EZWxldGVNeURldmljZXNJbnRlZ3JhdGlvblJlcXVl",
|
||||
"c3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiQYLT5JMCOyo5L2FwaS9hcHBs",
|
||||
"aWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbXlkZXZp",
|
||||
"Y2VzEq4BChpDcmVhdGVMb3JhQ2xvdWRJbnRlZ3JhdGlvbhImLmFwaS5DcmVh",
|
||||
"dGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9i",
|
||||
"dWYuRW1wdHkiUILT5JMCSiJFL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0",
|
||||
"aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbG9yYWNsb3VkOgEq",
|
||||
"EqcBChdHZXRMb3JhQ2xvdWRJbnRlZ3JhdGlvbhIjLmFwaS5HZXRMb3JhQ2xv",
|
||||
"dWRJbnRlZ3JhdGlvblJlcXVlc3QaJC5hcGkuR2V0TG9yYUNsb3VkSW50ZWdy",
|
||||
"YXRpb25SZXNwb25zZSJBgtPkkwI7EjkvYXBpL2FwcGxpY2F0aW9ucy97YXBw",
|
||||
"bGljYXRpb25faWR9L2ludGVncmF0aW9ucy9sb3JhY2xvdWQSrgEKGlVwZGF0",
|
||||
"ZUxvcmFDbG91ZEludGVncmF0aW9uEiYuYXBpLlVwZGF0ZUxvcmFDbG91ZElu",
|
||||
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJQgtPk",
|
||||
"kwJKGkUvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRp",
|
||||
"b25faWR9L2ludGVncmF0aW9ucy9sb3JhY2xvdWQ6ASoSnwEKGkRlbGV0ZUxv",
|
||||
"cmFDbG91ZEludGVncmF0aW9uEiYuYXBpLkRlbGV0ZUxvcmFDbG91ZEludGVn",
|
||||
"cmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJBgtPkkwI7",
|
||||
"KjkvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0",
|
||||
"aW9ucy9sb3JhY2xvdWQSsAEKGkNyZWF0ZUdjcFB1YlN1YkludGVncmF0aW9u",
|
||||
"EiYuYXBpLkNyZWF0ZUdjcFB1YlN1YkludGVncmF0aW9uUmVxdWVzdBoWLmdv",
|
||||
"b2dsZS5wcm90b2J1Zi5FbXB0eSJSgtPkkwJMIkcvYXBpL2FwcGxpY2F0aW9u",
|
||||
"cy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9n",
|
||||
"Y3AtcHViLXN1YjoBKhKpAQoXR2V0R2NwUHViU3ViSW50ZWdyYXRpb24SIy5h",
|
||||
"cGkuR2V0R2NwUHViU3ViSW50ZWdyYXRpb25SZXF1ZXN0GiQuYXBpLkdldEdj",
|
||||
"cFB1YlN1YkludGVncmF0aW9uUmVzcG9uc2UiQ4LT5JMCPRI7L2FwaS9hcHBs",
|
||||
"aWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvZ2NwLXB1",
|
||||
"Yi1zdWISsAEKGlVwZGF0ZUdjcFB1YlN1YkludGVncmF0aW9uEiYuYXBpLlVw",
|
||||
"ZGF0ZUdjcFB1YlN1YkludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90",
|
||||
"b2J1Zi5FbXB0eSJSgtPkkwJMGkcvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdy",
|
||||
"YXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9nY3AtcHViLXN1",
|
||||
"YjoBKhKhAQoaRGVsZXRlR2NwUHViU3ViSW50ZWdyYXRpb24SJi5hcGkuRGVs",
|
||||
"ZXRlR2NwUHViU3ViSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3Rv",
|
||||
"YnVmLkVtcHR5IkOC0+STAj0qOy9hcGkvYXBwbGljYXRpb25zL3thcHBsaWNh",
|
||||
"dGlvbl9pZH0vaW50ZWdyYXRpb25zL2djcC1wdWItc3ViEqYBChdDcmVhdGVB",
|
||||
"d3NTbnNJbnRlZ3JhdGlvbhIjLmFwaS5DcmVhdGVBd3NTbnNJbnRlZ3JhdGlv",
|
||||
"blJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiToLT5JMCSCJDL2Fw",
|
||||
"aS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9p",
|
||||
"bnRlZ3JhdGlvbnMvYXdzLXNuczoBKhKcAQoUR2V0QXdzU25zSW50ZWdyYXRp",
|
||||
"b24SIC5hcGkuR2V0QXdzU25zSW50ZWdyYXRpb25SZXF1ZXN0GiEuYXBpLkdl",
|
||||
"dEF3c1Nuc0ludGVncmF0aW9uUmVzcG9uc2UiP4LT5JMCORI3L2FwaS9hcHBs",
|
||||
"aWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXdzLXNu",
|
||||
"cxKmAQoXVXBkYXRlQXdzU25zSW50ZWdyYXRpb24SIy5hcGkuVXBkYXRlQXdz",
|
||||
"U25zSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
|
||||
"Ik6C0+STAkgaQy9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBs",
|
||||
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F3cy1zbnM6ASoSlwEKF0RlbGV0",
|
||||
"ZUF3c1Nuc0ludGVncmF0aW9uEiMuYXBpLkRlbGV0ZUF3c1Nuc0ludGVncmF0",
|
||||
"aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI/gtPkkwI5Kjcv",
|
||||
"YXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9u",
|
||||
"cy9hd3Mtc25zEsIBCiBDcmVhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlv",
|
||||
"bhIsLmFwaS5DcmVhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVl",
|
||||
"c3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiWILT5JMCUiJNL2FwaS9hcHBs",
|
||||
"aWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3Jh",
|
||||
"dGlvbnMvYXp1cmUtc2VydmljZS1idXM6ASoSwQEKHUdldEF6dXJlU2Vydmlj",
|
||||
"ZUJ1c0ludGVncmF0aW9uEikuYXBpLkdldEF6dXJlU2VydmljZUJ1c0ludGVn",
|
||||
"cmF0aW9uUmVxdWVzdBoqLmFwaS5HZXRBenVyZVNlcnZpY2VCdXNJbnRlZ3Jh",
|
||||
"dGlvblJlc3BvbnNlIkmC0+STAkMSQS9hcGkvYXBwbGljYXRpb25zL3thcHBs",
|
||||
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F6dXJlLXNlcnZpY2UtYnVzEsIB",
|
||||
"CiBVcGRhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvbhIsLmFwaS5VcGRh",
|
||||
"dGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUu",
|
||||
"cHJvdG9idWYuRW1wdHkiWILT5JMCUhpNL2FwaS9hcHBsaWNhdGlvbnMve2lu",
|
||||
"dGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXp1cmUt",
|
||||
"c2VydmljZS1idXM6ASoSswEKIERlbGV0ZUF6dXJlU2VydmljZUJ1c0ludGVn",
|
||||
"cmF0aW9uEiwuYXBpLkRlbGV0ZUF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9u",
|
||||
"UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJJgtPkkwJDKkEvYXBp",
|
||||
"L2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9h",
|
||||
"enVyZS1zZXJ2aWNlLWJ1cxK1AQocQ3JlYXRlUGlsb3RUaGluZ3NJbnRlZ3Jh",
|
||||
"dGlvbhIoLmFwaS5DcmVhdGVQaWxvdFRoaW5nc0ludGVncmF0aW9uUmVxdWVz",
|
||||
"dBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJTgtPkkwJNIkgvYXBpL2FwcGxp",
|
||||
"Y2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0",
|
||||
"aW9ucy9waWxvdC10aGluZ3M6ASoSsAEKGUdldFBpbG90VGhpbmdzSW50ZWdy",
|
||||
"YXRpb24SJS5hcGkuR2V0UGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3Qa",
|
||||
"Ji5hcGkuR2V0UGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlc3BvbnNlIkSC0+ST",
|
||||
"Aj4SPC9hcGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdy",
|
||||
"YXRpb25zL3BpbG90LXRoaW5ncxK1AQocVXBkYXRlUGlsb3RUaGluZ3NJbnRl",
|
||||
"Z3JhdGlvbhIoLmFwaS5VcGRhdGVQaWxvdFRoaW5nc0ludGVncmF0aW9uUmVx",
|
||||
"dWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJTgtPkkwJNGkgvYXBpL2Fw",
|
||||
"KAkiTgoQSWZ0dHRJbnRlZ3JhdGlvbhIWCg5hcHBsaWNhdGlvbl9pZBgBIAEo",
|
||||
"CRILCgNrZXkYAiABKAkSFQoNdXBsaW5rX3ZhbHVlcxgDIAMoCSJLCh1DcmVh",
|
||||
"dGVJZnR0dEludGVncmF0aW9uUmVxdWVzdBIqCgtpbnRlZ3JhdGlvbhgBIAEo",
|
||||
"CzIVLmFwaS5JZnR0dEludGVncmF0aW9uIjQKGkdldElmdHR0SW50ZWdyYXRp",
|
||||
"b25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIkkKG0dldElmdHR0",
|
||||
"SW50ZWdyYXRpb25SZXNwb25zZRIqCgtpbnRlZ3JhdGlvbhgBIAEoCzIVLmFw",
|
||||
"aS5JZnR0dEludGVncmF0aW9uIksKHVVwZGF0ZUlmdHR0SW50ZWdyYXRpb25S",
|
||||
"ZXF1ZXN0EioKC2ludGVncmF0aW9uGAEgASgLMhUuYXBpLklmdHR0SW50ZWdy",
|
||||
"YXRpb24iNwodRGVsZXRlSWZ0dHRJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBw",
|
||||
"bGljYXRpb25faWQYASABKAkiSQovR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25D",
|
||||
"bGllbnRDZXJ0aWZpY2F0ZVJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASAB",
|
||||
"KAkilgEKMEdlbmVyYXRlTXF0dEludGVncmF0aW9uQ2xpZW50Q2VydGlmaWNh",
|
||||
"dGVSZXNwb25zZRIQCgh0bHNfY2VydBgBIAEoCRIPCgd0bHNfa2V5GAIgASgJ",
|
||||
"Eg8KB2NhX2NlcnQYAyABKAkSLgoKZXhwaXJlc19hdBgEIAEoCzIaLmdvb2ds",
|
||||
"ZS5wcm90b2J1Zi5UaW1lc3RhbXAqIgoIRW5jb2RpbmcSCAoESlNPThAAEgwK",
|
||||
"CFBST1RPQlVGEAEqvwEKD0ludGVncmF0aW9uS2luZBIICgRIVFRQEAASDQoJ",
|
||||
"SU5GTFVYX0RCEAESEAoMVEhJTkdTX0JPQVJEEAISDgoKTVlfREVWSUNFUxAD",
|
||||
"Eg4KCkxPUkFfQ0xPVUQQBBIPCgtHQ1BfUFVCX1NVQhAFEgsKB0FXU19TTlMQ",
|
||||
"BhIVChFBWlVSRV9TRVJWSUNFX0JVUxAHEhAKDFBJTE9UX1RISU5HUxAIEg8K",
|
||||
"C01RVFRfR0xPQkFMEAkSCQoFSUZUVFQQCio/ChFJbmZsdXhEYlByZWNpc2lv",
|
||||
"bhIGCgJOUxAAEgUKAVUQARIGCgJNUxACEgUKAVMQAxIFCgFNEAQSBQoBSBAF",
|
||||
"KjEKD0luZmx1eERiVmVyc2lvbhIOCgpJTkZMVVhEQl8xEAASDgoKSU5GTFVY",
|
||||
"REJfMhABMrg8ChJBcHBsaWNhdGlvblNlcnZpY2USZQoGQ3JlYXRlEh0uYXBp",
|
||||
"LkNyZWF0ZUFwcGxpY2F0aW9uUmVxdWVzdBoeLmFwaS5DcmVhdGVBcHBsaWNh",
|
||||
"dGlvblJlc3BvbnNlIhyC0+STAhYiES9hcGkvYXBwbGljYXRpb25zOgEqEl4K",
|
||||
"A0dldBIaLmFwaS5HZXRBcHBsaWNhdGlvblJlcXVlc3QaGy5hcGkuR2V0QXBw",
|
||||
"bGljYXRpb25SZXNwb25zZSIegtPkkwIYEhYvYXBpL2FwcGxpY2F0aW9ucy97",
|
||||
"aWR9Em4KBlVwZGF0ZRIdLmFwaS5VcGRhdGVBcHBsaWNhdGlvblJlcXVlc3Qa",
|
||||
"Fi5nb29nbGUucHJvdG9idWYuRW1wdHkiLYLT5JMCJxoiL2FwaS9hcHBsaWNh",
|
||||
"dGlvbnMve2FwcGxpY2F0aW9uLmlkfToBKhJfCgZEZWxldGUSHS5hcGkuRGVs",
|
||||
"ZXRlQXBwbGljYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
|
||||
"Ih6C0+STAhgqFi9hcGkvYXBwbGljYXRpb25zL3tpZH0SXgoETGlzdBIcLmFw",
|
||||
"aS5MaXN0QXBwbGljYXRpb25zUmVxdWVzdBodLmFwaS5MaXN0QXBwbGljYXRp",
|
||||
"b25zUmVzcG9uc2UiGYLT5JMCExIRL2FwaS9hcHBsaWNhdGlvbnMSiAEKEExp",
|
||||
"c3RJbnRlZ3JhdGlvbnMSHC5hcGkuTGlzdEludGVncmF0aW9uc1JlcXVlc3Qa",
|
||||
"HS5hcGkuTGlzdEludGVncmF0aW9uc1Jlc3BvbnNlIjeC0+STAjESLy9hcGkv",
|
||||
"YXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zEp8B",
|
||||
"ChVDcmVhdGVIdHRwSW50ZWdyYXRpb24SIS5hcGkuQ3JlYXRlSHR0cEludGVn",
|
||||
"cmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJLgtPkkwJF",
|
||||
"IkAvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25f",
|
||||
"aWR9L2ludGVncmF0aW9ucy9odHRwOgEqEpMBChJHZXRIdHRwSW50ZWdyYXRp",
|
||||
"b24SHi5hcGkuR2V0SHR0cEludGVncmF0aW9uUmVxdWVzdBofLmFwaS5HZXRI",
|
||||
"dHRwSW50ZWdyYXRpb25SZXNwb25zZSI8gtPkkwI2EjQvYXBpL2FwcGxpY2F0",
|
||||
"aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9odHRwEp8BChVV",
|
||||
"cGRhdGVIdHRwSW50ZWdyYXRpb24SIS5hcGkuVXBkYXRlSHR0cEludGVncmF0",
|
||||
"aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJLgtPkkwJFGkAv",
|
||||
"YXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9",
|
||||
"L2ludGVncmF0aW9ucy9odHRwOgEqEpABChVEZWxldGVIdHRwSW50ZWdyYXRp",
|
||||
"b24SIS5hcGkuRGVsZXRlSHR0cEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2ds",
|
||||
"ZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2KjQvYXBpL2FwcGxpY2F0aW9ucy97",
|
||||
"YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9odHRwEqsBChlDcmVhdGVJ",
|
||||
"bmZsdXhEYkludGVncmF0aW9uEiUuYXBpLkNyZWF0ZUluZmx1eERiSW50ZWdy",
|
||||
"YXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ik+C0+STAkki",
|
||||
"RC9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9p",
|
||||
"ZH0vaW50ZWdyYXRpb25zL2luZmx1eGRiOgEqEqMBChZHZXRJbmZsdXhEYklu",
|
||||
"dGVncmF0aW9uEiIuYXBpLkdldEluZmx1eERiSW50ZWdyYXRpb25SZXF1ZXN0",
|
||||
"GiMuYXBpLkdldEluZmx1eERiSW50ZWdyYXRpb25SZXNwb25zZSJAgtPkkwI6",
|
||||
"EjgvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0",
|
||||
"aW9ucy9pbmZsdXhkYhKrAQoZVXBkYXRlSW5mbHV4RGJJbnRlZ3JhdGlvbhIl",
|
||||
"LmFwaS5VcGRhdGVJbmZsdXhEYkludGVncmF0aW9uUmVxdWVzdBoWLmdvb2ds",
|
||||
"ZS5wcm90b2J1Zi5FbXB0eSJPgtPkkwJJGkQvYXBpL2FwcGxpY2F0aW9ucy97",
|
||||
"aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9pbmZs",
|
||||
"dXhkYjoBKhKcAQoZRGVsZXRlSW5mbHV4RGJJbnRlZ3JhdGlvbhIlLmFwaS5E",
|
||||
"ZWxldGVJbmZsdXhEYkludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90",
|
||||
"b2J1Zi5FbXB0eSJAgtPkkwI6KjgvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGlj",
|
||||
"YXRpb25faWR9L2ludGVncmF0aW9ucy9pbmZsdXhkYhK0AQocQ3JlYXRlVGhp",
|
||||
"bmdzQm9hcmRJbnRlZ3JhdGlvbhIoLmFwaS5DcmVhdGVUaGluZ3NCb2FyZElu",
|
||||
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJSgtPk",
|
||||
"kwJMIkcvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRp",
|
||||
"b25faWR9L2ludGVncmF0aW9ucy90aGluZ3Nib2FyZDoBKhKvAQoZR2V0VGhp",
|
||||
"bmdzQm9hcmRJbnRlZ3JhdGlvbhIlLmFwaS5HZXRUaGluZ3NCb2FyZEludGVn",
|
||||
"cmF0aW9uUmVxdWVzdBomLmFwaS5HZXRUaGluZ3NCb2FyZEludGVncmF0aW9u",
|
||||
"UmVzcG9uc2UiQ4LT5JMCPRI7L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0",
|
||||
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvdGhpbmdzYm9hcmQStAEKHFVwZGF0ZVRo",
|
||||
"aW5nc0JvYXJkSW50ZWdyYXRpb24SKC5hcGkuVXBkYXRlVGhpbmdzQm9hcmRJ",
|
||||
"bnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUoLT",
|
||||
"5JMCTBpHL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0",
|
||||
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvdGhpbmdzYm9hcmQ6ASoSpQEKHERlbGV0",
|
||||
"ZVRoaW5nc0JvYXJkSW50ZWdyYXRpb24SKC5hcGkuRGVsZXRlVGhpbmdzQm9h",
|
||||
"cmRJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki",
|
||||
"Q4LT5JMCPSo7L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9p",
|
||||
"bnRlZ3JhdGlvbnMvdGhpbmdzYm9hcmQSrgEKGkNyZWF0ZU15RGV2aWNlc0lu",
|
||||
"dGVncmF0aW9uEiYuYXBpLkNyZWF0ZU15RGV2aWNlc0ludGVncmF0aW9uUmVx",
|
||||
"dWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJQgtPkkwJKIkUvYXBpL2Fw",
|
||||
"cGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVn",
|
||||
"cmF0aW9ucy9waWxvdC10aGluZ3M6ASoSpgEKHERlbGV0ZVBpbG90VGhpbmdz",
|
||||
"SW50ZWdyYXRpb24SKC5hcGkuRGVsZXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlv",
|
||||
"blJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiRILT5JMCPio8L2Fw",
|
||||
"aS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMv",
|
||||
"cGlsb3QtdGhpbmdzEqIBChZDcmVhdGVJZnR0dEludGVncmF0aW9uEiIuYXBp",
|
||||
"LkNyZWF0ZUlmdHR0SW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3Rv",
|
||||
"YnVmLkVtcHR5IkyC0+STAkYiQS9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3Jh",
|
||||
"dGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2lmdHR0OgEqEpcB",
|
||||
"ChNHZXRJZnR0dEludGVncmF0aW9uEh8uYXBpLkdldElmdHR0SW50ZWdyYXRp",
|
||||
"b25SZXF1ZXN0GiAuYXBpLkdldElmdHR0SW50ZWdyYXRpb25SZXNwb25zZSI9",
|
||||
"gtPkkwI3EjUvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2lu",
|
||||
"dGVncmF0aW9ucy9pZnR0dBKiAQoWVXBkYXRlSWZ0dHRJbnRlZ3JhdGlvbhIi",
|
||||
"LmFwaS5VcGRhdGVJZnR0dEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5w",
|
||||
"cm90b2J1Zi5FbXB0eSJMgtPkkwJGGkEvYXBpL2FwcGxpY2F0aW9ucy97aW50",
|
||||
"ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9pZnR0dDoB",
|
||||
"KhKTAQoWRGVsZXRlSWZ0dHRJbnRlZ3JhdGlvbhIiLmFwaS5EZWxldGVJZnR0",
|
||||
"dEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI9",
|
||||
"gtPkkwI3KjUvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2lu",
|
||||
"dGVncmF0aW9ucy9pZnR0dBLhAQooR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25D",
|
||||
"bGllbnRDZXJ0aWZpY2F0ZRI0LmFwaS5HZW5lcmF0ZU1xdHRJbnRlZ3JhdGlv",
|
||||
"bkNsaWVudENlcnRpZmljYXRlUmVxdWVzdBo1LmFwaS5HZW5lcmF0ZU1xdHRJ",
|
||||
"bnRlZ3JhdGlvbkNsaWVudENlcnRpZmljYXRlUmVzcG9uc2UiSILT5JMCQiJA",
|
||||
"L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlv",
|
||||
"bnMvbXF0dC9jZXJ0aWZpY2F0ZUJoChFpby5jaGlycHN0YWNrLmFwaUIQQXBw",
|
||||
"bGljYXRpb25Qcm90b1ABWi5naXRodWIuY29tL2NoaXJwc3RhY2svY2hpcnBz",
|
||||
"dGFjay9hcGkvZ28vdjQvYXBpqgIOQ2hpcnBzdGFjay5BcGliBnByb3RvMw=="));
|
||||
"cmF0aW9ucy9teWRldmljZXM6ASoSpwEKF0dldE15RGV2aWNlc0ludGVncmF0",
|
||||
"aW9uEiMuYXBpLkdldE15RGV2aWNlc0ludGVncmF0aW9uUmVxdWVzdBokLmFw",
|
||||
"aS5HZXRNeURldmljZXNJbnRlZ3JhdGlvblJlc3BvbnNlIkGC0+STAjsSOS9h",
|
||||
"cGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25z",
|
||||
"L215ZGV2aWNlcxKuAQoaVXBkYXRlTXlEZXZpY2VzSW50ZWdyYXRpb24SJi5h",
|
||||
"cGkuVXBkYXRlTXlEZXZpY2VzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xl",
|
||||
"LnByb3RvYnVmLkVtcHR5IlCC0+STAkoaRS9hcGkvYXBwbGljYXRpb25zL3tp",
|
||||
"bnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL215ZGV2",
|
||||
"aWNlczoBKhKfAQoaRGVsZXRlTXlEZXZpY2VzSW50ZWdyYXRpb24SJi5hcGku",
|
||||
"RGVsZXRlTXlEZXZpY2VzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnBy",
|
||||
"b3RvYnVmLkVtcHR5IkGC0+STAjsqOS9hcGkvYXBwbGljYXRpb25zL3thcHBs",
|
||||
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL215ZGV2aWNlcxKuAQoaQ3JlYXRl",
|
||||
"TG9yYUNsb3VkSW50ZWdyYXRpb24SJi5hcGkuQ3JlYXRlTG9yYUNsb3VkSW50",
|
||||
"ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IlCC0+ST",
|
||||
"AkoiRS9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlv",
|
||||
"bl9pZH0vaW50ZWdyYXRpb25zL2xvcmFjbG91ZDoBKhKnAQoXR2V0TG9yYUNs",
|
||||
"b3VkSW50ZWdyYXRpb24SIy5hcGkuR2V0TG9yYUNsb3VkSW50ZWdyYXRpb25S",
|
||||
"ZXF1ZXN0GiQuYXBpLkdldExvcmFDbG91ZEludGVncmF0aW9uUmVzcG9uc2Ui",
|
||||
"QYLT5JMCOxI5L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9p",
|
||||
"bnRlZ3JhdGlvbnMvbG9yYWNsb3VkEq4BChpVcGRhdGVMb3JhQ2xvdWRJbnRl",
|
||||
"Z3JhdGlvbhImLmFwaS5VcGRhdGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVl",
|
||||
"c3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUILT5JMCShpFL2FwaS9hcHBs",
|
||||
"aWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3Jh",
|
||||
"dGlvbnMvbG9yYWNsb3VkOgEqEp8BChpEZWxldGVMb3JhQ2xvdWRJbnRlZ3Jh",
|
||||
"dGlvbhImLmFwaS5EZWxldGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3Qa",
|
||||
"Fi5nb29nbGUucHJvdG9idWYuRW1wdHkiQYLT5JMCOyo5L2FwaS9hcHBsaWNh",
|
||||
"dGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbG9yYWNsb3Vk",
|
||||
"ErABChpDcmVhdGVHY3BQdWJTdWJJbnRlZ3JhdGlvbhImLmFwaS5DcmVhdGVH",
|
||||
"Y3BQdWJTdWJJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYu",
|
||||
"RW1wdHkiUoLT5JMCTCJHL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9u",
|
||||
"LmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvZ2NwLXB1Yi1zdWI6ASoS",
|
||||
"qQEKF0dldEdjcFB1YlN1YkludGVncmF0aW9uEiMuYXBpLkdldEdjcFB1YlN1",
|
||||
"YkludGVncmF0aW9uUmVxdWVzdBokLmFwaS5HZXRHY3BQdWJTdWJJbnRlZ3Jh",
|
||||
"dGlvblJlc3BvbnNlIkOC0+STAj0SOy9hcGkvYXBwbGljYXRpb25zL3thcHBs",
|
||||
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2djcC1wdWItc3ViErABChpVcGRh",
|
||||
"dGVHY3BQdWJTdWJJbnRlZ3JhdGlvbhImLmFwaS5VcGRhdGVHY3BQdWJTdWJJ",
|
||||
"bnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUoLT",
|
||||
"5JMCTBpHL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0",
|
||||
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvZ2NwLXB1Yi1zdWI6ASoSoQEKGkRlbGV0",
|
||||
"ZUdjcFB1YlN1YkludGVncmF0aW9uEiYuYXBpLkRlbGV0ZUdjcFB1YlN1Yklu",
|
||||
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJDgtPk",
|
||||
"kwI9KjsvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVn",
|
||||
"cmF0aW9ucy9nY3AtcHViLXN1YhKmAQoXQ3JlYXRlQXdzU25zSW50ZWdyYXRp",
|
||||
"b24SIy5hcGkuQ3JlYXRlQXdzU25zSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29v",
|
||||
"Z2xlLnByb3RvYnVmLkVtcHR5Ik6C0+STAkgiQy9hcGkvYXBwbGljYXRpb25z",
|
||||
"L3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F3",
|
||||
"cy1zbnM6ASoSnAEKFEdldEF3c1Nuc0ludGVncmF0aW9uEiAuYXBpLkdldEF3",
|
||||
"c1Nuc0ludGVncmF0aW9uUmVxdWVzdBohLmFwaS5HZXRBd3NTbnNJbnRlZ3Jh",
|
||||
"dGlvblJlc3BvbnNlIj+C0+STAjkSNy9hcGkvYXBwbGljYXRpb25zL3thcHBs",
|
||||
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F3cy1zbnMSpgEKF1VwZGF0ZUF3",
|
||||
"c1Nuc0ludGVncmF0aW9uEiMuYXBpLlVwZGF0ZUF3c1Nuc0ludGVncmF0aW9u",
|
||||
"UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJOgtPkkwJIGkMvYXBp",
|
||||
"L2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2lu",
|
||||
"dGVncmF0aW9ucy9hd3Mtc25zOgEqEpcBChdEZWxldGVBd3NTbnNJbnRlZ3Jh",
|
||||
"dGlvbhIjLmFwaS5EZWxldGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVlc3QaFi5n",
|
||||
"b29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOSo3L2FwaS9hcHBsaWNhdGlv",
|
||||
"bnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXdzLXNucxLCAQog",
|
||||
"Q3JlYXRlQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb24SLC5hcGkuQ3JlYXRl",
|
||||
"QXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnBy",
|
||||
"b3RvYnVmLkVtcHR5IliC0+STAlIiTS9hcGkvYXBwbGljYXRpb25zL3tpbnRl",
|
||||
"Z3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F6dXJlLXNl",
|
||||
"cnZpY2UtYnVzOgEqEsEBCh1HZXRBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlv",
|
||||
"bhIpLmFwaS5HZXRBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3Qa",
|
||||
"Ki5hcGkuR2V0QXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXNwb25zZSJJ",
|
||||
"gtPkkwJDEkEvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2lu",
|
||||
"dGVncmF0aW9ucy9henVyZS1zZXJ2aWNlLWJ1cxLCAQogVXBkYXRlQXp1cmVT",
|
||||
"ZXJ2aWNlQnVzSW50ZWdyYXRpb24SLC5hcGkuVXBkYXRlQXp1cmVTZXJ2aWNl",
|
||||
"QnVzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
|
||||
"IliC0+STAlIaTS9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBs",
|
||||
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F6dXJlLXNlcnZpY2UtYnVzOgEq",
|
||||
"ErMBCiBEZWxldGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvbhIsLmFwaS5E",
|
||||
"ZWxldGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29n",
|
||||
"bGUucHJvdG9idWYuRW1wdHkiSYLT5JMCQypBL2FwaS9hcHBsaWNhdGlvbnMv",
|
||||
"e2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXp1cmUtc2VydmljZS1i",
|
||||
"dXMStQEKHENyZWF0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb24SKC5hcGkuQ3Jl",
|
||||
"YXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJv",
|
||||
"dG9idWYuRW1wdHkiU4LT5JMCTSJIL2FwaS9hcHBsaWNhdGlvbnMve2ludGVn",
|
||||
"cmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvcGlsb3QtdGhp",
|
||||
"bmdzOgEqErABChlHZXRQaWxvdFRoaW5nc0ludGVncmF0aW9uEiUuYXBpLkdl",
|
||||
"dFBpbG90VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0GiYuYXBpLkdldFBpbG90",
|
||||
"VGhpbmdzSW50ZWdyYXRpb25SZXNwb25zZSJEgtPkkwI+EjwvYXBpL2FwcGxp",
|
||||
"Y2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9waWxvdC10",
|
||||
"aGluZ3MStQEKHFVwZGF0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb24SKC5hcGku",
|
||||
"VXBkYXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUu",
|
||||
"cHJvdG9idWYuRW1wdHkiU4LT5JMCTRpIL2FwaS9hcHBsaWNhdGlvbnMve2lu",
|
||||
"dGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvcGlsb3Qt",
|
||||
"dGhpbmdzOgEqEqYBChxEZWxldGVQaWxvdFRoaW5nc0ludGVncmF0aW9uEigu",
|
||||
"YXBpLkRlbGV0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29v",
|
||||
"Z2xlLnByb3RvYnVmLkVtcHR5IkSC0+STAj4qPC9hcGkvYXBwbGljYXRpb25z",
|
||||
"L3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL3BpbG90LXRoaW5ncxKi",
|
||||
"AQoWQ3JlYXRlSWZ0dHRJbnRlZ3JhdGlvbhIiLmFwaS5DcmVhdGVJZnR0dElu",
|
||||
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJMgtPk",
|
||||
"kwJGIkEvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRp",
|
||||
"b25faWR9L2ludGVncmF0aW9ucy9pZnR0dDoBKhKXAQoTR2V0SWZ0dHRJbnRl",
|
||||
"Z3JhdGlvbhIfLmFwaS5HZXRJZnR0dEludGVncmF0aW9uUmVxdWVzdBogLmFw",
|
||||
"aS5HZXRJZnR0dEludGVncmF0aW9uUmVzcG9uc2UiPYLT5JMCNxI1L2FwaS9h",
|
||||
"cHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaWZ0",
|
||||
"dHQSogEKFlVwZGF0ZUlmdHR0SW50ZWdyYXRpb24SIi5hcGkuVXBkYXRlSWZ0",
|
||||
"dHRJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki",
|
||||
"TILT5JMCRhpBL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxp",
|
||||
"Y2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaWZ0dHQ6ASoSkwEKFkRlbGV0ZUlm",
|
||||
"dHR0SW50ZWdyYXRpb24SIi5hcGkuRGVsZXRlSWZ0dHRJbnRlZ3JhdGlvblJl",
|
||||
"cXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPYLT5JMCNyo1L2FwaS9h",
|
||||
"cHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaWZ0",
|
||||
"dHQS4QEKKEdlbmVyYXRlTXF0dEludGVncmF0aW9uQ2xpZW50Q2VydGlmaWNh",
|
||||
"dGUSNC5hcGkuR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25DbGllbnRDZXJ0aWZp",
|
||||
"Y2F0ZVJlcXVlc3QaNS5hcGkuR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25DbGll",
|
||||
"bnRDZXJ0aWZpY2F0ZVJlc3BvbnNlIkiC0+STAkIiQC9hcGkvYXBwbGljYXRp",
|
||||
"b25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL21xdHQvY2VydGlm",
|
||||
"aWNhdGVCaAoRaW8uY2hpcnBzdGFjay5hcGlCEEFwcGxpY2F0aW9uUHJvdG9Q",
|
||||
"AVouZ2l0aHViLmNvbS9jaGlycHN0YWNrL2NoaXJwc3RhY2svYXBpL2dvL3Y0",
|
||||
"L2FwaaoCDkNoaXJwc3RhY2suQXBpYgZwcm90bzM="));
|
||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||
new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, },
|
||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Chirpstack.Api.Encoding), typeof(global::Chirpstack.Api.IntegrationKind), typeof(global::Chirpstack.Api.InfluxDbPrecision), typeof(global::Chirpstack.Api.InfluxDbVersion), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -401,7 +401,7 @@ namespace Chirpstack.Api {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.UpdateMyDevicesIntegrationRequest), global::Chirpstack.Api.UpdateMyDevicesIntegrationRequest.Parser, new[]{ "Integration" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.DeleteMyDevicesIntegrationRequest), global::Chirpstack.Api.DeleteMyDevicesIntegrationRequest.Parser, new[]{ "ApplicationId" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.LoraCloudIntegration), global::Chirpstack.Api.LoraCloudIntegration.Parser, new[]{ "ApplicationId", "ModemGeolocationServices" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.LoraCloudModemGeolocationServices), global::Chirpstack.Api.LoraCloudModemGeolocationServices.Parser, new[]{ "Token", "ModemEnabled", "ModemPort", "GnssPort", "GnssUseRxTime", "ParseTlv", "GeolocationBufferTtl", "GeolocationMinBufferSize", "GeolocationTdoa", "GeolocationRssi", "GeolocationGnss", "GeolocationGnssPayloadField", "GeolocationGnssUseRxTime", "GeolocationWifi", "GeolocationWifiPayloadField" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.LoraCloudModemGeolocationServices), global::Chirpstack.Api.LoraCloudModemGeolocationServices.Parser, new[]{ "Token", "ModemEnabled", "ForwardFPorts", "GnssUseRxTime", "ParseTlv", "GeolocationBufferTtl", "GeolocationMinBufferSize", "GeolocationTdoa", "GeolocationRssi", "GeolocationGnss", "GeolocationGnssPayloadField", "GeolocationGnssUseRxTime", "GeolocationWifi", "GeolocationWifiPayloadField" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.CreateLoraCloudIntegrationRequest), global::Chirpstack.Api.CreateLoraCloudIntegrationRequest.Parser, new[]{ "Integration" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.GetLoraCloudIntegrationRequest), global::Chirpstack.Api.GetLoraCloudIntegrationRequest.Parser, new[]{ "ApplicationId" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.GetLoraCloudIntegrationResponse), global::Chirpstack.Api.GetLoraCloudIntegrationResponse.Parser, new[]{ "Integration" }, null, null, null, null),
|
||||
@ -9195,8 +9195,7 @@ namespace Chirpstack.Api {
|
||||
public LoraCloudModemGeolocationServices(LoraCloudModemGeolocationServices other) : this() {
|
||||
token_ = other.token_;
|
||||
modemEnabled_ = other.modemEnabled_;
|
||||
modemPort_ = other.modemPort_;
|
||||
gnssPort_ = other.gnssPort_;
|
||||
forwardFPorts_ = other.forwardFPorts_.Clone();
|
||||
gnssUseRxTime_ = other.gnssUseRxTime_;
|
||||
parseTlv_ = other.parseTlv_;
|
||||
geolocationBufferTtl_ = other.geolocationBufferTtl_;
|
||||
@ -9247,38 +9246,19 @@ namespace Chirpstack.Api {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "modem_port" field.</summary>
|
||||
public const int ModemPortFieldNumber = 3;
|
||||
private uint modemPort_;
|
||||
/// <summary>Field number for the "forward_f_ports" field.</summary>
|
||||
public const int ForwardFPortsFieldNumber = 16;
|
||||
private static readonly pb::FieldCodec<uint> _repeated_forwardFPorts_codec
|
||||
= pb::FieldCodec.ForUInt32(130);
|
||||
private readonly pbc::RepeatedField<uint> forwardFPorts_ = new pbc::RepeatedField<uint>();
|
||||
/// <summary>
|
||||
/// Modem port (fPort).
|
||||
/// ChirpStack will only forward the FrmPayload to the MGS if the port
|
||||
/// is equal to the configured value.
|
||||
/// Forward FPorts.
|
||||
/// Forward uplink messages matching the given FPorts to the MGS.
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public uint ModemPort {
|
||||
get { return modemPort_; }
|
||||
set {
|
||||
modemPort_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "gnss_port" field.</summary>
|
||||
public const int GnssPortFieldNumber = 4;
|
||||
private uint gnssPort_;
|
||||
/// <summary>
|
||||
/// GNSS port (fPort).
|
||||
/// ChirpStack will forward the FrmPayload to MGS as GNSS payload if the
|
||||
/// port is equal to the configured value.
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
|
||||
public uint GnssPort {
|
||||
get { return gnssPort_; }
|
||||
set {
|
||||
gnssPort_ = value;
|
||||
}
|
||||
public pbc::RepeatedField<uint> ForwardFPorts {
|
||||
get { return forwardFPorts_; }
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "gnss_use_rx_time" field.</summary>
|
||||
@ -9481,8 +9461,7 @@ namespace Chirpstack.Api {
|
||||
}
|
||||
if (Token != other.Token) return false;
|
||||
if (ModemEnabled != other.ModemEnabled) return false;
|
||||
if (ModemPort != other.ModemPort) return false;
|
||||
if (GnssPort != other.GnssPort) return false;
|
||||
if(!forwardFPorts_.Equals(other.forwardFPorts_)) return false;
|
||||
if (GnssUseRxTime != other.GnssUseRxTime) return false;
|
||||
if (ParseTlv != other.ParseTlv) return false;
|
||||
if (GeolocationBufferTtl != other.GeolocationBufferTtl) return false;
|
||||
@ -9503,8 +9482,7 @@ namespace Chirpstack.Api {
|
||||
int hash = 1;
|
||||
if (Token.Length != 0) hash ^= Token.GetHashCode();
|
||||
if (ModemEnabled != false) hash ^= ModemEnabled.GetHashCode();
|
||||
if (ModemPort != 0) hash ^= ModemPort.GetHashCode();
|
||||
if (GnssPort != 0) hash ^= GnssPort.GetHashCode();
|
||||
hash ^= forwardFPorts_.GetHashCode();
|
||||
if (GnssUseRxTime != false) hash ^= GnssUseRxTime.GetHashCode();
|
||||
if (ParseTlv != false) hash ^= ParseTlv.GetHashCode();
|
||||
if (GeolocationBufferTtl != 0) hash ^= GeolocationBufferTtl.GetHashCode();
|
||||
@ -9542,14 +9520,6 @@ namespace Chirpstack.Api {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteBool(ModemEnabled);
|
||||
}
|
||||
if (ModemPort != 0) {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ModemPort);
|
||||
}
|
||||
if (GnssPort != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(GnssPort);
|
||||
}
|
||||
if (GnssUseRxTime != false) {
|
||||
output.WriteRawTag(40);
|
||||
output.WriteBool(GnssUseRxTime);
|
||||
@ -9594,6 +9564,7 @@ namespace Chirpstack.Api {
|
||||
output.WriteRawTag(122);
|
||||
output.WriteString(GeolocationWifiPayloadField);
|
||||
}
|
||||
forwardFPorts_.WriteTo(output, _repeated_forwardFPorts_codec);
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
@ -9612,14 +9583,6 @@ namespace Chirpstack.Api {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteBool(ModemEnabled);
|
||||
}
|
||||
if (ModemPort != 0) {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ModemPort);
|
||||
}
|
||||
if (GnssPort != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(GnssPort);
|
||||
}
|
||||
if (GnssUseRxTime != false) {
|
||||
output.WriteRawTag(40);
|
||||
output.WriteBool(GnssUseRxTime);
|
||||
@ -9664,6 +9627,7 @@ namespace Chirpstack.Api {
|
||||
output.WriteRawTag(122);
|
||||
output.WriteString(GeolocationWifiPayloadField);
|
||||
}
|
||||
forwardFPorts_.WriteTo(ref output, _repeated_forwardFPorts_codec);
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
@ -9680,12 +9644,7 @@ namespace Chirpstack.Api {
|
||||
if (ModemEnabled != false) {
|
||||
size += 1 + 1;
|
||||
}
|
||||
if (ModemPort != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ModemPort);
|
||||
}
|
||||
if (GnssPort != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(GnssPort);
|
||||
}
|
||||
size += forwardFPorts_.CalculateSize(_repeated_forwardFPorts_codec);
|
||||
if (GnssUseRxTime != false) {
|
||||
size += 1 + 1;
|
||||
}
|
||||
@ -9737,12 +9696,7 @@ namespace Chirpstack.Api {
|
||||
if (other.ModemEnabled != false) {
|
||||
ModemEnabled = other.ModemEnabled;
|
||||
}
|
||||
if (other.ModemPort != 0) {
|
||||
ModemPort = other.ModemPort;
|
||||
}
|
||||
if (other.GnssPort != 0) {
|
||||
GnssPort = other.GnssPort;
|
||||
}
|
||||
forwardFPorts_.Add(other.forwardFPorts_);
|
||||
if (other.GnssUseRxTime != false) {
|
||||
GnssUseRxTime = other.GnssUseRxTime;
|
||||
}
|
||||
@ -9799,14 +9753,6 @@ namespace Chirpstack.Api {
|
||||
ModemEnabled = input.ReadBool();
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
ModemPort = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
GnssPort = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 40: {
|
||||
GnssUseRxTime = input.ReadBool();
|
||||
break;
|
||||
@ -9851,6 +9797,11 @@ namespace Chirpstack.Api {
|
||||
GeolocationWifiPayloadField = input.ReadString();
|
||||
break;
|
||||
}
|
||||
case 130:
|
||||
case 128: {
|
||||
forwardFPorts_.AddEntriesFrom(input, _repeated_forwardFPorts_codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -9874,14 +9825,6 @@ namespace Chirpstack.Api {
|
||||
ModemEnabled = input.ReadBool();
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
ModemPort = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
GnssPort = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 40: {
|
||||
GnssUseRxTime = input.ReadBool();
|
||||
break;
|
||||
@ -9926,6 +9869,11 @@ namespace Chirpstack.Api {
|
||||
GeolocationWifiPayloadField = input.ReadString();
|
||||
break;
|
||||
}
|
||||
case 130:
|
||||
case 128: {
|
||||
forwardFPorts_.AddEntriesFrom(ref input, _repeated_forwardFPorts_codec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
1491
api/go/api/application.pb.go
vendored
1491
api/go/api/application.pb.go
vendored
File diff suppressed because it is too large
Load Diff
12
api/grpc-web/api/application_pb.d.ts
vendored
12
api/grpc-web/api/application_pb.d.ts
vendored
@ -866,11 +866,10 @@ export class LoraCloudModemGeolocationServices extends jspb.Message {
|
||||
getModemEnabled(): boolean;
|
||||
setModemEnabled(value: boolean): LoraCloudModemGeolocationServices;
|
||||
|
||||
getModemPort(): number;
|
||||
setModemPort(value: number): LoraCloudModemGeolocationServices;
|
||||
|
||||
getGnssPort(): number;
|
||||
setGnssPort(value: number): LoraCloudModemGeolocationServices;
|
||||
getForwardFPortsList(): Array<number>;
|
||||
setForwardFPortsList(value: Array<number>): LoraCloudModemGeolocationServices;
|
||||
clearForwardFPortsList(): LoraCloudModemGeolocationServices;
|
||||
addForwardFPorts(value: number, index?: number): LoraCloudModemGeolocationServices;
|
||||
|
||||
getGnssUseRxTime(): boolean;
|
||||
setGnssUseRxTime(value: boolean): LoraCloudModemGeolocationServices;
|
||||
@ -917,8 +916,7 @@ export namespace LoraCloudModemGeolocationServices {
|
||||
export type AsObject = {
|
||||
token: string,
|
||||
modemEnabled: boolean,
|
||||
modemPort: number,
|
||||
gnssPort: number,
|
||||
forwardFPortsList: Array<number>,
|
||||
gnssUseRxTime: boolean,
|
||||
parseTlv: boolean,
|
||||
geolocationBufferTtl: number,
|
||||
|
74
api/grpc-web/api/application_pb.js
vendored
74
api/grpc-web/api/application_pb.js
vendored
@ -907,7 +907,7 @@ if (goog.DEBUG && !COMPILED) {
|
||||
* @constructor
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices = function(opt_data) {
|
||||
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
|
||||
jspb.Message.initialize(this, opt_data, 0, -1, proto.api.LoraCloudModemGeolocationServices.repeatedFields_, null);
|
||||
};
|
||||
goog.inherits(proto.api.LoraCloudModemGeolocationServices, jspb.Message);
|
||||
if (goog.DEBUG && !COMPILED) {
|
||||
@ -8074,6 +8074,13 @@ proto.api.LoraCloudIntegration.prototype.hasModemGeolocationServices = function(
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* List of repeated fields within this message type.
|
||||
* @private {!Array<number>}
|
||||
* @const
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.repeatedFields_ = [16];
|
||||
|
||||
|
||||
|
||||
if (jspb.Message.GENERATE_TO_OBJECT) {
|
||||
@ -8107,8 +8114,7 @@ proto.api.LoraCloudModemGeolocationServices.toObject = function(includeInstance,
|
||||
var f, obj = {
|
||||
token: jspb.Message.getFieldWithDefault(msg, 1, ""),
|
||||
modemEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
|
||||
modemPort: jspb.Message.getFieldWithDefault(msg, 3, 0),
|
||||
gnssPort: jspb.Message.getFieldWithDefault(msg, 4, 0),
|
||||
forwardFPortsList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f,
|
||||
gnssUseRxTime: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
|
||||
parseTlv: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
|
||||
geolocationBufferTtl: jspb.Message.getFieldWithDefault(msg, 7, 0),
|
||||
@ -8164,13 +8170,9 @@ proto.api.LoraCloudModemGeolocationServices.deserializeBinaryFromReader = functi
|
||||
var value = /** @type {boolean} */ (reader.readBool());
|
||||
msg.setModemEnabled(value);
|
||||
break;
|
||||
case 3:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setModemPort(value);
|
||||
break;
|
||||
case 4:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setGnssPort(value);
|
||||
case 16:
|
||||
var value = /** @type {!Array<number>} */ (reader.readPackedUint32());
|
||||
msg.setForwardFPortsList(value);
|
||||
break;
|
||||
case 5:
|
||||
var value = /** @type {boolean} */ (reader.readBool());
|
||||
@ -8259,17 +8261,10 @@ proto.api.LoraCloudModemGeolocationServices.serializeBinaryToWriter = function(m
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getModemPort();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
3,
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getGnssPort();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
4,
|
||||
f = message.getForwardFPortsList();
|
||||
if (f.length > 0) {
|
||||
writer.writePackedUint32(
|
||||
16,
|
||||
f
|
||||
);
|
||||
}
|
||||
@ -8390,38 +8385,39 @@ proto.api.LoraCloudModemGeolocationServices.prototype.setModemEnabled = function
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 modem_port = 3;
|
||||
* @return {number}
|
||||
* repeated uint32 forward_f_ports = 16;
|
||||
* @return {!Array<number>}
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.getModemPort = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.getForwardFPortsList = function() {
|
||||
return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 16));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {!Array<number>} value
|
||||
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.setForwardFPortsList = function(value) {
|
||||
return jspb.Message.setField(this, 16, value || []);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
* @param {number=} opt_index
|
||||
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.setModemPort = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 3, value);
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.addForwardFPorts = function(value, opt_index) {
|
||||
return jspb.Message.addToRepeatedField(this, 16, value, opt_index);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 gnss_port = 4;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.getGnssPort = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
* Clears the list making it empty but non-null.
|
||||
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.setGnssPort = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 4, value);
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.clearForwardFPortsList = function() {
|
||||
return this.setForwardFPortsList([]);
|
||||
};
|
||||
|
||||
|
||||
|
12
api/js/api/application_pb.d.ts
vendored
12
api/js/api/application_pb.d.ts
vendored
@ -942,11 +942,10 @@ export class LoraCloudModemGeolocationServices extends jspb.Message {
|
||||
getModemEnabled(): boolean;
|
||||
setModemEnabled(value: boolean): void;
|
||||
|
||||
getModemPort(): number;
|
||||
setModemPort(value: number): void;
|
||||
|
||||
getGnssPort(): number;
|
||||
setGnssPort(value: number): void;
|
||||
clearForwardFPortsList(): void;
|
||||
getForwardFPortsList(): Array<number>;
|
||||
setForwardFPortsList(value: Array<number>): void;
|
||||
addForwardFPorts(value: number, index?: number): number;
|
||||
|
||||
getGnssUseRxTime(): boolean;
|
||||
setGnssUseRxTime(value: boolean): void;
|
||||
@ -995,8 +994,7 @@ export namespace LoraCloudModemGeolocationServices {
|
||||
export type AsObject = {
|
||||
token: string,
|
||||
modemEnabled: boolean,
|
||||
modemPort: number,
|
||||
gnssPort: number,
|
||||
forwardFPortsList: Array<number>,
|
||||
gnssUseRxTime: boolean,
|
||||
parseTlv: boolean,
|
||||
geolocationBufferTtl: number,
|
||||
|
74
api/js/api/application_pb.js
vendored
74
api/js/api/application_pb.js
vendored
@ -907,7 +907,7 @@ if (goog.DEBUG && !COMPILED) {
|
||||
* @constructor
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices = function(opt_data) {
|
||||
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
|
||||
jspb.Message.initialize(this, opt_data, 0, -1, proto.api.LoraCloudModemGeolocationServices.repeatedFields_, null);
|
||||
};
|
||||
goog.inherits(proto.api.LoraCloudModemGeolocationServices, jspb.Message);
|
||||
if (goog.DEBUG && !COMPILED) {
|
||||
@ -8074,6 +8074,13 @@ proto.api.LoraCloudIntegration.prototype.hasModemGeolocationServices = function(
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* List of repeated fields within this message type.
|
||||
* @private {!Array<number>}
|
||||
* @const
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.repeatedFields_ = [16];
|
||||
|
||||
|
||||
|
||||
if (jspb.Message.GENERATE_TO_OBJECT) {
|
||||
@ -8107,8 +8114,7 @@ proto.api.LoraCloudModemGeolocationServices.toObject = function(includeInstance,
|
||||
var f, obj = {
|
||||
token: jspb.Message.getFieldWithDefault(msg, 1, ""),
|
||||
modemEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
|
||||
modemPort: jspb.Message.getFieldWithDefault(msg, 3, 0),
|
||||
gnssPort: jspb.Message.getFieldWithDefault(msg, 4, 0),
|
||||
forwardFPortsList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f,
|
||||
gnssUseRxTime: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
|
||||
parseTlv: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
|
||||
geolocationBufferTtl: jspb.Message.getFieldWithDefault(msg, 7, 0),
|
||||
@ -8164,13 +8170,9 @@ proto.api.LoraCloudModemGeolocationServices.deserializeBinaryFromReader = functi
|
||||
var value = /** @type {boolean} */ (reader.readBool());
|
||||
msg.setModemEnabled(value);
|
||||
break;
|
||||
case 3:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setModemPort(value);
|
||||
break;
|
||||
case 4:
|
||||
var value = /** @type {number} */ (reader.readUint32());
|
||||
msg.setGnssPort(value);
|
||||
case 16:
|
||||
var value = /** @type {!Array<number>} */ (reader.readPackedUint32());
|
||||
msg.setForwardFPortsList(value);
|
||||
break;
|
||||
case 5:
|
||||
var value = /** @type {boolean} */ (reader.readBool());
|
||||
@ -8259,17 +8261,10 @@ proto.api.LoraCloudModemGeolocationServices.serializeBinaryToWriter = function(m
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getModemPort();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
3,
|
||||
f
|
||||
);
|
||||
}
|
||||
f = message.getGnssPort();
|
||||
if (f !== 0) {
|
||||
writer.writeUint32(
|
||||
4,
|
||||
f = message.getForwardFPortsList();
|
||||
if (f.length > 0) {
|
||||
writer.writePackedUint32(
|
||||
16,
|
||||
f
|
||||
);
|
||||
}
|
||||
@ -8390,38 +8385,39 @@ proto.api.LoraCloudModemGeolocationServices.prototype.setModemEnabled = function
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 modem_port = 3;
|
||||
* @return {number}
|
||||
* repeated uint32 forward_f_ports = 16;
|
||||
* @return {!Array<number>}
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.getModemPort = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.getForwardFPortsList = function() {
|
||||
return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 16));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {!Array<number>} value
|
||||
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.setForwardFPortsList = function(value) {
|
||||
return jspb.Message.setField(this, 16, value || []);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
* @param {number=} opt_index
|
||||
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.setModemPort = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 3, value);
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.addForwardFPorts = function(value, opt_index) {
|
||||
return jspb.Message.addToRepeatedField(this, 16, value, opt_index);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* optional uint32 gnss_port = 4;
|
||||
* @return {number}
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.getGnssPort = function() {
|
||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value
|
||||
* Clears the list making it empty but non-null.
|
||||
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
|
||||
*/
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.setGnssPort = function(value) {
|
||||
return jspb.Message.setProto3IntField(this, 4, value);
|
||||
proto.api.LoraCloudModemGeolocationServices.prototype.clearForwardFPortsList = function() {
|
||||
return this.setForwardFPortsList([]);
|
||||
};
|
||||
|
||||
|
||||
|
3
api/md/api/api.md
vendored
3
api/md/api/api.md
vendored
@ -1246,8 +1246,7 @@ Note: The first value is always used for the DevEUI. |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| token | [string](#string) | | API token. |
|
||||
| modem_enabled | [bool](#bool) | | Device implements Modem / Modem-E stack. |
|
||||
| modem_port | [uint32](#uint32) | | Modem port (fPort). ChirpStack will only forward the FrmPayload to the MGS if the port is equal to the configured value. |
|
||||
| gnss_port | [uint32](#uint32) | | GNSS port (fPort). ChirpStack will forward the FrmPayload to MGS as GNSS payload if the port is equal to the configured value. |
|
||||
| forward_f_ports | [uint32](#uint32) | repeated | Forward FPorts. Forward uplink messages matching the given FPorts to the MGS. |
|
||||
| gnss_use_rx_time | [bool](#bool) | | Use rx time for GNSS resolving. In case this is set to true, the MGS resolver will use the RX time of the network instead of the timestamp included in the LR1110 payload. |
|
||||
| parse_tlv | [bool](#bool) | | Parse TLV records. If enabled, stream records (expected in TLV format) are scanned for GNSS data (0x06 or 0x07). If found, ChirpStack will make an additional geolocation call to the MGS API for resolving the location of the detected payload. |
|
||||
| geolocation_buffer_ttl | [uint32](#uint32) | | Geolocation buffer TTL (in seconds). If > 0, uplink RX meta-data will be stored in a buffer so that the meta-data of multiple uplinks can be used for geolocation. |
|
||||
|
12
api/proto/api/application.proto
vendored
12
api/proto/api/application.proto
vendored
@ -695,15 +695,9 @@ message LoraCloudModemGeolocationServices {
|
||||
// Device implements Modem / Modem-E stack.
|
||||
bool modem_enabled = 2;
|
||||
|
||||
// Modem port (fPort).
|
||||
// ChirpStack will only forward the FrmPayload to the MGS if the port
|
||||
// is equal to the configured value.
|
||||
uint32 modem_port = 3;
|
||||
|
||||
// GNSS port (fPort).
|
||||
// ChirpStack will forward the FrmPayload to MGS as GNSS payload if the
|
||||
// port is equal to the configured value.
|
||||
uint32 gnss_port = 4;
|
||||
// Forward FPorts.
|
||||
// Forward uplink messages matching the given FPorts to the MGS.
|
||||
repeated uint32 forward_f_ports = 16;
|
||||
|
||||
// Use rx time for GNSS resolving.
|
||||
// In case this is set to true, the MGS resolver will use the RX time of the
|
||||
|
@ -695,15 +695,9 @@ message LoraCloudModemGeolocationServices {
|
||||
// Device implements Modem / Modem-E stack.
|
||||
bool modem_enabled = 2;
|
||||
|
||||
// Modem port (fPort).
|
||||
// ChirpStack will only forward the FrmPayload to the MGS if the port
|
||||
// is equal to the configured value.
|
||||
uint32 modem_port = 3;
|
||||
|
||||
// GNSS port (fPort).
|
||||
// ChirpStack will forward the FrmPayload to MGS as GNSS payload if the
|
||||
// port is equal to the configured value.
|
||||
uint32 gnss_port = 4;
|
||||
// Forward FPorts.
|
||||
// Forward uplink messages matching the given FPorts to the MGS.
|
||||
repeated uint32 forward_f_ports = 16;
|
||||
|
||||
// Use rx time for GNSS resolving.
|
||||
// In case this is set to true, the MGS resolver will use the RX time of the
|
||||
|
172
api/python/src/chirpstack_api/api/application_pb2.py
vendored
172
api/python/src/chirpstack_api/api/application_pb2.py
vendored
File diff suppressed because one or more lines are too long
@ -496,7 +496,8 @@ class LoraCloudIntegration(_message.Message):
|
||||
def __init__(self, application_id: _Optional[str] = ..., modem_geolocation_services: _Optional[_Union[LoraCloudModemGeolocationServices, _Mapping]] = ...) -> None: ...
|
||||
|
||||
class LoraCloudModemGeolocationServices(_message.Message):
|
||||
__slots__ = ["geolocation_buffer_ttl", "geolocation_gnss", "geolocation_gnss_payload_field", "geolocation_gnss_use_rx_time", "geolocation_min_buffer_size", "geolocation_rssi", "geolocation_tdoa", "geolocation_wifi", "geolocation_wifi_payload_field", "gnss_port", "gnss_use_rx_time", "modem_enabled", "modem_port", "parse_tlv", "token"]
|
||||
__slots__ = ["forward_f_ports", "geolocation_buffer_ttl", "geolocation_gnss", "geolocation_gnss_payload_field", "geolocation_gnss_use_rx_time", "geolocation_min_buffer_size", "geolocation_rssi", "geolocation_tdoa", "geolocation_wifi", "geolocation_wifi_payload_field", "gnss_use_rx_time", "modem_enabled", "parse_tlv", "token"]
|
||||
FORWARD_F_PORTS_FIELD_NUMBER: _ClassVar[int]
|
||||
GEOLOCATION_BUFFER_TTL_FIELD_NUMBER: _ClassVar[int]
|
||||
GEOLOCATION_GNSS_FIELD_NUMBER: _ClassVar[int]
|
||||
GEOLOCATION_GNSS_PAYLOAD_FIELD_FIELD_NUMBER: _ClassVar[int]
|
||||
@ -506,12 +507,11 @@ class LoraCloudModemGeolocationServices(_message.Message):
|
||||
GEOLOCATION_TDOA_FIELD_NUMBER: _ClassVar[int]
|
||||
GEOLOCATION_WIFI_FIELD_NUMBER: _ClassVar[int]
|
||||
GEOLOCATION_WIFI_PAYLOAD_FIELD_FIELD_NUMBER: _ClassVar[int]
|
||||
GNSS_PORT_FIELD_NUMBER: _ClassVar[int]
|
||||
GNSS_USE_RX_TIME_FIELD_NUMBER: _ClassVar[int]
|
||||
MODEM_ENABLED_FIELD_NUMBER: _ClassVar[int]
|
||||
MODEM_PORT_FIELD_NUMBER: _ClassVar[int]
|
||||
PARSE_TLV_FIELD_NUMBER: _ClassVar[int]
|
||||
TOKEN_FIELD_NUMBER: _ClassVar[int]
|
||||
forward_f_ports: _containers.RepeatedScalarFieldContainer[int]
|
||||
geolocation_buffer_ttl: int
|
||||
geolocation_gnss: bool
|
||||
geolocation_gnss_payload_field: str
|
||||
@ -521,13 +521,11 @@ class LoraCloudModemGeolocationServices(_message.Message):
|
||||
geolocation_tdoa: bool
|
||||
geolocation_wifi: bool
|
||||
geolocation_wifi_payload_field: str
|
||||
gnss_port: int
|
||||
gnss_use_rx_time: bool
|
||||
modem_enabled: bool
|
||||
modem_port: int
|
||||
parse_tlv: bool
|
||||
token: str
|
||||
def __init__(self, token: _Optional[str] = ..., modem_enabled: bool = ..., modem_port: _Optional[int] = ..., gnss_port: _Optional[int] = ..., gnss_use_rx_time: bool = ..., parse_tlv: bool = ..., geolocation_buffer_ttl: _Optional[int] = ..., geolocation_min_buffer_size: _Optional[int] = ..., geolocation_tdoa: bool = ..., geolocation_rssi: bool = ..., geolocation_gnss: bool = ..., geolocation_gnss_payload_field: _Optional[str] = ..., geolocation_gnss_use_rx_time: bool = ..., geolocation_wifi: bool = ..., geolocation_wifi_payload_field: _Optional[str] = ...) -> None: ...
|
||||
def __init__(self, token: _Optional[str] = ..., modem_enabled: bool = ..., forward_f_ports: _Optional[_Iterable[int]] = ..., gnss_use_rx_time: bool = ..., parse_tlv: bool = ..., geolocation_buffer_ttl: _Optional[int] = ..., geolocation_min_buffer_size: _Optional[int] = ..., geolocation_tdoa: bool = ..., geolocation_rssi: bool = ..., geolocation_gnss: bool = ..., geolocation_gnss_payload_field: _Optional[str] = ..., geolocation_gnss_use_rx_time: bool = ..., geolocation_wifi: bool = ..., geolocation_wifi_payload_field: _Optional[str] = ...) -> None: ...
|
||||
|
||||
class MyDevicesIntegration(_message.Message):
|
||||
__slots__ = ["application_id", "endpoint"]
|
||||
|
12
api/rust/proto/chirpstack/api/application.proto
vendored
12
api/rust/proto/chirpstack/api/application.proto
vendored
@ -695,15 +695,9 @@ message LoraCloudModemGeolocationServices {
|
||||
// Device implements Modem / Modem-E stack.
|
||||
bool modem_enabled = 2;
|
||||
|
||||
// Modem port (fPort).
|
||||
// ChirpStack will only forward the FrmPayload to the MGS if the port
|
||||
// is equal to the configured value.
|
||||
uint32 modem_port = 3;
|
||||
|
||||
// GNSS port (fPort).
|
||||
// ChirpStack will forward the FrmPayload to MGS as GNSS payload if the
|
||||
// port is equal to the configured value.
|
||||
uint32 gnss_port = 4;
|
||||
// Forward FPorts.
|
||||
// Forward uplink messages matching the given FPorts to the MGS.
|
||||
repeated uint32 forward_f_ports = 16;
|
||||
|
||||
// Use rx time for GNSS resolving.
|
||||
// In case this is set to true, the MGS resolver will use the RX time of the
|
||||
|
@ -911,8 +911,7 @@ impl ApplicationService for Application {
|
||||
modem_geolocation_services: application::LoraCloudModemGeolocationServices {
|
||||
token: req_mgs.token.clone(),
|
||||
modem_enabled: req_mgs.modem_enabled,
|
||||
modem_port: req_mgs.modem_port,
|
||||
gnss_port: req_mgs.gnss_port,
|
||||
forward_f_ports: req_mgs.forward_f_ports.clone(),
|
||||
gnss_use_rx_time: req_mgs.gnss_use_rx_time,
|
||||
parse_tlv: req_mgs.parse_tlv,
|
||||
geolocation_buffer_ttl: req_mgs.geolocation_buffer_ttl,
|
||||
@ -928,6 +927,7 @@ impl ApplicationService for Application {
|
||||
geolocation_wifi_payload_field: req_mgs
|
||||
.geolocation_wifi_payload_field
|
||||
.clone(),
|
||||
..Default::default()
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -972,8 +972,7 @@ impl ApplicationService for Application {
|
||||
modem_geolocation_services: Some(api::LoraCloudModemGeolocationServices {
|
||||
token: mgs.token.clone(),
|
||||
modem_enabled: mgs.modem_enabled,
|
||||
modem_port: mgs.modem_port,
|
||||
gnss_port: mgs.gnss_port,
|
||||
forward_f_ports: mgs.forward_f_ports.clone(),
|
||||
gnss_use_rx_time: mgs.gnss_use_rx_time,
|
||||
parse_tlv: mgs.parse_tlv,
|
||||
geolocation_buffer_ttl: mgs.geolocation_buffer_ttl,
|
||||
@ -1035,8 +1034,7 @@ impl ApplicationService for Application {
|
||||
modem_geolocation_services: application::LoraCloudModemGeolocationServices {
|
||||
token: req_mgs.token.clone(),
|
||||
modem_enabled: req_mgs.modem_enabled,
|
||||
modem_port: req_mgs.modem_port,
|
||||
gnss_port: req_mgs.gnss_port,
|
||||
forward_f_ports: req_mgs.forward_f_ports.clone(),
|
||||
gnss_use_rx_time: req_mgs.gnss_use_rx_time,
|
||||
parse_tlv: req_mgs.parse_tlv,
|
||||
geolocation_buffer_ttl: req_mgs.geolocation_buffer_ttl,
|
||||
@ -1052,6 +1050,7 @@ impl ApplicationService for Application {
|
||||
geolocation_wifi_payload_field: req_mgs
|
||||
.geolocation_wifi_payload_field
|
||||
.clone(),
|
||||
..Default::default()
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -2610,8 +2609,7 @@ pub mod test {
|
||||
modem_geolocation_services: Some(api::LoraCloudModemGeolocationServices {
|
||||
token: "test-token".into(),
|
||||
modem_enabled: true,
|
||||
modem_port: 199,
|
||||
gnss_port: 198,
|
||||
forward_f_ports: vec![199, 198, 197, 192],
|
||||
gnss_use_rx_time: true,
|
||||
parse_tlv: true,
|
||||
geolocation_buffer_ttl: 300,
|
||||
@ -2647,8 +2645,7 @@ pub mod test {
|
||||
modem_geolocation_services: Some(api::LoraCloudModemGeolocationServices {
|
||||
token: "test-token".into(),
|
||||
modem_enabled: true,
|
||||
modem_port: 199,
|
||||
gnss_port: 198,
|
||||
forward_f_ports: vec![199, 198, 197, 192],
|
||||
gnss_use_rx_time: true,
|
||||
parse_tlv: true,
|
||||
geolocation_buffer_ttl: 300,
|
||||
@ -2674,8 +2671,7 @@ pub mod test {
|
||||
modem_geolocation_services: Some(api::LoraCloudModemGeolocationServices {
|
||||
token: "test-token-updated".into(),
|
||||
modem_enabled: true,
|
||||
modem_port: 199,
|
||||
gnss_port: 198,
|
||||
forward_f_ports: vec![199, 198, 197, 192],
|
||||
gnss_use_rx_time: true,
|
||||
parse_tlv: true,
|
||||
geolocation_buffer_ttl: 300,
|
||||
@ -2711,8 +2707,7 @@ pub mod test {
|
||||
modem_geolocation_services: Some(api::LoraCloudModemGeolocationServices {
|
||||
token: "test-token-updated".into(),
|
||||
modem_enabled: true,
|
||||
modem_port: 199,
|
||||
gnss_port: 198,
|
||||
forward_f_ports: vec![199, 198, 197, 192],
|
||||
gnss_use_rx_time: true,
|
||||
parse_tlv: true,
|
||||
geolocation_buffer_ttl: 300,
|
||||
|
@ -489,7 +489,6 @@ pub struct AntennaLocation {
|
||||
#[derive(Clone)]
|
||||
pub enum UplinkMsg {
|
||||
UpDf(UplinkMsgUpDf),
|
||||
Modem(UplinkMsgModem),
|
||||
Gnss(UplinkMsgGnss),
|
||||
Wifi(UplinkMsgWifi),
|
||||
Joining(UplinkMsgJoining),
|
||||
@ -502,7 +501,6 @@ impl Serialize for UplinkMsg {
|
||||
{
|
||||
match self {
|
||||
UplinkMsg::UpDf(v) => v.serialize(serializer),
|
||||
UplinkMsg::Modem(v) => v.serialize(serializer),
|
||||
UplinkMsg::Gnss(v) => v.serialize(serializer),
|
||||
UplinkMsg::Wifi(v) => v.serialize(serializer),
|
||||
UplinkMsg::Joining(v) => v.serialize(serializer),
|
||||
@ -563,8 +561,7 @@ impl<'de> Visitor<'de> for Eui64WrapperVisitor {
|
||||
}
|
||||
|
||||
// UplinkMsgUpDf implements the LoRa Cloud UplinkMsg object.
|
||||
// The purpose of this message is to create a downlink opportunity for LoRa Cloud.
|
||||
#[derive(Serialize, Clone)]
|
||||
#[derive(Default, Serialize, Clone)]
|
||||
pub struct UplinkMsgUpDf {
|
||||
#[serde(rename = "msgtype")]
|
||||
pub msg_type: String, // must be set to "updf"
|
||||
@ -573,21 +570,16 @@ pub struct UplinkMsgUpDf {
|
||||
pub port: u8,
|
||||
pub dr: u8,
|
||||
pub freq: u32,
|
||||
pub timestamp: f64, // senconds since UTC
|
||||
pub payload: String, // leave this blank
|
||||
}
|
||||
|
||||
// UplinkMsgModem implements the LoRa Cloud UplinkMsg object containing a modem payload.
|
||||
#[derive(Serialize, Clone)]
|
||||
pub struct UplinkMsgModem {
|
||||
#[serde(rename = "msgtype")]
|
||||
pub msg_type: String, // must be set to "modem"
|
||||
pub payload: String, // HEX format
|
||||
#[serde(rename = "fcnt")]
|
||||
pub f_cnt: u32,
|
||||
pub timestamp: f64, // seconds since UTC
|
||||
pub dr: u8,
|
||||
pub freq: u32,
|
||||
pub timestamp: f64, // senconds since UTC
|
||||
pub payload: String,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub gnss_capture_time: Option<f64>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub gnss_capture_time_accuracy: Option<f64>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub gnss_assist_position: Option<Vec<f64>>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub gnss_assist_altitude: Option<f64>,
|
||||
}
|
||||
|
||||
// UplinkMsgGnss implements the LoRa Cloud UplinkMsg object containing a gnss payload.
|
||||
@ -696,6 +688,7 @@ pub mod test {
|
||||
freq: 868100000,
|
||||
timestamp: 12345.0,
|
||||
payload: "".into(),
|
||||
..Default::default()
|
||||
}),
|
||||
};
|
||||
let json_s = serde_json::to_string(&updf).unwrap();
|
||||
|
@ -59,31 +59,66 @@ impl Integration {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn modem_modem(
|
||||
async fn modem_updf(
|
||||
&self,
|
||||
vars: &HashMap<String, String>,
|
||||
pl: &integration::UplinkEvent,
|
||||
) -> Result<()> {
|
||||
let di = pl.device_info.as_ref().unwrap();
|
||||
|
||||
info!(dev_eui = %di.dev_eui, "Forwarding modem message");
|
||||
info!(dev_eui = %di.dev_eui, "Forwarding updf message");
|
||||
let ts: DateTime<Utc> = pl.time.as_ref().unwrap().clone().try_into()?;
|
||||
let dev_eui = EUI64::from_str(&di.dev_eui)?;
|
||||
|
||||
let req = client::UplinkRequest {
|
||||
dev_eui: client::Eui64Wrapper::new(&dev_eui),
|
||||
uplink: client::UplinkMsg::Modem(client::UplinkMsgModem {
|
||||
msg_type: "modem".into(),
|
||||
payload: hex::encode(&pl.data),
|
||||
f_cnt: pl.f_cnt,
|
||||
timestamp: ts.timestamp_millis() as f64 / 1000.0,
|
||||
dr: pl.dr as u8,
|
||||
freq: pl.tx_info.as_ref().unwrap().frequency,
|
||||
uplink: client::UplinkMsg::UpDf({
|
||||
let mut msg_updf = client::UplinkMsgUpDf {
|
||||
msg_type: "updf".into(),
|
||||
f_cnt: pl.f_cnt,
|
||||
port: pl.f_port as u8,
|
||||
dr: pl.dr as u8,
|
||||
freq: pl.tx_info.as_ref().unwrap().frequency,
|
||||
timestamp: ts.timestamp_millis() as f64 / 1000.0,
|
||||
payload: hex::encode(&pl.data),
|
||||
gnss_capture_time: match self.config.modem_geolocation_services.gnss_use_rx_time
|
||||
{
|
||||
false => None,
|
||||
true => {
|
||||
let ts = match get_time_since_gps_epoch_chrono(&pl.rx_info) {
|
||||
Some(v) => v,
|
||||
None => Utc::now().to_gps_time(),
|
||||
};
|
||||
|
||||
// Compensate for gnss scanning time and uplink.
|
||||
let ts = ts - Duration::seconds(6);
|
||||
Some(ts.num_seconds() as f64)
|
||||
}
|
||||
},
|
||||
gnss_capture_time_accuracy: match self
|
||||
.config
|
||||
.modem_geolocation_services
|
||||
.gnss_use_rx_time
|
||||
{
|
||||
false => None,
|
||||
true => Some(15.0),
|
||||
},
|
||||
gnss_assist_position: None,
|
||||
gnss_assist_altitude: None,
|
||||
};
|
||||
|
||||
if let Some(loc) = get_start_location(&pl.rx_info) {
|
||||
msg_updf.gnss_assist_position = Some(vec![loc.latitude, loc.longitude]);
|
||||
msg_updf.gnss_assist_altitude = Some(loc.altitude);
|
||||
}
|
||||
|
||||
msg_updf
|
||||
}),
|
||||
};
|
||||
|
||||
let resp = self.client.uplink_send(&req).await?;
|
||||
self.handle_modem_response(vars, pl, &resp, common::LocationSource::Unknown)
|
||||
|
||||
self.handle_modem_response(vars, pl, &resp, common::LocationSource::GeoResolverGnss)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
@ -169,6 +204,7 @@ impl Integration {
|
||||
freq: pl.tx_info.as_ref().unwrap().frequency,
|
||||
timestamp: ts.timestamp_millis() as f64 / 1000.0,
|
||||
payload: "".into(),
|
||||
..Default::default()
|
||||
}),
|
||||
};
|
||||
|
||||
@ -698,12 +734,13 @@ impl IntegrationTrait for Integration {
|
||||
pl: &integration::UplinkEvent,
|
||||
) -> Result<()> {
|
||||
if self.config.modem_geolocation_services.modem_enabled {
|
||||
if pl.f_port == self.config.modem_geolocation_services.modem_port {
|
||||
// Modem payloads.
|
||||
self.modem_modem(vars, pl).await?;
|
||||
} else if pl.f_port == self.config.modem_geolocation_services.gnss_port {
|
||||
// GNSS payloads.
|
||||
self.modem_gnss(vars, pl).await?;
|
||||
if self
|
||||
.config
|
||||
.modem_geolocation_services
|
||||
.forward_f_ports
|
||||
.contains(&pl.f_port)
|
||||
{
|
||||
self.modem_updf(vars, pl).await?;
|
||||
} else {
|
||||
// Only forward meta-data.
|
||||
self.modem_metadata(vars, pl).await?;
|
||||
|
@ -200,12 +200,13 @@ pub struct LoraCloudConfiguration {
|
||||
pub modem_geolocation_services: LoraCloudModemGeolocationServices,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct LoraCloudModemGeolocationServices {
|
||||
pub token: String,
|
||||
pub modem_enabled: bool,
|
||||
pub modem_port: u32,
|
||||
pub gnss_port: u32,
|
||||
pub forward_f_ports: Vec<u32>,
|
||||
pub gnss_use_rx_time: bool,
|
||||
pub parse_tlv: bool,
|
||||
pub geolocation_buffer_ttl: u32,
|
||||
@ -466,7 +467,7 @@ pub async fn get_integration(
|
||||
let application_id = *application_id;
|
||||
move || -> Result<Integration, Error> {
|
||||
let mut c = get_db_conn()?;
|
||||
let i: Integration = application_integration::dsl::application_integration
|
||||
let mut i: Integration = application_integration::dsl::application_integration
|
||||
.filter(
|
||||
application_integration::dsl::application_id
|
||||
.eq(application_id)
|
||||
@ -474,6 +475,19 @@ pub async fn get_integration(
|
||||
)
|
||||
.first(&mut c)
|
||||
.map_err(|e| Error::from_diesel(e, application_id.to_string()))?;
|
||||
|
||||
// For backwards compatibiliy
|
||||
if let IntegrationConfiguration::LoraCloud(conf) = &mut i.configuration {
|
||||
if conf.modem_geolocation_services.forward_f_ports.is_empty() {
|
||||
conf.modem_geolocation_services.forward_f_ports = vec![
|
||||
conf.modem_geolocation_services.modem_port,
|
||||
conf.modem_geolocation_services.gnss_port,
|
||||
197,
|
||||
192,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Ok(i)
|
||||
}
|
||||
})
|
||||
|
@ -34,9 +34,8 @@ class CreateLoRaCloudIntegration extends Component<IProps> {
|
||||
render() {
|
||||
let i = new LoraCloudIntegration();
|
||||
let mgs = new LoraCloudModemGeolocationServices();
|
||||
mgs.setModemPort(199);
|
||||
mgs.setGnssPort(198);
|
||||
mgs.setModemEnabled(true);
|
||||
mgs.setForwardFPortsList([192, 197, 198, 199]);
|
||||
|
||||
i.setModemGeolocationServices(mgs);
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
import React, { Component } from "react";
|
||||
|
||||
import { Form, Input, InputNumber, Switch, Button, Tabs, Collapse } from "antd";
|
||||
import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
|
||||
|
||||
import {
|
||||
LoraCloudIntegration,
|
||||
@ -56,8 +57,7 @@ class LoRaCloudIntegrationForm extends Component<IProps, IState> {
|
||||
if (mgsv !== undefined) {
|
||||
mgs.setToken(mgsv.token);
|
||||
mgs.setModemEnabled(mgsv.modemEnabled);
|
||||
mgs.setModemPort(mgsv.modemPort);
|
||||
mgs.setGnssPort(mgsv.gnssPort);
|
||||
mgs.setForwardFPortsList(mgsv.forwardFPortsList);
|
||||
mgs.setGnssUseRxTime(mgsv.gnssUseRxTime);
|
||||
mgs.setParseTlv(mgsv.parseTlv);
|
||||
mgs.setGeolocationBufferTtl(mgsv.geolocationBufferTtl);
|
||||
@ -119,7 +119,7 @@ class LoRaCloudIntegrationForm extends Component<IProps, IState> {
|
||||
tooltip="This token can be obtained from loracloud.com"
|
||||
rules={[{ required: true, message: "Please enter a token!" }]}
|
||||
>
|
||||
<Input />
|
||||
<Input type="password" />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name={["modemGeolocationServices", "modemEnabled"]}
|
||||
@ -129,24 +129,26 @@ class LoRaCloudIntegrationForm extends Component<IProps, IState> {
|
||||
<Switch onChange={this.onModemEnabledChange} />
|
||||
</Form.Item>
|
||||
{this.state.modemEnabled && (
|
||||
<Form.Item
|
||||
label="GNSS port (FPort)"
|
||||
name={["modemGeolocationServices", "gnssPort"]}
|
||||
tooltip="ChirpStack will only forward the FRMPayload for GNSS geolocation to LoRa Cloud when the uplink matches the configured port."
|
||||
rules={[{ required: true, message: "Please enter a port number!" }]}
|
||||
>
|
||||
<InputNumber min={0} max={255} />
|
||||
</Form.Item>
|
||||
)}
|
||||
{this.state.modemEnabled && (
|
||||
<Form.Item
|
||||
label="Modem port (FPort)"
|
||||
name={["modemGeolocationServices", "modemPort"]}
|
||||
tooltip="ChirpStack will only forward the FRMPayload to LoRa Cloud when the uplink matches the configured port."
|
||||
rules={[{ required: true, message: "Please enter a port number!" }]}
|
||||
>
|
||||
<InputNumber min={0} max={255} />
|
||||
</Form.Item>
|
||||
<Form.List name={["modemGeolocationServices", "forwardFPortsList"]}>
|
||||
{(fields, { add, remove }) => (
|
||||
<Form.Item label="Forward messages on these FPorts to LoRa Cloud">
|
||||
{fields.map((field, index) => (
|
||||
<Form.Item
|
||||
{...field}
|
||||
rules={[{ required: true, message: "Please a FPort value!" }]}
|
||||
style={{ display: "inline-block", width: "100px", marginRight: "24px" }}
|
||||
>
|
||||
<InputNumber
|
||||
min={1}
|
||||
max={255}
|
||||
addonAfter={<MinusCircleOutlined onClick={() => remove(index)} />}
|
||||
/>
|
||||
</Form.Item>
|
||||
))}
|
||||
<Button type="dashed" onClick={() => add()} icon={<PlusOutlined />} />
|
||||
</Form.Item>
|
||||
)}
|
||||
</Form.List>
|
||||
)}
|
||||
{this.state.modemEnabled && (
|
||||
<Form.Item
|
||||
|
Loading…
x
Reference in New Issue
Block a user