wiliot-certificate 1.5.2a1__py3-none-any.whl → 4.4.0a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. brg_certificate/ag/energous_v0_defines.py +3 -3
  2. brg_certificate/ag/energous_v1_defines.py +3 -3
  3. brg_certificate/ag/energous_v2_defines.py +3 -3
  4. brg_certificate/ag/energous_v3_defines.py +3 -3
  5. brg_certificate/ag/energous_v4_defines.py +3 -3
  6. brg_certificate/ag/fanstel_lan_v0_defines.py +3 -3
  7. brg_certificate/ag/fanstel_lte_v0_defines.py +3 -3
  8. brg_certificate/ag/fanstel_wifi_v0_defines.py +3 -3
  9. brg_certificate/ag/minew_lte_v0_defines.py +3 -3
  10. brg_certificate/ag/wlt_types.html +3 -3
  11. brg_certificate/ag/wlt_types_ag.py +8 -8
  12. brg_certificate/cert_common.py +61 -11
  13. brg_certificate/cert_config.py +12 -7
  14. brg_certificate/cert_utils.py +3 -1
  15. brg_certificate/certificate_bcc_test_list.txt +2 -2
  16. brg_certificate/certificate_test_list.txt +4 -4
  17. brg_certificate/tests/calibration/interval_test/interval_test.py +7 -6
  18. brg_certificate/tests/calibration/output_power_test/output_power_test.py +7 -6
  19. brg_certificate/tests/calibration/pattern_test/pattern_test.py +20 -10
  20. brg_certificate/tests/datapath/aging_test/aging_test.py +11 -9
  21. brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +11 -13
  22. brg_certificate/tests/datapath/output_power_test/output_power_test.py +7 -5
  23. brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +13 -8
  24. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +11 -4
  25. brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +12 -10
  26. brg_certificate/tests/datapath/pattern_test/pattern_test.py +7 -6
  27. brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +12 -9
  28. brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +13 -10
  29. brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +13 -11
  30. brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +13 -11
  31. brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +7 -7
  32. brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +34 -35
  33. brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +41 -44
  34. brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +1 -2
  35. brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +7 -9
  36. brg_certificate/tests/datapath/stress_test/stress_test.json +1 -2
  37. brg_certificate/tests/datapath/stress_test/stress_test.py +8 -10
  38. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +1 -1
  39. brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +14 -11
  40. brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +15 -13
  41. brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +1 -1
  42. brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +2 -2
  43. brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +7 -5
  44. brg_certificate/tests/energy2400/output_power_test/output_power_test.py +7 -5
  45. brg_certificate/tests/energy2400/pattern_test/pattern_test.py +7 -5
  46. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +2 -2
  47. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +256 -278
  48. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +2 -2
  49. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +256 -278
  50. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +3 -3
  51. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +30 -91
  52. brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +7 -6
  53. brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +7 -5
  54. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +2 -2
  55. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +7 -6
  56. brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +2 -2
  57. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +8 -7
  58. gw_certificate/api_if/gw_capabilities.py +37 -1
  59. gw_certificate/common/serialization_formatter.py +80 -0
  60. gw_certificate/common/wltPb_pb2.py +50 -38
  61. gw_certificate/common/wltPb_pb2.pyi +42 -35
  62. gw_certificate/gw_certificate.py +4 -2
  63. gw_certificate/gw_certificate_cli.py +5 -4
  64. gw_certificate/interface/4.4.88_app.zip +0 -0
  65. gw_certificate/interface/{4.4.52_sd_bl_app.zip → 4.4.88_sd_bl_app.zip} +0 -0
  66. gw_certificate/interface/ble_simulator.py +5 -3
  67. gw_certificate/interface/mqtt.py +39 -23
  68. gw_certificate/interface/pkt_generator.py +0 -44
  69. gw_certificate/interface/uart_if.py +25 -12
  70. gw_certificate/tests/actions.py +33 -5
  71. gw_certificate/tests/connection.py +3 -1
  72. gw_certificate/tests/generic.py +1 -1
  73. gw_certificate/tests/registration.py +4 -4
  74. gw_certificate/tests/static/generated_packet_table.py +47 -25
  75. gw_certificate/tests/static/packet_table.csv +10067 -10051
  76. gw_certificate/tests/static/uplink_defines.py +1 -0
  77. gw_certificate/tests/throughput.py +2 -1
  78. gw_certificate/tests/uplink.py +142 -22
  79. {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/METADATA +1 -1
  80. {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/RECORD +84 -83
  81. gw_certificate/interface/4.4.52_app.zip +0 -0
  82. {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/WHEEL +0 -0
  83. {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/entry_points.txt +0 -0
  84. {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/licenses/LICENSE +0 -0
  85. {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0a1.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,7 @@ from gw_certificate.interface.if_defines import *
2
2
  from gw_certificate.ag.ut_defines import *
3
3
 
4
4
  RECEIVED = 'received'
5
+ SHOULD_RECEIVE = 'shouldReceive'
5
6
  SHARED_COLUMNS = [PAYLOAD]
6
7
  INT64_COLUMNS = [RSSI]
7
8
  OBJECT_COLUMNS = [PAYLOAD]
@@ -134,6 +134,7 @@ class StressTestStage(GenericStressStage):
134
134
  run_data = self.run_stress_data.data
135
135
  end_time = datetime.datetime.now() + datetime.timedelta(seconds=TIME_PER_DELAY_FIRST if delay == STRESS_DEFAULT_DELAYS[0] else TIME_PER_DELAY)
136
136
  last_sent_time = time.perf_counter_ns()
137
+ debug_print('Advertising packets...')
137
138
  for index, row in run_data.iterrows():
138
139
  if datetime.datetime.now() > end_time:
139
140
  debug_print(f"Timeout for PPS rate {int(ONE_SECOND_MS / delay)} reached")
@@ -142,7 +143,7 @@ class StressTestStage(GenericStressStage):
142
143
  self.local_pkts.append(row[PAYLOAD])
143
144
  while True:
144
145
  if time.perf_counter_ns() - last_sent_time >= delay * 10**6:
145
- self.ble_sim.send_packet(data, duplicates=self.duplicates, delay=0)
146
+ self.ble_sim.send_packet(data, duplicates=self.duplicates, delay=0, print_for_debug=False)
146
147
  last_sent_time = time.perf_counter_ns()
147
148
  break
148
149
  self.ts_records_arr[delay_idx].set_adv_timestamp_current(data)
@@ -14,16 +14,18 @@ from gw_certificate.interface.if_defines import DEFAULT_DELAY, LOCATION
14
14
  from gw_certificate.tests.static.uplink_defines import *
15
15
  from gw_certificate.interface.mqtt import MqttClient, Serialization
16
16
  from gw_certificate.interface.pkt_generator import BrgPktGenerator, apply_adva_bitmask
17
- from gw_certificate.tests.static.generated_packet_table import UnifiedRunData, SensorRunData, MgmtRunData, PacketTableHelper
17
+ from gw_certificate.tests.static.generated_packet_table import UnifiedRunData, SensorRunData, MgmtRunData, PacketTableHelper, ACLRunData
18
18
  from gw_certificate.tests.generic import PassCriteria, PERFECT_SCORE, MINIMUM_SCORE, GenericTest, GenericStage, ERR_SUMMARY_DEFAULT
19
19
  from gw_certificate.api_if.api_validation import MESSAGE_TYPES, validate_message
20
20
  from gw_certificate.tests.static.generated_packet_table import CSV_NAME
21
+ from gw_certificate.common.serialization_formatter import ACL_MODE, ACL_BRIDGE_IDS, SerializationFormatter, Configurable, ACL_ALLOW, ACL_DENY
21
22
 
22
23
 
23
24
  # HELPER DEFINES
24
25
  TABLE_SUFFIX = "Table"
25
26
  ERR_SUM_MISSING_PKTS = "Insufficient amount of packets were scanned & uploaded by the gateway. "
26
27
  ERR_SUM_ONLY_1E = "Packets with length != '1E' were not uploaded. "
28
+ ACL_MODE_COUNT = 2
27
29
 
28
30
  # HELPER FUNCTIONS
29
31
  def process_payload(packet:dict):
@@ -548,22 +550,8 @@ class AliasBridgeIDStage(GenericUplinkStage):
548
550
  all_payloads = uplink_tests_df[PAYLOAD]
549
551
  self.all_test_payloads = all_payloads.tolist()
550
552
 
551
- def _parser(row, desired:Literal['adva', 'without_adva']):
552
- if desired == 'adva':
553
- output_string = row.at[ADVA_PAYLOAD][:12]
554
- elif desired == 'without_adva':
555
- output_string = row.at[ADVA_PAYLOAD][12:]
556
- else:
557
- raise ValueError
558
- return output_string
559
-
560
553
  # Create data set for alias bridge verification
561
- alias_bridge_id_df = uplink_tests_df.copy()
562
- # Take the adva from the payload
563
- alias_bridge_id_df['alias_bridge_id'] = alias_bridge_id_df['adva']
564
- # Convert bridge_id to little endian
565
- alias_bridge_id_df['alias_bridge_id'] = alias_bridge_id_df['alias_bridge_id'].apply(lambda x: ''.join(format(byte, '02X') for byte in bytes.fromhex(x)[::-1]))
566
- self.alias_bridge_id_df = alias_bridge_id_df
554
+ self.alias_bridge_id_df = uplink_tests_df.copy()
567
555
 
568
556
  def generate_stage_report(self, **kwargs):
569
557
  report = []
@@ -581,6 +569,9 @@ class AliasBridgeIDStage(GenericUplinkStage):
581
569
  filtered_pkts.append(pkt)
582
570
  message['packets'] = filtered_pkts
583
571
 
572
+ def swap_endianness(hex_str: str) -> str:
573
+ return ''.join(format(b, '02X') for b in bytes.fromhex(hex_str)[::-1])
574
+
584
575
  def is_alias_bridge_id_valid(message):
585
576
  nonlocal aliasBridgeId_valid
586
577
  packets = message['packets']
@@ -593,9 +584,10 @@ class AliasBridgeIDStage(GenericUplinkStage):
593
584
  if len(validation_data) != 1:
594
585
  debug_print(f"validation_data unexpected len:{len(validation_data)}, for payload:{pkt_payload}")
595
586
  return
596
- required_bridge_id = validation_data.iloc[0]['alias_bridge_id']
597
- if required_bridge_id != pkt_alias_bridge_id.upper():
598
- report.append(f"Alias bridge ID of the packet does not match. The required alias bridge ID is {required_bridge_id} but the packet alias bridge ID is {pkt_alias_bridge_id}")
587
+ expected_bridge_id = validation_data.iloc[0]['adva']
588
+ expected_bridge_ids = [expected_bridge_id, swap_endianness(expected_bridge_id)]
589
+ if pkt_alias_bridge_id.upper() not in expected_bridge_ids:
590
+ report.append(f"Alias bridge ID of the packet does not match. Expected alias bridge IDs:{expected_bridge_ids} but the packet alias bridge ID is {pkt_alias_bridge_id}")
599
591
  self.stage_pass = MINIMUM_SCORE
600
592
  self.error_summary = "aliasBridgeId doesn't match the expected one of a packet. "
601
593
  aliasBridgeId_valid = False
@@ -678,11 +670,137 @@ class GeolocationStage(GenericUplinkStage):
678
670
  stage_report=self.report.split('\n'), graph = graph_div)
679
671
  return self.report
680
672
 
673
+ class ACLStage(GenericUplinkStage):
674
+ def __init__(self, **kwargs):
675
+ self.stage_tooltip = "Tests the Access Control List capability of a gateway. Simulates packets from two bridges, with different ACL configurations"
676
+ self.__dict__.update(kwargs)
677
+ super().__init__(**self.__dict__, stage_name=type(self).__name__)
678
+ self.pass_min = 60
679
+ self.inconclusive_min = 50
680
+ self.run_data = ACLRunData().data
681
+
682
+ @property
683
+ def acl_modes(self):
684
+ return [ACL_ALLOW, ACL_DENY]
685
+
686
+ def run(self):
687
+ super().run()
688
+
689
+ def advertise_packets(pkts_group, adv_count, acl_brg_ids, mode):
690
+ acl_dict = {ACL_MODE: mode, ACL_BRIDGE_IDS: acl_brg_ids}
691
+
692
+ # Calculate row indices we want to advertise
693
+ df_packets_count = len(self.run_data) // adv_count
694
+ start_idx = df_packets_count * pkts_group
695
+ end_idx = df_packets_count * (pkts_group + 1)
696
+
697
+ for index, row in self.run_data.iloc[start_idx:end_idx].iterrows():
698
+ if mode == ACL_ALLOW:
699
+ should_be_received = row['bridge_id'] in acl_brg_ids
700
+ else:
701
+ should_be_received = row['bridge_id'] not in acl_brg_ids
702
+ data = row[ADVA_PAYLOAD]
703
+ self.local_pkts.append((row[PAYLOAD], row['duplication'], row['time_delay'], row['adva'], acl_dict, should_be_received))
704
+ self.ble_sim.send_packet(raw_packet=data, duplicates=row['duplication'], delay=row['time_delay'])
705
+ self.ts_records.set_adv_timestamp_current(data)
706
+
707
+ def configure_acl(mode, bridgeIds):
708
+ acl_dict = {ACL_MODE: mode, ACL_BRIDGE_IDS: bridgeIds}
709
+ ser_format = SerializationFormatter(self.mqttc.get_serialization())
710
+ payload = ser_format.cfg_param_set(self.cfg_data.status_msg_get(), Configurable.ACL.value, acl_dict)
711
+ self.mqttc.flush_messages_topic('status')
712
+ self.mqttc.send_payload(payload)
713
+ time.sleep(5 if self.aggregation_time == 0 else self.aggregation_time)
714
+ debug_print('Status message received from gw:')
715
+ debug_print(self.mqttc.get_status_message())
716
+
717
+ # Configuring each bridge in ACL, once for each mode
718
+ brg_ids = self.run_data['bridge_id'].unique().tolist()
719
+ cfg_and_adv_loops = len(brg_ids) * len(self.acl_modes)
720
+ i = 0
721
+ for brg_id in brg_ids:
722
+ acl_brg_ids = [brg_id]
723
+ for mode in self.acl_modes:
724
+ configure_acl(mode, acl_brg_ids)
725
+ time.sleep(5 if self.aggregation_time == 0 else self.aggregation_time)
726
+ advertise_packets(i, cfg_and_adv_loops, acl_brg_ids, mode)
727
+ time.sleep(5 if self.aggregation_time == 0 else self.aggregation_time)
728
+ i += 1
729
+
730
+ configure_acl(ACL_DENY, [])
731
+ time.sleep(5)
732
+
733
+ def compare_local_mqtt(self):
734
+ self.fetch_mqtt_from_stage()
735
+ local_pkts_df = pd.DataFrame(self.local_pkts, columns=[PAYLOAD, 'duplication', 'time_delay', 'aliasBridgeId', 'ACL', SHOULD_RECEIVE])
736
+ mqtt_pkts_df = pd.DataFrame(self.mqtt_pkts)
737
+ comparison = local_pkts_df
738
+
739
+ if PAYLOAD not in mqtt_pkts_df.columns:
740
+ mqtt_pkts_df[PAYLOAD] = ''
741
+ received_pkts_df = pd.merge(local_pkts_df[PAYLOAD], mqtt_pkts_df[PAYLOAD], how='inner')
742
+
743
+ received_pkts = set(received_pkts_df[PAYLOAD])
744
+
745
+ self.pkts_received_count = pd.Series.count(received_pkts_df)
746
+ unique_received_count = len(received_pkts)
747
+ self.pkts_filtered_out_count = self.pkts_received_count - unique_received_count
748
+
749
+ comparison[RECEIVED] = comparison[PAYLOAD].isin(received_pkts)
750
+ self.comparison = comparison
751
+
752
+ def generate_stage_report(self):
753
+ self.compare_local_mqtt()
754
+ self.ts_records.validate_timestamps(self.mqtt_pkts)
755
+ self.add_report_header()
756
+
757
+ num_pkts_sent = len(self.comparison)
758
+ num_pkts_received = self.comparison[RECEIVED].eq(True).sum()
759
+ num_pkts_should_received = self.comparison[SHOULD_RECEIVE].eq(True).sum()
760
+ num_pkts_should_discard = self.comparison[SHOULD_RECEIVE].eq(False).sum()
761
+ num_pkts_discarded_correctly = (self.comparison[SHOULD_RECEIVE].eq(False) & self.comparison[RECEIVED].eq(False)).sum()
762
+ num_pkts_received_falsly = (self.comparison[SHOULD_RECEIVE].eq(False) & self.comparison[RECEIVED].eq(True)).sum()
763
+ self.add_to_stage_report(f"Total packets advertised: {num_pkts_sent}")
764
+ self.add_to_stage_report(f"Packets received / should've received: {num_pkts_received} / {num_pkts_should_received}")
765
+ self.add_to_stage_report(f"Packets discarded / should've discarded: {num_pkts_discarded_correctly} / {num_pkts_should_discard}")
766
+ self.add_to_stage_report(f"False positives (failed to discard): {num_pkts_received_falsly}")
767
+
768
+ if num_pkts_received_falsly > 0:
769
+ self.stage_pass = MINIMUM_SCORE
770
+ self.error_summary = "Received packet/s that should've been discarded"
771
+ for index, row in self.comparison.iterrows():
772
+ if row[RECEIVED] == True and row[SHOULD_RECEIVE] == False:
773
+ self.add_to_stage_report(f"Payload from bridge {row['aliasBridgeId']} should have been filtered out: {row[PAYLOAD]}")
774
+ elif num_pkts_received == 0:
775
+ self.stage_pass = MINIMUM_SCORE
776
+ self.error_summary = "No packets received"
777
+ debug_print(f"No packets were received")
778
+ else:
779
+ self.stage_pass = num_pkts_received / num_pkts_should_received * PERFECT_SCORE
780
+ if self.stage_pass < self.pass_min:
781
+ self.add_to_stage_report(ERR_SUM_MISSING_PKTS)
782
+ self.error_summary = ERR_SUM_MISSING_PKTS
783
+
784
+ if num_pkts_received > 0:
785
+ self.add_report_topic_validation('data')
786
+
787
+ self.ts_records.add_ts_errs_to_report(self)
788
+
789
+ self.comparison.to_csv(self.csv_path)
790
+ self.add_report_line_separator()
791
+ self.add_to_stage_report(f'Stage data saved - {self.csv_path}')
792
+ debug_print(self.report)
793
+
794
+ # Generate HTML
795
+ self.report_html = self.template_engine.render_template('stage.html', stage=self,
796
+ stage_report=self.report.split('\n'))
797
+
798
+ return self.report
681
799
 
682
800
  # TEST CLASS
683
- TX_STAGES = [ManagementPacketStage, DataPacketStage, SensorPacketStage]
801
+ TX_STAGES = [ManagementPacketStage, DataPacketStage, SensorPacketStage, ACLStage]
684
802
  UNCOUPLED_STAGES = [ManagementPacketStage, DataPacketStage, SensorPacketStage,
685
- SequentialSequenceIdStage, AliasBridgeIDStage, GeolocationStage]
803
+ SequentialSequenceIdStage, GeolocationStage]
686
804
 
687
805
  class UplinkTest(GenericTest):
688
806
  def __init__(self, **kwargs):
@@ -695,7 +813,9 @@ class UplinkTest(GenericTest):
695
813
  super().prepare_test()
696
814
  stages = UNCOUPLED_STAGES
697
815
  if self.mqttc.get_serialization() == Serialization.JSON:
698
- stages = stages + [ApiValidationStage]
816
+ stages.append(ApiValidationStage)
817
+ if self.cfg_data.is_acl_supported():
818
+ stages.append(ACLStage)
699
819
  # if self.gw_capabilities.geoLocationSupport:
700
820
  # stages.append(GeolocationStage)
701
821
  self.stages = [stage(**self.__dict__) for stage in stages]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wiliot_certificate
3
- Version: 1.5.2a1
3
+ Version: 4.4.0a1
4
4
  Summary: A library for certifying Wiliot-compliant boards
5
5
  Author-email: Wiliot <support@wiliot.com>
6
6
  License: MIT License
@@ -1,8 +1,8 @@
1
1
  brg_certificate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  brg_certificate/brg_certificate.py,sha256=3Kz18fiY5lg3WyasmAsYQIllfI_ZnsDxCW7BBzJpoyY,9592
3
3
  brg_certificate/brg_certificate_cli.py,sha256=THSKJM8ONsNfFaG5tb-xdEJmNSTbpyIcmYjDlDVu1-k,3997
4
- brg_certificate/cert_common.py,sha256=xzMEMINkVaZZre61X2uPGXW0uJnv-8CfrxSiZm0481c,39996
5
- brg_certificate/cert_config.py,sha256=6Fl1QMyuwqfPDe5l04tlz7FUJFkvpQqFAKRgeBnemNg,19815
4
+ brg_certificate/cert_common.py,sha256=XkW2NiU5Dthds-GqbDS4DvBPQNeb6h1Cn7Umhb2exHQ,42202
5
+ brg_certificate/cert_config.py,sha256=hmnCT0bfPRsu_nHwXoGqGIjuvoGrJQMC2D1HdkX0aXE,20119
6
6
  brg_certificate/cert_data_sim.py,sha256=Zw21ElvM5lYRtsXSDzi0GdYQLnxl3CYsRjABVJYNW_Q,10235
7
7
  brg_certificate/cert_defines.py,sha256=N2eaOxFOgpSvvVWm2TcG1JgDKxLs6DESKGwYQGabl4w,18617
8
8
  brg_certificate/cert_gw_sim.py,sha256=MWxNKNCVqQEyDKc66VhGz1_KsOczvn0sjaSyvYH15FM,13243
@@ -10,27 +10,27 @@ brg_certificate/cert_mqtt.py,sha256=dcAOsULShN9VmppT150wNwbPRjIdutLnTGlb_MfWpXk,
10
10
  brg_certificate/cert_prints.py,sha256=s0u0Omnq1aruo0CkS_7p4hqpD-fSRx7ih9vJ4x9cbcU,7045
11
11
  brg_certificate/cert_protobuf.py,sha256=1jiPIYBFkA21iClxn2fC3GEQzdh7wLB01pdddwXMX-g,3542
12
12
  brg_certificate/cert_results.py,sha256=GU4oQf1NBrehhaQRPrOuv3ts3RUIzxitaCpxKxNJRu0,20870
13
- brg_certificate/cert_utils.py,sha256=MMlm0EWLGUABy-SF6KJo55okM49YWzGdwzEgqt8mGlM,16379
13
+ brg_certificate/cert_utils.py,sha256=zFQFNxNOi5AH92JgWknZv9NZN-sz-G-dh7sOzz_SRgw,16550
14
14
  brg_certificate/certificate_bcc_sanity_test_list.txt,sha256=SURuNOLuIO7xzh5KnMBYYzwMjZlcLqGaPLwBdqxCKbc,2281
15
- brg_certificate/certificate_bcc_test_list.txt,sha256=8PiBFiKOROUZLNdoRs1j_7RwpX0-af9N5sv3i7iioE0,3625
15
+ brg_certificate/certificate_bcc_test_list.txt,sha256=PI2mU-1iQNq7bgitjVr1ERPYCS-bWRJC7bHLBaPFRf0,3624
16
16
  brg_certificate/certificate_sanity_test_list.txt,sha256=Egv00zGNAWdFhzO4T1oUkmeLOSG35aHNfXSxH6DRd9g,2291
17
- brg_certificate/certificate_test_list.txt,sha256=3ioq7mQtnyK4ou5U3GjnxnW6B9Qg3mVBRwJRURCkpJc,3728
17
+ brg_certificate/certificate_test_list.txt,sha256=RnQkzEWrF_RJlDL0E75mwnboKsJUNCX8uAMZs6AOL1M,3624
18
18
  brg_certificate/restore_brg.py,sha256=rPV-Foa-mPHUSTdJq_LDNuoL6orMyevbulzRIW4GIHs,2341
19
19
  brg_certificate/wltPb_pb2.py,sha256=sZKS4n3oz4EP4gLfzDvYiameKEZ6bHd9DmpARljZFG8,8686
20
20
  brg_certificate/wltPb_pb2.pyi,sha256=sqsG_kjSix0qytU7qk06waTAJ8rhdHvK832zTC9sG-o,11445
21
21
  brg_certificate/wlt_types.py,sha256=7pWm-56wDkq7HoMheBdvjUwbDS8suYTz13aEeAgIc6w,5166
22
- brg_certificate/ag/energous_v0_defines.py,sha256=Y8rjaGb4yvjSB16wLckFCxfDDlowlbgpr7mu198ym1E,64401
23
- brg_certificate/ag/energous_v1_defines.py,sha256=KMKvC0x1vVy-pgBMS0IBMnlnn6KWvihNf4VkGF48j94,64611
24
- brg_certificate/ag/energous_v2_defines.py,sha256=Y8rjaGb4yvjSB16wLckFCxfDDlowlbgpr7mu198ym1E,64401
25
- brg_certificate/ag/energous_v3_defines.py,sha256=Y8rjaGb4yvjSB16wLckFCxfDDlowlbgpr7mu198ym1E,64401
26
- brg_certificate/ag/energous_v4_defines.py,sha256=Y8rjaGb4yvjSB16wLckFCxfDDlowlbgpr7mu198ym1E,64401
27
- brg_certificate/ag/fanstel_lan_v0_defines.py,sha256=cnY1e4WjV1Suy7rrHtxSugg6nAgzxfRXifqprT8ZbNU,64368
28
- brg_certificate/ag/fanstel_lte_v0_defines.py,sha256=cnY1e4WjV1Suy7rrHtxSugg6nAgzxfRXifqprT8ZbNU,64368
29
- brg_certificate/ag/fanstel_wifi_v0_defines.py,sha256=cnY1e4WjV1Suy7rrHtxSugg6nAgzxfRXifqprT8ZbNU,64368
30
- brg_certificate/ag/minew_lte_v0_defines.py,sha256=cnY1e4WjV1Suy7rrHtxSugg6nAgzxfRXifqprT8ZbNU,64368
22
+ brg_certificate/ag/energous_v0_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
23
+ brg_certificate/ag/energous_v1_defines.py,sha256=vIOy1wMmN4k90TEJ1oiDRGDDB52WTWT3j2GyRFTanzU,64563
24
+ brg_certificate/ag/energous_v2_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
25
+ brg_certificate/ag/energous_v3_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
26
+ brg_certificate/ag/energous_v4_defines.py,sha256=3VEpuhPee2jLJ9cGuLBNuk_zs2ExHorWor7fhkRTIyk,64353
27
+ brg_certificate/ag/fanstel_lan_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
28
+ brg_certificate/ag/fanstel_lte_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
29
+ brg_certificate/ag/fanstel_wifi_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
30
+ brg_certificate/ag/minew_lte_v0_defines.py,sha256=NW3lMzSN35XZ_IGby6MqChaQiiGUEV9hxk6jVSh5Qzo,64320
31
31
  brg_certificate/ag/wlt_cmd_if.html,sha256=qfwLhXB1zhOL1qVQs591B80FB0mbOeixHUNsNsdMNW4,14424
32
- brg_certificate/ag/wlt_types.html,sha256=sgOJvE4FcSiyLUKy6ZKtKMbjfq1JmzVNHW3pMja1UBM,370291
33
- brg_certificate/ag/wlt_types_ag.py,sha256=7ZWoTMORHqZ99GphRmnnQMZnTDbDoafL0hKvWZMBiaA,444848
32
+ brg_certificate/ag/wlt_types.html,sha256=jWcZIJO8JXaCPu-eLxph7arwurcZSdpG7Vh-RStaTmA,370312
33
+ brg_certificate/ag/wlt_types_ag.py,sha256=DRXm3C28UF316hou81f7dXGx0ZMc7S_d0IqURSL-pz0,444530
34
34
  brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json,sha256=Om8e0fpItgKegZxHJO1cumEy8Th-DfJ6Zkb_bI0zSwk,3133
35
35
  brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json,sha256=2qlRlwMPh1I9lrhtH4zFzMxS8axcJ8Ml1nDgqvmdSKU,17993
36
36
  brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json,sha256=WM0ziHGpucYRwTAB_zPp5EcmT19bmXvldEUfoZGOOoY,3005
@@ -52,90 +52,90 @@ brg_certificate/config/mosquitto.json,sha256=Wd8Fj36GcZNdIKpXZQzx3wb8EmnTBDmOx1k
52
52
  brg_certificate/config/mosquitto.md,sha256=xU7q2-FpYYwxd6xE-6cl6j_ywc3120ZZnGG1ofl9peY,2494
53
53
  brg_certificate/config/wiliot-dev.json,sha256=J6O70nIJYk_qcnw6Hxf9TaKxcaG72p_dqAUpbbeCsCQ,288
54
54
  brg_certificate/tests/calibration/interval_test/interval_test.json,sha256=g2nHKXAcefdWGfY08mH86OkhjyD_9vur3k6phZd_0M0,594
55
- brg_certificate/tests/calibration/interval_test/interval_test.py,sha256=T_3fTGT94dI87uPRQstqRSCUMDcakcrKaNILt_XXmgw,1075
55
+ brg_certificate/tests/calibration/interval_test/interval_test.py,sha256=drnJtV9DjAPNHQD4sGjrK_kViEuq0myf9EWGXf1j7tI,1189
56
56
  brg_certificate/tests/calibration/output_power_test/output_power_test.json,sha256=QWt6Ovhe5Z11LYWkxIyfPqEAKvKceyHikCHsstqUzQw,690
57
- brg_certificate/tests/calibration/output_power_test/output_power_test.py,sha256=DT_C8B8hVvRZVfYHJAxp9s_NmWXeBK742wR6_yI-RVM,1051
57
+ brg_certificate/tests/calibration/output_power_test/output_power_test.py,sha256=9rtTujxDZmWVaGFBsZPgljYbtD8e3sf_ghlWw_Ds5iM,1165
58
58
  brg_certificate/tests/calibration/pattern_test/pattern_test.json,sha256=tjSUT52au2jRDYEORLgYy_45PXXyYKaT4b33xbs0P0k,1021
59
- brg_certificate/tests/calibration/pattern_test/pattern_test.py,sha256=iAUyNWKVNOrwy2PpMARa_tkPXI7J5CFbjewTwRnfHQs,3835
59
+ brg_certificate/tests/calibration/pattern_test/pattern_test.py,sha256=bel_CEM4FfNMiLR4jnBa20MzabHtvLdk1iYs8qrSYZk,4407
60
60
  brg_certificate/tests/datapath/aging_test/aging_test.json,sha256=J-cqOVxqtcbq5DEvkUnfhvyshpbm2sfyoD6UUmvx3bk,900
61
- brg_certificate/tests/datapath/aging_test/aging_test.py,sha256=fDBFHZYegxhPOxVNjHqq-leFt16aB8mgryzXNEb_SB4,5958
61
+ brg_certificate/tests/datapath/aging_test/aging_test.py,sha256=KeAhqJ7xGILmSLPu9fi7dZ_Ncuql7060tcPdwNfBF-Y,5993
62
62
  brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json,sha256=J3FYtqCwyjoqMnxu7ZHKF9McQAxUvWHSop8jRTkuPj0,829
63
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py,sha256=lpzY9S4vmyk7qhi1d8ifidfKkiV-CmMqrZYHyTFEcT4,3561
63
+ brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py,sha256=f4sY41w_XNTZlbJKW2yhYyB3UFXtvnkTxnkYS64ACJg,3477
64
64
  brg_certificate/tests/datapath/output_power_test/output_power_test.json,sha256=4Hgbl8VSC2NhWZrhikzNd6Zg8_DiKag1_Zo6ykFDwKA,696
65
- brg_certificate/tests/datapath/output_power_test/output_power_test.py,sha256=mwBW-PTzXSXGBII_L3cukDGT8FiYlXVZv1Ajyd-yYlU,1057
65
+ brg_certificate/tests/datapath/output_power_test/output_power_test.py,sha256=1R0RSTZGKE6VdCWZbWKtzYkw8dkHbzKSxe6KWRDB4_M,1172
66
66
  brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json,sha256=ccPge-tSA0kyMOPlMIa41Y8RoMAQfSj_-qdQZ4LQYy4,947
67
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py,sha256=hS-BFKVlzvWr98wR4DEJtvARzfmkjSGSQkdOmVwfXA8,2344
67
+ brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py,sha256=Ie-DrlzHbgR1aaZVyPmhS5saosGMV8d3HoFhsspAga4,2652
68
68
  brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json,sha256=TrMceZ6FV5g7tQdLRdWLBmuJjUH-HuBv8qYOD22tzBo,905
69
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py,sha256=iONp-8YzsqfJUl6jKlCkHjaRYVzDw2J_3AVFDH_Z9O8,3658
69
+ brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py,sha256=dKRe0tKOeRCm_AhSxHLMV1zMvdq8qAJYYPJDtrdJffo,3956
70
70
  brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json,sha256=3OLVPgHuu6y_hMnxPgu2FwW6D_rJIzNyPYXsznFOFUo,921
71
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py,sha256=13bcfoXvW0egnNi4vECMlKegsBiIv9If8u6WjiqFCIY,2436
71
+ brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py,sha256=doRFWUYxSezc03ghZ49Ut6Kft3wujrNkCumnKsslR3w,2646
72
72
  brg_certificate/tests/datapath/pattern_test/pattern_test.json,sha256=_X6l1PiFwqpSSQfCfKPSbre-LLdh_7QltKcsJfSW32Q,758
73
- brg_certificate/tests/datapath/pattern_test/pattern_test.py,sha256=dKLZKpOBbOLuywTRpKeraez1hzJO1MHQBOwTMVVKqvE,1074
73
+ brg_certificate/tests/datapath/pattern_test/pattern_test.py,sha256=hga1ZJaYtFY13FRjmnpTIiVTPX1hx-uSB4rM8W0B6j4,1188
74
74
  brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json,sha256=rZdWwMHIrKzPw9dcgtwrQpILRTQDbgMwLAoLhu3c-Zg,1202
75
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py,sha256=GVdFH6VW3ZTHfezw9Q7RF-YmvWWY066NT61EBwXi5Fk,2950
75
+ brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py,sha256=0m-PDesxO70Ii7jr1TnsoEQhH6u8zEmjSy7bX9t5myU,3165
76
76
  brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json,sha256=VWvLhVLMKP1aTtYjn6bXe_eSGDZ-bbto1AsvyQUp6e8,1156
77
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py,sha256=W2buaO_R5hIcBuq7xxAW5xEz8eP0QkaSYcMqVdmBsfA,2975
77
+ brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py,sha256=rneXsHLWmPk10bUXkKNtTA1VLBgc3DoSWlTcGlcqLtw,3157
78
78
  brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json,sha256=7HmFCJnTWFzEDYKroXZrVDk54g6xn_UiYnAL2yOXMOo,1167
79
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py,sha256=GARANPeCg6END9QRYl2UIY3jhG5RGWLHDNnrGyK-y_Q,2955
79
+ brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py,sha256=Y2HuZ67vZo0AjGgcPf9bune2jl9KMJh3Pf3zB-_OpGE,3136
80
80
  brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json,sha256=WJicb8op-0dS-qhbWGpxyjzpUdSYfycgYbFUN_ahItA,737
81
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py,sha256=DCFE2MlnGVxuBlvdHPJtW-b9FkDbP81jctyT01VeLJM,3002
81
+ brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py,sha256=KNLwj5eYjIYKJsQo9z9fj75_oO4jmN_yPIBel3WBJKA,3263
82
82
  brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json,sha256=vn9NJZq-zPxlGyX2lQU3uGSinwyCgQHkjuAZlwGBZkY,765
83
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py,sha256=dNgnVwLAAYWcgxKVGcwddVaFpVSJUWbg8YOXwpnvpMw,1687
83
+ brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py,sha256=_jINDia8_nXPvBLzFyVGBtFeB8iO8TnxyAWnI8h0VJA,1790
84
84
  brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json,sha256=bYp_P_r8XgFDyUv1on5jL8Tp-04RhnnGJp2qOJhd4Tk,1395
85
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py,sha256=UjanfhGpUv04c7IeZCagecLIQp-aYMefjE-FHv3dJzA,10593
85
+ brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py,sha256=8Fks8G2hBrBok8cxosbVyaB_BG6CPjgTfFEqOKhvrjk,10483
86
86
  brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json,sha256=qhVoafzoQx8oO4VSxFZDnqXFLI3r8I6IK6ZLWpGAgRY,1395
87
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py,sha256=QSR4PqYDdDAyy5YXf6YjdjSaluYV8EVEZUSlhnwGY0w,10673
88
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json,sha256=KblEwjaP2DjewyTGpwZrMl3ocji6UP0fDhQhuxdMvno,1548
89
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py,sha256=71YU2rfIAfuXm2JfKhLvDcIYLyPBmoxxhDDpHpQzWzU,10766
90
- brg_certificate/tests/datapath/stress_test/stress_test.json,sha256=lcb06DxCGrRq4X_1EzwgaXtyr6C7yyridOg9EraHW2c,1548
91
- brg_certificate/tests/datapath/stress_test/stress_test.py,sha256=gRobYu-CemJF8owQxDAZlFlyIpXKhi9IB_Ki4hVFWUw,10766
87
+ brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py,sha256=_UPF0K4593AwrR4coWkMlBpX9nMn4uEIeq9dgAF59lA,10483
88
+ brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json,sha256=G9TTL_mMWF5lGBG8G32mwFWHrG_9Qa_avroNF2Wice4,1378
89
+ brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py,sha256=a0o5LbF80_h2lx3U3PiKtJsbY-XzxGSfT1aSnJTS1-8,10588
90
+ brg_certificate/tests/datapath/stress_test/stress_test.json,sha256=Y_OwuUrdFFvnnFv6rlmR_t2AgqvhNgsPe5uxLOdyw2w,1378
91
+ brg_certificate/tests/datapath/stress_test/stress_test.py,sha256=9l-vu-27RDS7YM1O1SFIld2vPrc4naYbVV9fTByLay8,10649
92
92
  brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json,sha256=RLyxlEUQF24gMXLhsWLOd0jjUZ7KEOX1zSmO9DjVHa0,808
93
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py,sha256=f0oO3F_RMvdnCwgiOIojfUnYpKM1tl-XElOmWLTOxcs,4077
93
+ brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py,sha256=DxEPHS-ivLBwSxX07cYxnoVjB_DG1XPQrWeK4288hS4,4044
94
94
  brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json,sha256=tzkc4RRfUYUM926QpRYk3nrSwEfJFNmjXOeGTKRi4g0,968
95
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py,sha256=3Qs3sIqa7AnycE9wWgw_RPiKM1Ghkc7wxvnNl1fg4QI,3495
95
+ brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py,sha256=Z2mkajzJGUmiFOmSlhr0i4Ey2WyZ_6qa2CJYTvFLt00,3664
96
96
  brg_certificate/tests/edge_mgmt/actions_test/actions_test.json,sha256=Onsxqs4raXyq529PHJt3bPhX-tn7xTE6K_DhvOjNYHQ,714
97
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py,sha256=jCWmqw86r-MaDFFCUVL0-zISFIUEG60Y8K2KHmEHNbc,18939
97
+ brg_certificate/tests/edge_mgmt/actions_test/actions_test.py,sha256=mLuQt8w6vTf51csie_0ltpEroC6p6EKc2z2UUHfYlpM,18790
98
98
  brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json,sha256=lYdqQJtgQwVIK4_pUD_abCt4bSHSqFpJQ1lWLcx9Z9I,1268
99
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py,sha256=7EuuffHBLfd5aXEkrtZBgPEPTx1xXyt1SSrjkBEOPmQ,4433
99
+ brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py,sha256=kedRXAc8sgRnL2JRFNXaLNMqgykQlrSYTbbP_08WwzQ,4400
100
100
  brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json,sha256=lFLCF9RNZXYjmjeXOHTrasNAmsPF6uDXmfex93DrrSA,1158
101
101
  brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py,sha256=Yt-gRDubQNRH10lz-ne1Z1zeeuY29QMffiXSVOq5zc4,4026
102
102
  brg_certificate/tests/edge_mgmt/leds_test/leds_test.json,sha256=1cyg1z5wsUXTFAr-MLP6vGu6dyoZiqLUZ90YPfRaUxI,822
103
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py,sha256=542lbdC6VhIZwi3POm_qody_GDs6AmFigfMianIXZ70,12926
103
+ brg_certificate/tests/edge_mgmt/leds_test/leds_test.py,sha256=4HUTkykkP7FXXlWlh3VigcAEcWGSRLyEzE4gPKsoQiI,12862
104
104
  brg_certificate/tests/edge_mgmt/ota_test/ota_test.json,sha256=A-psNlYEFZ6f0KtdKtz3IgQUYksO7KajqclBSU4s9qA,670
105
105
  brg_certificate/tests/edge_mgmt/ota_test/ota_test.py,sha256=m3SlHdtEtbE0L8rclZ-0_z1RsJFm7lej9fxbrv76EXQ,5207
106
106
  brg_certificate/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json,sha256=As4vG-Tx4iOTF6KWrm-7ciipWh2x5aDbLYn_oN5OjGk,584
107
107
  brg_certificate/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py,sha256=VMGVYtzP2Ic1A5y56zQzLYwMxkJw3DU671ownzmj4rQ,1977
108
108
  brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json,sha256=qNqVWboeLvjEsmqpGqLPNl7qNdepoJcL9MnWSykatnQ,684
109
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py,sha256=-6xD62fea6YJiz-i5UzClOmlNsRxutOcxoduh0az6b0,1062
109
+ brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py,sha256=Q097Oy0JilDlNiYrr-ONIajVH7etXN3ujm5Bik4Cs4w,1177
110
110
  brg_certificate/tests/energy2400/output_power_test/output_power_test.json,sha256=452r2nrI4b5YCTemhQxhO2QYf-QEy5_N1xv5UHHQduY,699
111
- brg_certificate/tests/energy2400/output_power_test/output_power_test.py,sha256=7VecRCR7sz4-i9GEMU44yKum8_i2MRpjLNb1oG4lEOs,1065
111
+ brg_certificate/tests/energy2400/output_power_test/output_power_test.py,sha256=1361LNvb2h8BhkLfAXf-NhlcfFxapz9uGS9VdrA7btc,1180
112
112
  brg_certificate/tests/energy2400/pattern_test/pattern_test.json,sha256=xZLpZnDZDohZeG4_Sy1vx0MR-VHoKHAPWtFZdDSWSwI,866
113
- brg_certificate/tests/energy2400/pattern_test/pattern_test.py,sha256=tmi_7KEPq2JB9E0pRjTBF7XanhRwYuftJsnnPUKfkco,1083
114
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json,sha256=DeB9TLGtr-3OIwNRqCJCxPl_TP__7AMVacuNeF8GC4M,1409
115
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py,sha256=sw1YKCTW4Lr-z-LO5i2Zj3f1wnsLw2SPZlhZQDm5JH0,21178
116
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json,sha256=GJ9NJwcDTuH4FT0aDSQPYqtcUdlGsPvPga7J_UJUEJ0,1403
117
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py,sha256=12jPuCBitnCyMkGXKmjgsl64kza8v49kiUoWLugdqEk,21178
113
+ brg_certificate/tests/energy2400/pattern_test/pattern_test.py,sha256=9-UDAeoHW-zzO_o6sOUM63fmo7PcQbLv6RCEPuQVI2Q,1198
114
+ brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json,sha256=XeH-0GbMC4X_g5S8Or_9-DcIic2E6ffo770f5we8uDY,1409
115
+ brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py,sha256=WzpUZoxpmdp5IDCi7-UIgi9vwMC4j7KQG5N9JfACGtE,19205
116
+ brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json,sha256=b8mVVwmXup3Xi5dpC2UHOsS0Qhj3DwbxFfzce8GjLAY,1403
117
+ brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py,sha256=xjYLumuMdEJsFarTDfFFNHQKl6xQETGqlMbpgJDJQZU,19205
118
118
  brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json,sha256=TWhrdUlhDcx5BCHXpBtPSdUqVeooJSSe8HC7SpeylEQ,1104
119
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py,sha256=BElluG9ftRkA8mbU0tbS4yl5UfJuyZvgAeT_QM46gGU,7905
119
+ brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py,sha256=cVEc0LKCRdzmF85hx2kWQx2gizp_Y_UAXecsGY1852Y,7804
120
120
  brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json,sha256=iqT5e6Dv1415_LVev_5uowq0dpLTutBJulXYvhpXhjk,1382
121
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py,sha256=CM6CFV8htBmHNERKRKiO7XoTqnHkugjpdyVDTBEbYws,19015
121
+ brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py,sha256=k0SG_LOdfFjNHmtuWbOUuYQvECvopGdVp_PdntdKtpQ,16175
122
122
  brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json,sha256=F_FFiXMlrUboMp25JZLxGnfHf70kbHAuHcqw3DADv7Q,713
123
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py,sha256=idBW1ymtdYeqOih1gZPeKU90hpqvUrTYlVmtfM8imxk,1082
123
+ brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py,sha256=bWcN0hzqGvtRC2x5KJovyDhIecZGdVFogmevkAoqAE0,1197
124
124
  brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json,sha256=982h0NXKuWBPBrZ_IN6L_p-07jX5D1srcOrwKo44nQk,1183
125
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py,sha256=nVeNCQnM3FKXzUDryl3x8SUXucDdsVANbuBWG6DhF_k,1042
125
+ brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py,sha256=yiev7S4A_d2ZaqenwS1kjFF_PLKeXUu0tcqvr2uCCBk,1158
126
126
  brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json,sha256=qsuf6b0dj_0bp3DhjczuBwiT6jFxyUO8tlJsrj79mLQ,1378
127
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py,sha256=z-13k3BwBFZoUTw8kw5QE3mlrrBu8qlGuS1xD1KD74o,26151
127
+ brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py,sha256=I9LTNBFd5Nx-4J8Vx_kk_hDRtUjyVu-k6ShIsZDYyQ8,26083
128
128
  brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json,sha256=2LuVIAus3DfDkJhLjPf4VeGW6s18SSC4NGiktUDQWwk,746
129
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py,sha256=Btq3_Wx5Q5GA-MTpF6SYbXIM1htQmKxvkZ-IN7kvjHI,1132
129
+ brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py,sha256=4gozPh19-9blCM5iUhsaSVv5HMsQXqp4DJS6T_GnjQo,1247
130
130
  brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json,sha256=8mfJavH21XJ4iHD3QDY_H8MVKXr59sA4O3Plx38n1Lk,826
131
- brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py,sha256=2t2Y3OsfIqOyYqfN-R8D6cQof2OKpgMSKdUQ4y8j-cA,3790
131
+ brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py,sha256=VoyZhB2JShzpObXlPD2CN9cLBkAVmJ3915dlbv3488c,3726
132
132
  brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json,sha256=pDn-FPg2XpDY07y8SLBtizUXevbhhR15To8k_XGgtmE,1864
133
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py,sha256=QlIEdi0wtrSJeWQlVb0SqjFJN7D3HqTa9SqN7F2Gz28,13021
133
+ brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py,sha256=QtZl56BCPmYJiBBM779lCFYqkxGtqUQ9eB9ZZC0xNXk,13025
134
134
  common/wlt_logo.png,sha256=21DEhCEOOBU7Zt7ocwVIKU_CKUoHXScc3ej5VAzVsjM,132154
135
135
  gw_certificate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  gw_certificate/cert_results.py,sha256=y299oQ3TW4xYp0aM20txqvt7ufsUXSunqg2HN3M5emQ,8856
137
- gw_certificate/gw_certificate.py,sha256=lPpKDnObS8P8UMmMk7tuNhbHeQ2DHmsGJ1xw9-mqtI0,6781
138
- gw_certificate/gw_certificate_cli.py,sha256=VkdnksioNwSLcPdvRtreVw8f8bE9zDVwYIXY-3VUsGI,4720
137
+ gw_certificate/gw_certificate.py,sha256=rM-TB5dYETIbF1oVshoF4ZL5IONWd-5RtEaFTJg0WIU,6845
138
+ gw_certificate/gw_certificate_cli.py,sha256=FZ_A3A6UttACNo56WwhqAl0ZwfOFJDcBgS3q0tH_Mnk,4869
139
139
  gw_certificate/ag/ut_defines.py,sha256=HgrljTmPpKyxj6zYbnrLz1oVdSiAI4voG24d5diSQXc,16892
140
140
  gw_certificate/ag/wlt_types.py,sha256=WFiRPs0E0fN5f-9a9l0y8zjDNAR4Xfmon2k8n7rqODk,3637
141
141
  gw_certificate/ag/wlt_types_ag.py,sha256=xEk9_8m12x0_Tu8zeTV_7v6OY52dWdENHnjM61re-5I,246870
@@ -143,7 +143,7 @@ gw_certificate/ag/wlt_types_data.py,sha256=bN3bh4A9WEhf4EbAzO4kPnqhFkMvZA6PDSP0_
143
143
  gw_certificate/api/extended_api.py,sha256=vMLeqbpJwZuCSWR7NS8ZmkWuf1-eOFrZU0SqcxHJTGI,808
144
144
  gw_certificate/api_if/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
145
  gw_certificate/api_if/api_validation.py,sha256=MCFjdQlR0fMmZ5t4Z3bAqPqK0wWXPS9TrdIQFd2L3mM,1311
146
- gw_certificate/api_if/gw_capabilities.py,sha256=OqZJ5EfqnAE39011QB6e23IuH8fQbklY7UZvObFgYi4,616
146
+ gw_certificate/api_if/gw_capabilities.py,sha256=hOtx6JidqcIEvwy1z9A890Cdp7tR0DPJi857Am91mEw,1812
147
147
  gw_certificate/api_if/200/data.json,sha256=EQHFWhQc2Qvv7EGkBF2WW_vShDuq40SaM9be0A9ziLY,3756
148
148
  gw_certificate/api_if/200/logs.json,sha256=vfVi4hkxKGcSiupTSS2Er8wn4hZ8_MTaO5xbirNF5-0,219
149
149
  gw_certificate/api_if/200/status.json,sha256=aPi-tAAySbvrPHdmysjDlOEvxxdAQO9kcO9WHQWNq2s,1333
@@ -164,45 +164,46 @@ gw_certificate/api_if/205/logs.json,sha256=vfVi4hkxKGcSiupTSS2Er8wn4hZ8_MTaO5xbi
164
164
  gw_certificate/api_if/205/status.json,sha256=WVO5eGzadLazdkHQZ97yEYlPDzJu12WYRZb3s52kixk,1861
165
165
  gw_certificate/common/analysis_data_bricks.py,sha256=_DZvurnE7ymKVJbu-YnQUJY0SalwmZxIuMsN-FMr7Qk,2537
166
166
  gw_certificate/common/debug.py,sha256=sE_N4sWGRkbwdIb2QxqRtL8YQaePlaxvqecgnbxn6Xc,1208
167
+ gw_certificate/common/serialization_formatter.py,sha256=fXJQU9DMi5F88-HkJFvYlALOf7lm9I5p9qk6U95ToIc,3812
167
168
  gw_certificate/common/utils.py,sha256=yjE6kdmMIRyQ0rPm56zZroi8a9zY4GnincmOPOL6rJo,215
168
169
  gw_certificate/common/utils_defines.py,sha256=zLWKQBZscX1AVwBdJcM5GgZTJ5aYJWhQ1vjwX25EZrM,543
169
- gw_certificate/common/wltPb_pb2.py,sha256=LsZWcpbU4dUwvK6VIuvfbd9QenZ9tVlTsompqieVGPs,8064
170
- gw_certificate/common/wltPb_pb2.pyi,sha256=i0qoxMyLOUKgZhmuC1S8gcPeExQJicjIxnJHd5MR9J0,11142
171
- gw_certificate/interface/4.4.52_app.zip,sha256=zPsWL_qPz13IA5xI3ynKQ8TSt70w3z4f_dOUd8ete80,169149
172
- gw_certificate/interface/4.4.52_sd_bl_app.zip,sha256=ERUqvxox4zSXNR_67G9A2Op6tdJMpUQwhFSNOU6hAXc,366597
173
- gw_certificate/interface/ble_simulator.py,sha256=SFXI4qbloOUbvAaiqlKF80MOADJBpe86YFHO0TORRZo,2567
170
+ gw_certificate/common/wltPb_pb2.py,sha256=DPFrv5IVbxBUpmGRXO6iZjp-QwWUUaD9c37lMZnQoCM,8686
171
+ gw_certificate/common/wltPb_pb2.pyi,sha256=OcVo8ehkzIQ9EZoXp4om_kT2Any32stYKTTQvUsPEMU,11472
172
+ gw_certificate/interface/4.4.88_app.zip,sha256=bXNmIFpNGJwTtJHezo_AmW0dLyWzuV-YQ6g6PhtjP0M,171429
173
+ gw_certificate/interface/4.4.88_sd_bl_app.zip,sha256=0p3IYljHlVlr0sxnVFFVjXwmluixZ9BGGTw_fzdKuiU,368877
174
+ gw_certificate/interface/ble_simulator.py,sha256=mdH28n2-pdywKGrTc4nqmyIThNpM68Qf4ICzzeCuxbE,2678
174
175
  gw_certificate/interface/ble_sniffer.py,sha256=S5AtT_3gWlm3FCmQSR4KnCIfnr70E9LgQPtQEJs1YFM,6869
175
176
  gw_certificate/interface/if_defines.py,sha256=EAdT26qFl7110breWbpTPrpYZRHmizzvd188bse36ek,999
176
- gw_certificate/interface/mqtt.py,sha256=U1tIlp7sGRuTnEVPnn-HWxWzvSFotZeYfXcWJpBVUTk,24388
177
+ gw_certificate/interface/mqtt.py,sha256=dVNkRiFXjCmFlz5897IIZta-t0H095uftczayqDjVUY,25619
177
178
  gw_certificate/interface/nrfutil-linux,sha256=9Fzy9VLSzL5dwEWh4HJUFdfmXH69gTrUVV8hxEjPgGU,26071480
178
179
  gw_certificate/interface/nrfutil-mac,sha256=YG-iPLwnYUFjwYriqaGaFtYuIj-0T4TkeSWkJ638HWQ,15839744
179
180
  gw_certificate/interface/nrfutil.exe,sha256=_uOu7RhDpL_8CCdHzqYNwHKSnrNuZ9Ysij_XRx4NyS0,16155851
180
- gw_certificate/interface/pkt_generator.py,sha256=pBl8lihLSgVRYaPqz0iazSwg-JkZML5-zhJ7cVo2g88,24029
181
- gw_certificate/interface/uart_if.py,sha256=ABWJ1V52SvSfmsnxa3qB1VqJrtye_CYEL3LtO_jKqWw,9669
181
+ gw_certificate/interface/pkt_generator.py,sha256=yOSCEj8Ybjsq_u6tVmpsbkwYmLFqZR2eIk9k09AIsUM,22174
182
+ gw_certificate/interface/uart_if.py,sha256=ta55cie4PTuDimLPsxccDtpmoCHN4uQm5I8pe1daaik,10360
182
183
  gw_certificate/interface/uart_ports.py,sha256=HOIdrkr8OtALhoorT51k_tvSh6VYholR2ey4_WwcIAk,547
183
184
  gw_certificate/templates/results.html,sha256=w3kqslWDpHb1oYKSbY10RMDZe9HeI-O-GRP15oQIijA,12694
184
185
  gw_certificate/templates/stage.html,sha256=o89N0DWCIs2foA9YzommBZ09EPPN7lytiEsHoXD6fWU,1009
185
186
  gw_certificate/templates/table.html,sha256=PPUf0St1OPT0fB_6OK0SQlsRST-brUJ99x9-Rxwan1Y,201
186
187
  gw_certificate/templates/test.html,sha256=lpwibyrmGXNyNxpxNbQNoT2b5oCq5WHUYZrF0oDnLSA,2062
187
188
  gw_certificate/tests/__init__.py,sha256=6XWYuJ1urHGCUTPQ6bbn25lDd32ZyB2dIDr2A_mkvTg,468
188
- gw_certificate/tests/actions.py,sha256=h4Q9Nz6gnU7eX71wvOP_qi8FAzjpoLuNLHlA6PmAuPw,13062
189
+ gw_certificate/tests/actions.py,sha256=LSMQS0WPfrsU_2BZDxRiMBYJ1uFVrWsxpuK6C90SHio,13906
189
190
  gw_certificate/tests/bad_crc_to_PER_quantization.csv,sha256=2V1_7HV7pKEKddA429rp4tTn-je9G3Xi2tMvDhqvGhc,357
190
- gw_certificate/tests/connection.py,sha256=6UvcOfNBOMFY1ICJc9-MtTKMtpsihrBtO-1nfRkbqZI,9581
191
+ gw_certificate/tests/connection.py,sha256=f70DB1R0BHOlNnTYt4qa9tKwAJmNAHBju5bwvbcT6b0,9721
191
192
  gw_certificate/tests/downlink.py,sha256=RhgOZgyOhwwbj_gZziRlzOENgqT6fc00T7fCLaj2Igo,8823
192
- gw_certificate/tests/generic.py,sha256=SQds-xr074q79RpTxRjAg-d4_OMVCpyzhaBlwJ6Ulrg,8349
193
- gw_certificate/tests/registration.py,sha256=KJtdugD7WkBqHBZz4XNBd22BxyLTUZacsgVgDvIECpc,16149
194
- gw_certificate/tests/throughput.py,sha256=wYaeyHLUleS1cTpsapnBb9fOQP9qBes5OItIHQDtFDg,11103
195
- gw_certificate/tests/uplink.py,sha256=ADCZOuCrDZqoSQ3ozcQKZRSzpVh3HIxrvIpi2wEJvGo,32600
193
+ gw_certificate/tests/generic.py,sha256=B2pYlC4BtmQ10UGFSaTC57LhhAa50l1Bbk7DY6CWI6M,8381
194
+ gw_certificate/tests/registration.py,sha256=TgfYyDGkT-HAC11dJIdwFJTMZjTESFZb30-Q6ZCkXek,16152
195
+ gw_certificate/tests/throughput.py,sha256=T5axw55cP_CngQ4mB0jBj7xQWEp-Y34NsgDnP3eYz0I,11172
196
+ gw_certificate/tests/uplink.py,sha256=7DWHcNZ_7Oj2JJEFlg-oG3ssnMw0q2-sBqzqhxz5yZU,38735
196
197
  gw_certificate/tests/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
198
  gw_certificate/tests/static/connection_defines.py,sha256=RZbqvGNjUN-ST5378VZpleRB_b3_6IwME-j0CFnWmgE,309
198
199
  gw_certificate/tests/static/downlink_defines.py,sha256=gjzQff_70Rn8m6pmfGciFwEC7efYQGEM9yNwl-8zRCs,340
199
- gw_certificate/tests/static/generated_packet_table.py,sha256=er-hcv6hfJB2TVDUILVt_fazHCkU0Q-Rs4wB-sfXdO4,15742
200
- gw_certificate/tests/static/packet_table.csv,sha256=ZnM6-D_67pDdlo4UW35kAfZi2-XpM0UvCh-P1YBT8u0,3938393
200
+ gw_certificate/tests/static/generated_packet_table.py,sha256=nMFtbTyjKDOgL3iD2fxUhnlLvmCH9oNn3W1WC3U8ebI,17059
201
+ gw_certificate/tests/static/packet_table.csv,sha256=S8i8AVxEw8cuiLaaYUAORfn4dCaf0L_Z-mQ2q98OSss,1882502
201
202
  gw_certificate/tests/static/references.py,sha256=vVVaoC_3nEdu2OMtfr_XKxZLvnJmbDeK2pEDFkAzNtU,384
202
- gw_certificate/tests/static/uplink_defines.py,sha256=bNcCOYRuKLhCYjv-n6rJ4PM8YpZOg4h4Kt6PBhReZf4,354
203
- wiliot_certificate-1.5.2a1.dist-info/licenses/LICENSE,sha256=OL5ajUNVx888yC2ogol0BKwPRLdQAF1noGuQ7WrYiAA,1068
204
- wiliot_certificate-1.5.2a1.dist-info/METADATA,sha256=adckm1TWkRlVGhFru98cjfr0NcMdXdsP-s7JoFJ-sPE,7307
205
- wiliot_certificate-1.5.2a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
206
- wiliot_certificate-1.5.2a1.dist-info/entry_points.txt,sha256=19YeTHY3PnN1wbi7BcgZB0zSgRrp9bvahIX-dIMX3Sg,127
207
- wiliot_certificate-1.5.2a1.dist-info/top_level.txt,sha256=wN_MwxdcfgPP5-WN6sRhmZnGXNbZmXalxwYdh3nb2RA,38
208
- wiliot_certificate-1.5.2a1.dist-info/RECORD,,
203
+ gw_certificate/tests/static/uplink_defines.py,sha256=1gkzWrXivrAqO992UbG6plnZLSpVtpZ8RC5xBak9_TI,387
204
+ wiliot_certificate-4.4.0a1.dist-info/licenses/LICENSE,sha256=OL5ajUNVx888yC2ogol0BKwPRLdQAF1noGuQ7WrYiAA,1068
205
+ wiliot_certificate-4.4.0a1.dist-info/METADATA,sha256=Nef8FDPnmAHwK7AWG74zg6WoKC5x5ryAZiAv9FAVCZY,7307
206
+ wiliot_certificate-4.4.0a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
207
+ wiliot_certificate-4.4.0a1.dist-info/entry_points.txt,sha256=19YeTHY3PnN1wbi7BcgZB0zSgRrp9bvahIX-dIMX3Sg,127
208
+ wiliot_certificate-4.4.0a1.dist-info/top_level.txt,sha256=wN_MwxdcfgPP5-WN6sRhmZnGXNbZmXalxwYdh3nb2RA,38
209
+ wiliot_certificate-4.4.0a1.dist-info/RECORD,,
Binary file