trcc-linux 5.0.2__tar.gz → 5.0.4__tar.gz

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 (866) hide show
  1. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/PKG-INFO +1 -1
  2. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/pyproject.toml +1 -1
  3. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/__version__.py +13 -1
  4. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/bulk.py +2 -1
  5. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/factory.py +121 -105
  6. trcc_linux-5.0.4/src/trcc/adapters/device/frame.py +84 -0
  7. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/hid.py +24 -10
  8. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/led.py +2 -1
  9. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/scsi.py +4 -2
  10. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/debug_report.py +67 -8
  11. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/conf.py +23 -0
  12. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/base.py +89 -5
  13. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_about.py +3 -3
  14. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/image.py +5 -4
  15. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/led.py +1 -0
  16. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/hid_testing/test_device_hid.py +18 -2
  17. trcc_linux-5.0.4/tests/test_base_panel.py +186 -0
  18. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_debug_report.py +1 -1
  19. trcc_linux-5.0.4/tests/test_frame_device.py +192 -0
  20. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/.gitignore +0 -0
  21. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/LICENSE +0 -0
  22. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/README.md +0 -0
  23. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/__init__.py +0 -0
  24. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/__main__.py +0 -0
  25. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/__init__.py +0 -0
  26. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/__init__.py +0 -0
  27. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/detector.py +0 -0
  28. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/lcd.py +0 -0
  29. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/led_hr10.py +0 -0
  30. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/led_kvm.py +0 -0
  31. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/device/led_segment.py +0 -0
  32. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/__init__.py +0 -0
  33. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/binary_reader.py +0 -0
  34. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/data_repository.py +0 -0
  35. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/dc_config.py +0 -0
  36. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/dc_parser.py +0 -0
  37. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/dc_writer.py +0 -0
  38. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/doctor.py +0 -0
  39. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/font_resolver.py +0 -0
  40. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/media_player.py +0 -0
  41. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/theme_cloud.py +0 -0
  42. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/infra/theme_downloader.py +0 -0
  43. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/system/__init__.py +0 -0
  44. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/system/config.py +0 -0
  45. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/system/info.py +0 -0
  46. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/adapters/system/sensors.py +0 -0
  47. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/api.py +0 -0
  48. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/fonts/MSYH.TTC +0 -0
  49. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
  50. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/fonts/README.md +0 -0
  51. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/240240.gif +0 -0
  52. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/240320.gif +0 -0
  53. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/320240.gif +0 -0
  54. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/320320.gif +0 -0
  55. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216.png" +0 -0
  56. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216d.png" +0 -0
  57. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216e.png" +0 -0
  58. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216en.png" +0 -0
  59. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216f.png" +0 -0
  60. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216p.png" +0 -0
  61. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216r.png" +0 -0
  62. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216tc.png" +0 -0
  63. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/205/263/344/272/216x.png" +0 -0
  64. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/345/220/257/345/212/250/347/225/214/351/235/242.png" +0 -0
  65. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/346/225/260/346/215/256/345/210/227/350/241/250.png" +0 -0
  66. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207.png" +0 -0
  67. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207en.png" +0 -0
  68. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207tc.png" +0 -0
  69. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A0/347/241/254/344/273/266/345/210/227/350/241/250.png" +0 -0
  70. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AK120 Digital.png +0 -0
  71. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AK120 Digitala.png +0 -0
  72. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AK120_Digital.png +0 -0
  73. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AK120_Digitala.png +0 -0
  74. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AS120 VISION.png +0 -0
  75. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AS120 VISIONa.png +0 -0
  76. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AS120_VISION.png +0 -0
  77. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AS120_VISIONa.png +0 -0
  78. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AX120 DIGITAL.png +0 -0
  79. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AX120 DIGITALa.png +0 -0
  80. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AX120_DIGITAL.png +0 -0
  81. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1AX120_DIGITALa.png +0 -0
  82. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1BA120 VISION.png +0 -0
  83. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1BA120 VISIONa.png +0 -0
  84. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1BA120_VISION.png +0 -0
  85. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1BA120_VISIONa.png +0 -0
  86. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CORE VISION.png +0 -0
  87. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CORE VISIONa.png +0 -0
  88. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CORE_VISION.png +0 -0
  89. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CORE_VISIONa.png +0 -0
  90. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CZ1.png +0 -0
  91. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CZ1a.png +0 -0
  92. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CZTV.png +0 -0
  93. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1CZTVa.png +0 -0
  94. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1ELITE VISION.png +0 -0
  95. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1ELITE VISIONa.png +0 -0
  96. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1ELITE_VISION.png +0 -0
  97. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1ELITE_VISIONa.png +0 -0
  98. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN HORIZON PRO.png +0 -0
  99. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN HORIZON PROa.png +0 -0
  100. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN MAGIC PRO.png +0 -0
  101. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN MAGIC PROa.png +0 -0
  102. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN VISION V2.png +0 -0
  103. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN VISION V2a.png +0 -0
  104. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN WARFRAME PRO.png +0 -0
  105. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN WARFRAME PROa.png +0 -0
  106. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN WARFRAME SE.png +0 -0
  107. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN WARFRAME SEa.png +0 -0
  108. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN WARFRAME.png +0 -0
  109. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN WARFRAMEa.png +0 -0
  110. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_HORIZON_PRO.png +0 -0
  111. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_HORIZON_PROa.png +0 -0
  112. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_MAGIC_PRO.png +0 -0
  113. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_MAGIC_PROa.png +0 -0
  114. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_VISION_V2.png +0 -0
  115. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_VISION_V2a.png +0 -0
  116. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_WARFRAME.png +0 -0
  117. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PRO.png +0 -0
  118. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PROa.png +0 -0
  119. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SE.png +0 -0
  120. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SEa.png +0 -0
  121. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1FROZEN_WARFRAMEa.png +0 -0
  122. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1GRAND VISION.png +0 -0
  123. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1GRAND VISIONa.png +0 -0
  124. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1GRAND_VISION.png +0 -0
  125. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1GRAND_VISIONa.png +0 -0
  126. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITAL.png +0 -0
  127. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITALa.png +0 -0
  128. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1HYPER VISION.png +0 -0
  129. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1HYPER VISIONa.png +0 -0
  130. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1HYPER_VISION.png +0 -0
  131. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1HYPER_VISIONa.png +0 -0
  132. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1KVMALEDC6.png +0 -0
  133. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1KVMALEDC6a.png +0 -0
  134. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC1.png +0 -0
  135. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC1a.png +0 -0
  136. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC2.png +0 -0
  137. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC2JD.png +0 -0
  138. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC2JDa.png +0 -0
  139. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC2a.png +0 -0
  140. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC3.png +0 -0
  141. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC3a.png +0 -0
  142. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC5.png +0 -0
  143. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LC5a.png +0 -0
  144. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF10.png +0 -0
  145. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF10a.png +0 -0
  146. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF11.png +0 -0
  147. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF11a.png +0 -0
  148. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF12.png +0 -0
  149. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF12a.png +0 -0
  150. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF13.png +0 -0
  151. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF13a.png +0 -0
  152. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF14.png +0 -0
  153. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF14a.png +0 -0
  154. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF15.png +0 -0
  155. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF15a.png +0 -0
  156. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF16.png +0 -0
  157. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF167.png +0 -0
  158. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF16a.png +0 -0
  159. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF17a.png +0 -0
  160. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF18.png +0 -0
  161. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF18a.png +0 -0
  162. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF19.png +0 -0
  163. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF19a.png +0 -0
  164. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF8.png +0 -0
  165. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LF8a.png +0 -0
  166. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM16SE.png +0 -0
  167. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM16SEa.png +0 -0
  168. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM22.png +0 -0
  169. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM22a.png +0 -0
  170. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM24.png +0 -0
  171. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM24a.png +0 -0
  172. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM26.png +0 -0
  173. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM26a.png +0 -0
  174. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM27.png +0 -0
  175. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1LM27a.png +0 -0
  176. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir VISION PRO.png +0 -0
  177. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir VISION PROa.png +0 -0
  178. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir VISION.png +0 -0
  179. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir VISIONa.png +0 -0
  180. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir_VISION.png +0 -0
  181. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir_VISION_PRO.png +0 -0
  182. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir_VISION_PROa.png +0 -0
  183. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Mjolnir_VISIONa.png +0 -0
  184. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1PA120 DIGITAL.png +0 -0
  185. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1PA120 DIGITALa.png +0 -0
  186. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1PA120_DIGITAL.png +0 -0
  187. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1PA120_DIGITALa.png +0 -0
  188. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RK120 DIGITAL.png +0 -0
  189. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RK120 DIGITALa.png +0 -0
  190. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RK120_DIGITAL.png +0 -0
  191. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RK120_DIGITALa.png +0 -0
  192. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RP130 VISION.png +0 -0
  193. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RP130 VISIONa.png +0 -0
  194. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RP130_VISION.png +0 -0
  195. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1RP130_VISIONa.png +0 -0
  196. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Stream Vision.png +0 -0
  197. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Stream Visiona.png +0 -0
  198. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Stream_Vision.png +0 -0
  199. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1Stream_Visiona.png +0 -0
  200. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250.png" +0 -0
  201. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250a.png" +0 -0
  202. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1/345/205/263/344/272/216.png" +0 -0
  203. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A1/345/205/263/344/272/216a.png" +0 -0
  204. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A2_update_overlay.png +0 -0
  205. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/345/272/225/345/233/276.png" +0 -0
  206. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/351/200/211/346/213/251/346/235/241.png" +0 -0
  207. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A2/344/270/213/346/213/211/351/200/211/346/213/251/346/241/206.png" +0 -0
  208. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A2/347/253/213/345/215/263/346/233/264/346/226/260.png" +0 -0
  209. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Acpu.png +0 -0
  210. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Adram.png +0 -0
  211. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Afan.png +0 -0
  212. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Agpu.png +0 -0
  213. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Ahdd.png +0 -0
  214. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Alogout/351/200/211/344/270/255.png" +0 -0
  215. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Alogout/351/273/230/350/256/244.png" +0 -0
  216. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Anet.png +0 -0
  217. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A/344/270/212/344/270/200/351/241/265a.png" +0 -0
  218. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A/344/270/213/344/270/200/351/241/265a.png" +0 -0
  219. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A/345/242/236/345/212/240/346/225/260/347/273/204.png" +0 -0
  220. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A/346/225/260/346/215/256/351/200/211/346/213/251.png" +0 -0
  221. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A/346/273/232/345/212/250/346/235/241.png" +0 -0
  222. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/A/350/207/252/345/256/232/344/271/211.png" +0 -0
  223. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1.png +0 -0
  224. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1d.png +0 -0
  225. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1e.png +0 -0
  226. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1en.png +0 -0
  227. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1f.png +0 -0
  228. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1p.png +0 -0
  229. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1r.png +0 -0
  230. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1tc.png +0 -0
  231. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0CZ1x.png +0 -0
  232. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0KVMA/347/201/257/346/216/247.png" +0 -0
  233. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1.png +0 -0
  234. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1d.png +0 -0
  235. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1e.png +0 -0
  236. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1en.png +0 -0
  237. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1f.png +0 -0
  238. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1p.png +0 -0
  239. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1r.png +0 -0
  240. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1tc.png +0 -0
  241. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC1x.png +0 -0
  242. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2.png +0 -0
  243. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2d.png +0 -0
  244. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2e.png +0 -0
  245. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2en.png +0 -0
  246. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2f.png +0 -0
  247. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2p.png +0 -0
  248. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2r.png +0 -0
  249. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2tc.png +0 -0
  250. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LC2x.png +0 -0
  251. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10.png +0 -0
  252. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10d.png +0 -0
  253. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10e.png +0 -0
  254. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10en.png +0 -0
  255. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10f.png +0 -0
  256. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10p.png +0 -0
  257. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10r.png +0 -0
  258. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10tc.png +0 -0
  259. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF10x.png +0 -0
  260. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11.png +0 -0
  261. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11d.png +0 -0
  262. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11e.png +0 -0
  263. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11en.png +0 -0
  264. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11f.png +0 -0
  265. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11p.png +0 -0
  266. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11r.png +0 -0
  267. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11tc.png +0 -0
  268. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF11x.png +0 -0
  269. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12.png +0 -0
  270. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12d.png +0 -0
  271. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12e.png +0 -0
  272. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12en.png +0 -0
  273. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12f.png +0 -0
  274. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12p.png +0 -0
  275. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12r.png +0 -0
  276. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12tc.png +0 -0
  277. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF12x.png +0 -0
  278. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13.png +0 -0
  279. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13d.png +0 -0
  280. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13e.png +0 -0
  281. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13en.png +0 -0
  282. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13f.png +0 -0
  283. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13p.png +0 -0
  284. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13r.png +0 -0
  285. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13tc.png +0 -0
  286. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF13x.png +0 -0
  287. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15.png +0 -0
  288. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15d.png +0 -0
  289. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15e.png +0 -0
  290. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15en.png +0 -0
  291. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15f.png +0 -0
  292. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15p.png +0 -0
  293. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15r.png +0 -0
  294. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15tc.png +0 -0
  295. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF15x.png +0 -0
  296. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8.png +0 -0
  297. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8d.png +0 -0
  298. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8e.png +0 -0
  299. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8en.png +0 -0
  300. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8f.png +0 -0
  301. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8p.png +0 -0
  302. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8r.png +0 -0
  303. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8tc.png +0 -0
  304. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0LF8x.png +0 -0
  305. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0rgblf13.png +0 -0
  306. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217.png" +0 -0
  307. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237.png" +0 -0
  308. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237d.png" +0 -0
  309. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237e.png" +0 -0
  310. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237en.png" +0 -0
  311. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237f.png" +0 -0
  312. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237p.png" +0 -0
  313. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237r.png" +0 -0
  314. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237tc.png" +0 -0
  315. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237x.png" +0 -0
  316. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217d.png" +0 -0
  317. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217e.png" +0 -0
  318. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217en.png" +0 -0
  319. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217f.png" +0 -0
  320. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217p.png" +0 -0
  321. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217r.png" +0 -0
  322. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217tc.png" +0 -0
  323. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217x.png" +0 -0
  324. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272.png" +0 -0
  325. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272a.png" +0 -0
  326. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/264/347/233/2241.png" +0 -0
  327. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/264/347/233/2242.png" +0 -0
  328. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/264/347/233/2243.png" +0 -0
  329. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/264/347/233/2244.png" +0 -0
  330. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/345/244/264/347/233/2245.png" +0 -0
  331. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210.png" +0 -0
  332. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210a.png" +0 -0
  333. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2111.png" +0 -0
  334. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/21110.png" +0 -0
  335. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/21110a.png" +0 -0
  336. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/21111.png" +0 -0
  337. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/21111a.png" +0 -0
  338. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/21112.png" +0 -0
  339. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/21112a.png" +0 -0
  340. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2111a.png" +0 -0
  341. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2112.png" +0 -0
  342. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2112a.png" +0 -0
  343. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2113.png" +0 -0
  344. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2113a.png" +0 -0
  345. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2114.png" +0 -0
  346. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2114a.png" +0 -0
  347. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2115.png" +0 -0
  348. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2115a.png" +0 -0
  349. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2116.png" +0 -0
  350. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2116a.png" +0 -0
  351. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2117.png" +0 -0
  352. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2117a.png" +0 -0
  353. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2118.png" +0 -0
  354. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2118a.png" +0 -0
  355. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2119.png" +0 -0
  356. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D2/347/201/257/345/205/2119a.png" +0 -0
  357. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/345/274/200/345/205/263.png" +0 -0
  358. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/345/274/200/345/205/263a.png" +0 -0
  359. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/345/274/200/345/205/263b.png" +0 -0
  360. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/346/227/213/351/222/256.png" +0 -0
  361. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/346/227/213/351/222/2560.png" +0 -0
  362. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/346/251/231.png" +0 -0
  363. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/346/271/226.png" +0 -0
  364. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  365. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001.png" +0 -0
  366. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001a.png" +0 -0
  367. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002.png" +0 -0
  368. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002a.png" +0 -0
  369. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003.png" +0 -0
  370. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003a.png" +0 -0
  371. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/231/275.png" +0 -0
  372. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/264/253.png" +0 -0
  373. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/272/242.png" +0 -0
  374. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/347/273/277.png" +0 -0
  375. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/350/223/235.png" +0 -0
  376. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D3/351/273/204.png" +0 -0
  377. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/345/274/200/346/234/272.png" +0 -0
  378. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/345/274/200/346/234/272a.png" +0 -0
  379. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2561.png" +0 -0
  380. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2561a.png" +0 -0
  381. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2562.png" +0 -0
  382. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2562a.png" +0 -0
  383. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2563.png" +0 -0
  384. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2563a.png" +0 -0
  385. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2564.png" +0 -0
  386. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/214/211/351/222/2564a.png" +0 -0
  387. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2171.png" +0 -0
  388. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2171a.png" +0 -0
  389. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2172.png" +0 -0
  390. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2172a.png" +0 -0
  391. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2173.png" +0 -0
  392. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2173a.png" +0 -0
  393. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2174.png" +0 -0
  394. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2174a.png" +0 -0
  395. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2175.png" +0 -0
  396. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2175a.png" +0 -0
  397. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2176.png" +0 -0
  398. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D4/346/250/241/345/274/2176a.png" +0 -0
  399. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DAK120_DIGITAL.png +0 -0
  400. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DAX120_DIGITAL.png +0 -0
  401. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DCZ1.png +0 -0
  402. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DFROZEN_HORIZON_PRO.png +0 -0
  403. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DFROZEN_MAGIC_PRO.png +0 -0
  404. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLC1.png +0 -0
  405. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLC2.png +0 -0
  406. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLF10.png +0 -0
  407. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLF11.png +0 -0
  408. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLF12.png +0 -0
  409. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLF13.png +0 -0
  410. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLF15.png +0 -0
  411. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DLF8.png +0 -0
  412. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DPA120 DIGITAL.png +0 -0
  413. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/DPA120_DIGITAL.png +0 -0
  414. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Dch1.png +0 -0
  415. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Dch2.png +0 -0
  416. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Dch3.png +0 -0
  417. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Dch4.png +0 -0
  418. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/Dchcz1.png +0 -0
  419. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/206.png" +0 -0
  420. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/2062.png" +0 -0
  421. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/225.png" +0 -0
  422. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/2252.png" +0 -0
  423. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/256.png" +0 -0
  424. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/2562.png" +0 -0
  425. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultra.png +0 -0
  426. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultraa.png +0 -0
  427. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271.png" +0 -0
  428. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271d.png" +0 -0
  429. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271e.png" +0 -0
  430. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271en.png" +0 -0
  431. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271f.png" +0 -0
  432. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271p.png" +0 -0
  433. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271r.png" +0 -0
  434. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271tc.png" +0 -0
  435. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/206/205/345/256/271x.png" +0 -0
  436. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/212/250/347/224/273/350/201/224/345/212/250.png" +0 -0
  437. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277.png" +0 -0
  438. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277d.png" +0 -0
  439. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277e.png" +0 -0
  440. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277en.png" +0 -0
  441. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277f.png" +0 -0
  442. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277p.png" +0 -0
  443. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277r.png" +0 -0
  444. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277tc.png" +0 -0
  445. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277x.png" +0 -0
  446. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
  447. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271/351/201/256/347/275/251.png" +0 -0
  448. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277.png" +0 -0
  449. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277d.png" +0 -0
  450. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277e.png" +0 -0
  451. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277en.png" +0 -0
  452. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277f.png" +0 -0
  453. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277p.png" +0 -0
  454. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277r.png" +0 -0
  455. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277tc.png" +0 -0
  456. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277x.png" +0 -0
  457. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xy.png" +0 -0
  458. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyd.png" +0 -0
  459. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xye.png" +0 -0
  460. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyen.png" +0 -0
  461. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyf.png" +0 -0
  462. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyp.png" +0 -0
  463. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyr.png" +0 -0
  464. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xytc.png" +0 -0
  465. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyx.png" +0 -0
  466. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yx.png" +0 -0
  467. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxd.png" +0 -0
  468. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxe.png" +0 -0
  469. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxen.png" +0 -0
  470. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxf.png" +0 -0
  471. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxp.png" +0 -0
  472. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxr.png" +0 -0
  473. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxtc.png" +0 -0
  474. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxx.png" +0 -0
  475. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250.png" +0 -0
  476. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250d.png" +0 -0
  477. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250e.png" +0 -0
  478. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250en.png" +0 -0
  479. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250f.png" +0 -0
  480. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250p.png" +0 -0
  481. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250r.png" +0 -0
  482. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250tc.png" +0 -0
  483. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250x.png" +0 -0
  484. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272.png" +0 -0
  485. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272en.png" +0 -0
  486. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272tc.png" +0 -0
  487. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/346/250/241/345/235/227/350/256/276/347/275/256.png" +0 -0
  488. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
  489. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
  490. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
  491. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272.png" +0 -0
  492. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272d.png" +0 -0
  493. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272e.png" +0 -0
  494. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272en.png" +0 -0
  495. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272f.png" +0 -0
  496. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272p.png" +0 -0
  497. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272r.png" +0 -0
  498. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272tc.png" +0 -0
  499. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272x.png" +0 -0
  500. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227.png" +0 -0
  501. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227en.png" +0 -0
  502. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227tc.png" +0 -0
  503. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2501.png" +0 -0
  504. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2502.png" +0 -0
  505. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2503.png" +0 -0
  506. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTV.png +0 -0
  507. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVd.png +0 -0
  508. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVe.png +0 -0
  509. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVen.png +0 -0
  510. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVf.png +0 -0
  511. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVp.png +0 -0
  512. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVr.png +0 -0
  513. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVtc.png +0 -0
  514. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0CZTVx.png +0 -0
  515. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M1.png +0 -0
  516. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M2.png +0 -0
  517. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M3.png +0 -0
  518. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M4.png +0 -0
  519. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M5.png +0 -0
  520. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M5a.png +0 -0
  521. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0M6.png +0 -0
  522. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
  523. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  524. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230d.png" +0 -0
  525. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230e.png" +0 -0
  526. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230en.png" +0 -0
  527. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230f.png" +0 -0
  528. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230p.png" +0 -0
  529. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230r.png" +0 -0
  530. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230tc.png" +0 -0
  531. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230x.png" +0 -0
  532. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  533. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
  534. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
  535. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
  536. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
  537. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
  538. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
  539. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
  540. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
  541. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217116480.png" +0 -0
  542. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180400.png" +0 -0
  543. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180480.png" +0 -0
  544. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240240.png" +0 -0
  545. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240320.png" +0 -0
  546. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240400.png" +0 -0
  547. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240427.png" +0 -0
  548. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217270480.png" +0 -0
  549. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320240.png" +0 -0
  550. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320320.png" +0 -0
  551. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217360360.png" +0 -0
  552. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400180.png" +0 -0
  553. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400240.png" +0 -0
  554. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217427240.png" +0 -0
  555. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480116.png" +0 -0
  556. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480180.png" +0 -0
  557. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480270.png" +0 -0
  558. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480480.png" +0 -0
  559. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/222/255/346/224/276.png" +0 -0
  560. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/222/255/346/224/276/345/231/250/346/216/247/345/210/266.png" +0 -0
  561. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/232/202/345/201/234.png" +0 -0
  562. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
  563. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230d.png" +0 -0
  564. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230e.png" +0 -0
  565. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230en.png" +0 -0
  566. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230f.png" +0 -0
  567. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230p.png" +0 -0
  568. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230r.png" +0 -0
  569. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230tc.png" +0 -0
  570. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230x.png" +0 -0
  571. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
  572. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257d.png" +0 -0
  573. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257e.png" +0 -0
  574. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257f.png" +0 -0
  575. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257p.png" +0 -0
  576. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257r.png" +0 -0
  577. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257x.png" +0 -0
  578. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217116480.png" +0 -0
  579. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217180400.png" +0 -0
  580. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217180480.png" +0 -0
  581. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217240240.png" +0 -0
  582. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217240320.png" +0 -0
  583. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217240400.png" +0 -0
  584. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217240427.png" +0 -0
  585. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217270480.png" +0 -0
  586. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217320240.png" +0 -0
  587. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217320320.png" +0 -0
  588. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217360360.png" +0 -0
  589. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217400180.png" +0 -0
  590. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217400240.png" +0 -0
  591. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217427240.png" +0 -0
  592. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217480116.png" +0 -0
  593. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217480180.png" +0 -0
  594. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217480270.png" +0 -0
  595. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/350/243/201/345/207/217480480.png" +0 -0
  596. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210.png" +0 -0
  597. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210a.png" +0 -0
  598. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271280X480.png" +0 -0
  599. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271920X462.png" +0 -0
  600. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227360X800.png" +0 -0
  601. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227462X1920.png" +0 -0
  602. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X1280.png" +0 -0
  603. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X800.png" +0 -0
  604. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X854.png" +0 -0
  605. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227540X960.png" +0 -0
  606. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X360.png" +0 -0
  607. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X480.png" +0 -0
  608. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227854X480.png" +0 -0
  609. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227960X540.png" +0 -0
  610. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P12H.png +0 -0
  611. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
  612. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
  613. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P240240.png +0 -0
  614. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P240320.png +0 -0
  615. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P24H.png +0 -0
  616. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P320240.png +0 -0
  617. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P320320.png +0 -0
  618. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PDM.png +0 -0
  619. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PDMY.png +0 -0
  620. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PL0.png +0 -0
  621. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PL1.png +0 -0
  622. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PL2.png +0 -0
  623. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PL3.png +0 -0
  624. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM1.png +0 -0
  625. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM1a.png +0 -0
  626. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM2.png +0 -0
  627. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM2a.png +0 -0
  628. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM3.png +0 -0
  629. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM3a.png +0 -0
  630. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM4.png +0 -0
  631. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM4a.png +0 -0
  632. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM5.png +0 -0
  633. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM5a.png +0 -0
  634. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM6.png +0 -0
  635. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PM6a.png +0 -0
  636. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PMD.png +0 -0
  637. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/PYMD.png +0 -0
  638. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206.png" +0 -0
  639. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2762X.png" +0 -0
  640. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2764X.png" +0 -0
  641. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/351/253/230/344/272/256.png" +0 -0
  642. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/273/351/242/230/345/210/206/347/261/273/351/200/211/346/213/251.png" +0 -0
  643. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/273/351/242/230/345/210/206/347/261/273/351/200/211/346/213/2510.png" +0 -0
  644. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
  645. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256a.png" +0 -0
  646. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255.png" +0 -0
  647. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255a.png" +0 -0
  648. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  649. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230a.png" +0 -0
  650. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  651. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257a.png" +0 -0
  652. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/344/277/235/345/255/230/344/270/273/351/242/230.png" +0 -0
  653. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/256.png" +0 -0
  654. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/2562.png" +0 -0
  655. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/207/217.png" +0 -0
  656. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227a.png" +0 -0
  657. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227b.png" +0 -0
  658. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251.png" +0 -0
  659. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251a.png" +0 -0
  660. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/212/240.png" +0 -0
  661. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/212/250/347/224/273.png" +0 -0
  662. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263.png" +0 -0
  663. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263a.png" +0 -0
  664. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/217/226/350/211/262.png" +0 -0
  665. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/220/270/347/256/241.png" +0 -0
  666. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/233/276/347/211/207.png" +0 -0
  667. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/234/206/345/275/242/345/205/263/351/227/255.png" +0 -0
  668. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/234/206/345/275/242/347/241/256/345/256/232.png" +0 -0
  669. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
  670. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/226/207/346/234/254.png" +0 -0
  671. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/245/346/234/237.png" +0 -0
  672. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/266/351/227/264.png" +0 -0
  673. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/230/237/346/234/237.png" +0 -0
  674. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/244/232/351/200/211.png" +0 -0
  675. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/244/232/351/200/211a.png" +0 -0
  676. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/256/275/345/272/246/351/200/202/345/272/224.png" +0 -0
  677. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/257/274/345/205/245.png" +0 -0
  678. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/257/274/345/207/272.png" +0 -0
  679. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/257/274/345/207/272/346/211/200/346/234/211/344/270/273/351/242/230.png" +0 -0
  680. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/345/270/256/345/212/251.png" +0 -0
  681. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/225/260/345/255/227/345/255/227/344/275/223.png" +0 -0
  682. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/225/260/346/215/256.png" +0 -0
  683. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/226/207/345/255/227/345/255/227/344/275/223.png" +0 -0
  684. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/226/207/346/234/254.png" +0 -0
  685. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/227/213/350/275/254.png" +0 -0
  686. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/227/245/346/234/237.png" +0 -0
  687. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/227/266/351/227/264.png" +0 -0
  688. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/230/237/346/234/237.png" +0 -0
  689. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206.png" +0 -0
  690. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206A.png" +0 -0
  691. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
  692. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230a.png" +0 -0
  693. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/205/263.png" +0 -0
  694. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/274/200.png" +0 -0
  695. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  696. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/345/272/225/345/233/276.png" +0 -0
  697. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  698. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233.png" +0 -0
  699. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233180.png" +0 -0
  700. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233270.png" +0 -0
  701. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/23390.png" +0 -0
  702. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a.png" +0 -0
  703. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a180.png" +0 -0
  704. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a270.png" +0 -0
  705. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a90.png" +0 -0
  706. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b.png" +0 -0
  707. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b180.png" +0 -0
  708. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b270.png" +0 -0
  709. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b90.png" +0 -0
  710. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206.png" +0 -0
  711. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206A.png" +0 -0
  712. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/216/257H1.png" +0 -0
  713. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/216/257H2.png" +0 -0
  714. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/216/257H3.png" +0 -0
  715. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/216/257H4.png" +0 -0
  716. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/216/257H5.png" +0 -0
  717. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/216/257H6.png" +0 -0
  718. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/233/264/346/222/255/350/247/206/351/242/221/350/275/275/345/205/245.png" +0 -0
  719. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/275/221/347/273/234.png" +0 -0
  720. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/347/275/221/347/273/234/346/214/211/351/222/256.png" +0 -0
  721. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/222/231/346/235/277.png" +0 -0
  722. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/243/201/345/207/217.png" +0 -0
  723. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/247/206/351/242/221.png" +0 -0
  724. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/255.png" +0 -0
  725. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/2551.png" +0 -0
  726. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/2552.png" +0 -0
  727. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/2553.png" +0 -0
  728. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/2554.png" +0 -0
  729. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/2555.png" +0 -0
  730. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/2556.png" +0 -0
  731. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/255a.png" +0 -0
  732. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/256/346/222/255/351/200/211/346/241/206.png" +0 -0
  733. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/275/275/345/205/245/345/212/250/347/224/273.png" +0 -0
  734. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/350/277/233/345/272/246/346/235/241.png" +0 -0
  735. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/200/211/344/270/255.png" +0 -0
  736. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206M.png" +0 -0
  737. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206Ma.png" +0 -0
  738. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210116X480.png" +0 -0
  739. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210180X400.png" +0 -0
  740. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210180X480.png" +0 -0
  741. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210240X240.png" +0 -0
  742. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210240X320.png" +0 -0
  743. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210240X400.png" +0 -0
  744. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210240X427.png" +0 -0
  745. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210270X480.png" +0 -0
  746. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210320X240.png" +0 -0
  747. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320.png" +0 -0
  748. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320/345/234/206.png" +0 -0
  749. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210360360/345/234/206.png" +0 -0
  750. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210400X180.png" +0 -0
  751. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210400X240.png" +0 -0
  752. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210427X240.png" +0 -0
  753. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210480X116.png" +0 -0
  754. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210480X180.png" +0 -0
  755. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210480X270.png" +0 -0
  756. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480.png" +0 -0
  757. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480/345/234/206.png" +0 -0
  758. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/212/250/347/224/273.png" +0 -0
  759. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251320320/345/234/206.png" +0 -0
  760. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251360360/345/234/206.png" +0 -0
  761. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251480480/345/234/206.png" +0 -0
  762. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/234/350/211/262/346/273/221/345/212/250/345/235/227.png" +0 -0
  763. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/242/234/350/211/262/351/200/211/346/213/251/345/234/210.png" +0 -0
  764. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/P/351/253/230/345/272/246/351/200/202/345/272/224.png" +0 -0
  765. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  766. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  767. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
  768. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
  769. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
  770. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
  771. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
  772. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
  773. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
  774. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
  775. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/p/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  776. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucBoFangQiKongZhi1.BackgroundImage.png +0 -0
  777. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucBoFangQiKongZhi1_BackgroundImage.png +0 -0
  778. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucVideoCut1.BackgroundImage.png +0 -0
  779. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucVideoCut1_BackgroundImage.png +0 -0
  780. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucXiTongXianShi1.BackgroundImage.png +0 -0
  781. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucXiTongXianShiAdd1.BackgroundImage.png +0 -0
  782. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucXiTongXianShiColor1.BackgroundImage.png +0 -0
  783. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/gui/ucXiTongXianShiTable1.BackgroundImage.png +0 -0
  784. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/app.ico +0 -0
  785. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc.png +0 -0
  786. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_128x128.png +0 -0
  787. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_16x16.png +0 -0
  788. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_24x24.png +0 -0
  789. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_256x256.png +0 -0
  790. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_32x32.png +0 -0
  791. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_48x48.png +0 -0
  792. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/assets/icons/trcc_64x64.png +0 -0
  793. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/cli.py +0 -0
  794. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/core/__init__.py +0 -0
  795. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/core/controllers.py +0 -0
  796. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/core/models.py +0 -0
  797. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/data/trcc_usb.te +0 -0
  798. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/install/__init__.py +0 -0
  799. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/install/gui.py +0 -0
  800. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/__init__.py +0 -0
  801. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/assets.py +0 -0
  802. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/constants.py +0 -0
  803. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/eyedropper.py +0 -0
  804. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/pipewire_capture.py +0 -0
  805. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/qt_app_mvc.py +0 -0
  806. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/screen_capture.py +0 -0
  807. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_activity_sidebar.py +0 -0
  808. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_color_wheel.py +0 -0
  809. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_device.py +0 -0
  810. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_image_cut.py +0 -0
  811. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_info_module.py +0 -0
  812. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_led_control.py +0 -0
  813. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_preview.py +0 -0
  814. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_screen_led.py +0 -0
  815. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_sensor_picker.py +0 -0
  816. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_seven_segment.py +0 -0
  817. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_system_info.py +0 -0
  818. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_theme_local.py +0 -0
  819. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_theme_mask.py +0 -0
  820. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_theme_setting.py +0 -0
  821. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_theme_web.py +0 -0
  822. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/qt_components/uc_video_cut.py +0 -0
  823. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/__init__.py +0 -0
  824. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/device.py +0 -0
  825. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/display.py +0 -0
  826. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/media.py +0 -0
  827. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/overlay.py +0 -0
  828. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/system.py +0 -0
  829. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/src/trcc/services/theme.py +0 -0
  830. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/README.md +0 -0
  831. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/__init__.py +0 -0
  832. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/hid_testing/__init__.py +0 -0
  833. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/hid_testing/conftest.py +0 -0
  834. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/hid_testing/test_device_factory.py +0 -0
  835. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/hid_testing/test_device_led.py +0 -0
  836. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/hid_testing/test_led_controller.py +0 -0
  837. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/run_tests.py +0 -0
  838. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_api.py +0 -0
  839. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_architecture.py +0 -0
  840. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_ax120_display.py +0 -0
  841. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_cli.py +0 -0
  842. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_controllers.py +0 -0
  843. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_data_repository.py +0 -0
  844. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_dc_parser.py +0 -0
  845. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_dc_writer.py +0 -0
  846. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_device_bulk.py +0 -0
  847. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_device_detector.py +0 -0
  848. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_device_implementations.py +0 -0
  849. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_device_lcd.py +0 -0
  850. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_device_led_kvm.py +0 -0
  851. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_device_scsi.py +0 -0
  852. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_doctor.py +0 -0
  853. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_hr10_display.py +0 -0
  854. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_integration.py +0 -0
  855. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_media_player.py +0 -0
  856. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_models.py +0 -0
  857. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_overlay_renderer.py +0 -0
  858. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_qt_base.py +0 -0
  859. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_qt_constants.py +0 -0
  860. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_qt_widgets.py +0 -0
  861. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_services.py +0 -0
  862. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_system_config.py +0 -0
  863. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_system_info.py +0 -0
  864. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_system_sensors.py +0 -0
  865. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_theme_cloud.py +0 -0
  866. {trcc_linux-5.0.2 → trcc_linux-5.0.4}/tests/test_theme_downloader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trcc-linux
3
- Version: 5.0.2
3
+ Version: 5.0.4
4
4
  Summary: Linux implementation of Thermalright LCD Control Center
5
5
  Project-URL: Homepage, https://github.com/Lexonight1/thermalright-trcc-linux
6
6
  Project-URL: Documentation, https://github.com/Lexonight1/thermalright-trcc-linux#readme
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "trcc-linux"
7
- version = "5.0.2"
7
+ version = "5.0.4"
8
8
  description = "Linux implementation of Thermalright LCD Control Center"
9
9
  readme = "README.md"
10
10
  license = "GPL-3.0-or-later"
@@ -1,6 +1,6 @@
1
1
  """TRCC Linux version information."""
2
2
 
3
- __version__ = "5.0.2"
3
+ __version__ = "5.0.4"
4
4
  __version_info__ = tuple(int(x) for x in __version__.split("."))
5
5
 
6
6
  # Version history:
@@ -195,3 +195,15 @@ __version_info__ = tuple(int(x) for x in __version__.split("."))
195
195
  # 30ms→150ms matching C# 10-tick counter, remove redundant 30ms USB
196
196
  # cooldown sleep, skip USB sends when colors unchanged (static mode).
197
197
  # Sensor poll interval 0.9s→2.0s. 2319 tests.
198
+ # 5.0.3 - Fix LED wire remap skipped: LEDService.initialize() never called
199
+ # protocol.handshake(), so style info was never cached and wire remap
200
+ # was silently skipped — colors sent to wrong physical LED positions.
201
+ # Affects all LED devices (#19 Phantom Spirit EVO, #15 PA120).
202
+ # Fix SCSI byte order: remove 240x320 from big-endian set (C# FBL 50
203
+ # uses little-endian, not SPIMode=2). Add SCSI handshake to trcc report
204
+ # (FBL byte + resolution) for resolution diagnostics (#17). 2352 tests.
205
+ # 5.0.4 - Fix HID Type 2 frame header: was sending all-zero 16-byte prefix,
206
+ # device firmware expects DA DB DC DD magic + command type (0x02) +
207
+ # mode flags matching C# FormCZTV.ImageTo565() mode 3. Without the
208
+ # magic, firmware rejects frames — causing USB disconnect (#16) or
209
+ # stuck-on-logo (#28). 2353 tests.
@@ -18,6 +18,7 @@ from __future__ import annotations
18
18
  import logging
19
19
  import struct
20
20
 
21
+ from trcc.adapters.device.frame import FrameDevice
21
22
  from trcc.core.models import HandshakeResult, fbl_to_resolution, pm_to_fbl
22
23
 
23
24
  log = logging.getLogger(__name__)
@@ -61,7 +62,7 @@ _FRAME_HEADER_SIZE = 64
61
62
  _WRITE_CHUNK_SIZE = 16 * 1024 # 16 KiB per USB bulk write
62
63
 
63
64
 
64
- class BulkDevice:
65
+ class BulkDevice(FrameDevice):
65
66
  """USB bulk device handler for USBLCDNew-type LCDs (87AD:70DB etc.).
66
67
 
67
68
  Uses pyusb for raw bulk endpoint I/O. The kernel must not have
@@ -32,6 +32,21 @@ from trcc.core.models import (
32
32
 
33
33
  log = logging.getLogger(__name__)
34
34
 
35
+ # Errno 16 = EBUSY — device interface claimed by another process (e.g. GUI).
36
+ _ERRNO_EBUSY = 16
37
+
38
+
39
+ def _is_ebusy(exc: Exception) -> bool:
40
+ """Check if exception is a USB EBUSY (device in use by another process)."""
41
+ # Walk the exception chain — EBUSY may be wrapped in RuntimeError
42
+ cur: Optional[BaseException] = exc
43
+ while cur is not None:
44
+ if getattr(cur, "errno", None) == _ERRNO_EBUSY:
45
+ return True
46
+ cur = cur.__cause__
47
+ return False
48
+
49
+
35
50
  # =========================================================================
36
51
  # DeviceProtocol ABC — the contract both SCSI and HID implement
37
52
  # =========================================================================
@@ -53,6 +68,9 @@ class DeviceProtocol(ABC):
53
68
  self.on_send_complete: Optional[Callable[[bool], None]] = None
54
69
  self.on_error: Optional[Callable[[str], None]] = None
55
70
  self.on_state_changed: Optional[Callable[[str, object], None]] = None
71
+ # Handshake state — common to all protocols
72
+ self._handshake_result: Optional[HandshakeResult] = None
73
+ self._last_error: Optional[Exception] = None
56
74
 
57
75
  @abstractmethod
58
76
  def send_image(self, image_data: bytes, width: int, height: int) -> bool:
@@ -99,13 +117,59 @@ class DeviceProtocol(ABC):
99
117
  """
100
118
  return False
101
119
 
102
- @abstractmethod
103
120
  def handshake(self) -> Optional[HandshakeResult]:
104
- """Perform device handshake and return capabilities.
121
+ """Template Method: perform handshake, cache result, handle errors.
105
122
 
106
- Returns HandshakeResult with resolution, model_id, etc.
107
- Returns None if handshake fails or device is unresponsive.
123
+ Subclasses implement _do_handshake() with protocol-specific logic.
108
124
  """
125
+ try:
126
+ result = self._do_handshake()
127
+ self._handshake_result = result
128
+ if result:
129
+ self._cache_handshake(result)
130
+ return result
131
+ except Exception as e:
132
+ if _is_ebusy(e):
133
+ log.warning("%s in use by another process",
134
+ self._handshake_label)
135
+ else:
136
+ log.exception("%s handshake failed", self._handshake_label)
137
+ self._last_error = e
138
+ self._notify_error(f"{self._handshake_label} handshake failed: {e}")
139
+ return None
140
+
141
+ @abstractmethod
142
+ def _do_handshake(self) -> Optional[HandshakeResult]:
143
+ """Protocol-specific handshake logic. Called by handshake()."""
144
+
145
+ @property
146
+ def _handshake_label(self) -> str:
147
+ """Human-readable label for error messages (e.g. 'HID 0416:5302')."""
148
+ return self.protocol_name
149
+
150
+ @property
151
+ def handshake_info(self) -> Optional[HandshakeResult]:
152
+ """Cached handshake result (None if not yet handshaked)."""
153
+ return self._handshake_result
154
+
155
+ @property
156
+ def last_error(self) -> Optional[Exception]:
157
+ """Last exception from handshake."""
158
+ return self._last_error
159
+
160
+ def _cache_handshake(self, result: HandshakeResult) -> None:
161
+ """Save handshake result so `trcc report` can read it while GUI runs."""
162
+ try:
163
+ from trcc.conf import save_last_handshake
164
+ save_last_handshake({
165
+ "protocol": self.protocol_name,
166
+ "model_id": result.model_id,
167
+ "resolution": list(result.resolution) if result.resolution else None,
168
+ "serial": result.serial,
169
+ "raw": result.raw_response.hex() if result.raw_response else "",
170
+ })
171
+ except Exception:
172
+ log.debug("Failed to cache handshake result", exc_info=True)
109
173
 
110
174
  @property
111
175
  def is_led(self) -> bool:
@@ -142,7 +206,7 @@ class ScsiProtocol(DeviceProtocol):
142
206
  super().__init__()
143
207
  self._path = device_path
144
208
 
145
- def handshake(self) -> Optional[HandshakeResult]:
209
+ def _do_handshake(self) -> Optional[HandshakeResult]:
146
210
  """Poll SCSI device to discover FBL → resolution."""
147
211
  from .scsi import ScsiDevice
148
212
  dev = ScsiDevice(self._path)
@@ -205,51 +269,36 @@ class HidProtocol(DeviceProtocol):
205
269
  self._pid = pid
206
270
  self._device_type = device_type
207
271
  self._transport = None
208
- self._handshake_info = None
209
- self._last_error: Optional[Exception] = None
210
-
211
- def handshake(self) -> Optional[HandshakeResult]:
212
- """Perform HID LCD handshake and return HidHandshakeInfo.
213
-
214
- Opens transport if needed. Returns hid_device.HidHandshakeInfo with
215
- PM, SUB, FBL, resolution, and raw_response for debugging.
216
- """
217
- try:
218
- if self._transport is None:
219
- log.debug("Opening HID transport: %04X:%04X (type %d)", self._vid, self._pid, self._device_type)
220
- self._transport = self._create_transport()
221
- self._transport.open()
222
- self._notify_state_changed("transport_open", True)
223
272
 
224
- from .hid import HidDeviceType2, HidDeviceType3
225
- if self._device_type == 2:
226
- handler = HidDeviceType2(self._transport)
227
- elif self._device_type == 3:
228
- handler = HidDeviceType3(self._transport)
229
- else:
230
- log.warning("Unknown HID device type: %d", self._device_type)
231
- return None
232
-
233
- self._handshake_info = handler.handshake()
234
- if self._handshake_info:
235
- log.info("HID handshake OK: PM=%s, FBL=%s, resolution=%s",
236
- self._handshake_info.mode_byte_1, self._handshake_info.fbl,
237
- self._handshake_info.resolution)
238
- else:
239
- log.warning("HID handshake returned None")
240
- self._notify_state_changed("handshake_complete", True)
241
- return self._handshake_info
242
- except Exception as e:
243
- log.exception("HID handshake failed for %04X:%04X type %d",
244
- self._vid, self._pid, self._device_type)
245
- self._last_error = e
246
- self._notify_error(f"HID handshake failed: {e}")
273
+ def _do_handshake(self) -> Optional[HandshakeResult]:
274
+ """Open HID transport and perform type-specific handshake."""
275
+ if self._transport is None:
276
+ log.debug("Opening HID transport: %04X:%04X (type %d)", self._vid, self._pid, self._device_type)
277
+ self._transport = self._create_transport()
278
+ self._transport.open()
279
+ self._notify_state_changed("transport_open", True)
280
+
281
+ from .hid import HidDeviceType2, HidDeviceType3
282
+ if self._device_type == 2:
283
+ handler = HidDeviceType2(self._transport)
284
+ elif self._device_type == 3:
285
+ handler = HidDeviceType3(self._transport)
286
+ else:
287
+ log.warning("Unknown HID device type: %d", self._device_type)
247
288
  return None
248
289
 
290
+ result = handler.handshake()
291
+ if result:
292
+ log.info("HID handshake OK: PM=%s, FBL=%s, resolution=%s",
293
+ result.mode_byte_1, result.fbl, result.resolution)
294
+ else:
295
+ log.warning("HID handshake returned None")
296
+ self._notify_state_changed("handshake_complete", True)
297
+ return result
298
+
249
299
  @property
250
- def last_error(self) -> Optional[Exception]:
251
- """Last exception from handshake (None if no error or not yet attempted)."""
252
- return self._last_error
300
+ def _handshake_label(self) -> str:
301
+ return f"HID {self._vid:04X}:{self._pid:04X} type {self._device_type}"
253
302
 
254
303
  def send_image(self, image_data: bytes, width: int, height: int) -> bool:
255
304
  try:
@@ -336,8 +385,6 @@ class LedProtocol(DeviceProtocol):
336
385
  self._pid = pid
337
386
  self._transport = None
338
387
  self._sender = None
339
- self._handshake_info = None
340
- self._last_error: Optional[Exception] = None
341
388
 
342
389
  def send_image(self, image_data: bytes, width: int, height: int) -> bool:
343
390
  """No-op — LED devices don't display images."""
@@ -374,10 +421,10 @@ class LedProtocol(DeviceProtocol):
374
421
  from .led import LedPacketBuilder, remap_led_colors
375
422
 
376
423
  # Remap logical LED order → physical wire order (per-style).
377
- if self._handshake_info and self._handshake_info.style:
378
- led_colors = remap_led_colors(
379
- led_colors, self._handshake_info.style.style_id,
380
- )
424
+ hr = self._handshake_result
425
+ style = getattr(hr, 'style', None) if hr else None
426
+ if style:
427
+ led_colors = remap_led_colors(led_colors, style.style_id)
381
428
 
382
429
  packet = LedPacketBuilder.build_led_packet(
383
430
  led_colors, is_on, global_on, brightness
@@ -390,43 +437,27 @@ class LedProtocol(DeviceProtocol):
390
437
  self._notify_send_complete(False)
391
438
  return False
392
439
 
393
- def handshake(self) -> Optional[HandshakeResult]:
394
- """Perform LED device handshake and return device info.
395
-
396
- The firmware only responds to the handshake once after power-on.
397
- Subsequent calls return the cached result.
398
-
399
- Returns:
400
- LedHandshakeInfo with pm byte and resolved device style.
401
- """
402
- # Return cached result — device firmware ignores re-handshakes
403
- if self._handshake_info is not None:
404
- return self._handshake_info
440
+ def _do_handshake(self) -> Optional[HandshakeResult]:
441
+ """LED handshake cached after first call (firmware ignores re-handshakes)."""
442
+ if self._handshake_result is not None:
443
+ return self._handshake_result
405
444
 
406
- try:
407
- if self._transport is None:
408
- self._transport = self._create_transport()
409
- self._transport.open()
410
- self._notify_state_changed("transport_open", True)
445
+ if self._transport is None:
446
+ self._transport = self._create_transport()
447
+ self._transport.open()
448
+ self._notify_state_changed("transport_open", True)
411
449
 
412
- if self._sender is None:
413
- from .led import LedHidSender
414
- self._sender = LedHidSender(self._transport)
450
+ if self._sender is None:
451
+ from .led import LedHidSender
452
+ self._sender = LedHidSender(self._transport)
415
453
 
416
- self._handshake_info = self._sender.handshake()
417
- self._notify_state_changed("handshake_complete", True)
418
- return self._handshake_info
419
- except Exception as e:
420
- log.exception("LED handshake failed for %04X:%04X",
421
- self._vid, self._pid)
422
- self._last_error = e
423
- self._notify_error(f"LED handshake failed: {e}")
424
- return None
454
+ result = self._sender.handshake()
455
+ self._notify_state_changed("handshake_complete", True)
456
+ return result
425
457
 
426
458
  @property
427
- def last_error(self) -> Optional[Exception]:
428
- """Last exception from handshake (None if no error or not yet attempted)."""
429
- return self._last_error
459
+ def _handshake_label(self) -> str:
460
+ return f"LED {self._vid:04X}:{self._pid:04X}"
430
461
 
431
462
  def close(self) -> None:
432
463
  if self._transport is not None:
@@ -475,11 +506,6 @@ class LedProtocol(DeviceProtocol):
475
506
  def is_led(self) -> bool:
476
507
  return True
477
508
 
478
- @property
479
- def handshake_info(self):
480
- """Cached handshake info (None if not yet handshaked)."""
481
- return self._handshake_info
482
-
483
509
  def __repr__(self) -> str:
484
510
  return f"LedProtocol(vid=0x{self._vid:04x}, pid=0x{self._pid:04x})"
485
511
 
@@ -500,8 +526,6 @@ class BulkProtocol(DeviceProtocol):
500
526
  self._vid = vid
501
527
  self._pid = pid
502
528
  self._device: Optional[Any] = None # BulkDevice (lazy import)
503
- self._handshake_result: Optional[HandshakeResult] = None
504
- self._last_error: Optional[Exception] = None
505
529
 
506
530
  def _ensure_device(self):
507
531
  """Lazily create and handshake the bulk device."""
@@ -517,22 +541,14 @@ class BulkProtocol(DeviceProtocol):
517
541
  else:
518
542
  log.warning("Bulk handshake: no resolution detected")
519
543
 
520
- def handshake(self) -> Optional[HandshakeResult]:
521
- """Perform bulk device handshake."""
522
- try:
523
- self._ensure_device()
524
- return self._handshake_result
525
- except Exception as e:
526
- log.exception("Bulk handshake failed for %04X:%04X",
527
- self._vid, self._pid)
528
- self._last_error = e
529
- self._notify_error(f"Bulk handshake failed: {e}")
530
- return None
544
+ def _do_handshake(self) -> Optional[HandshakeResult]:
545
+ """Create bulk device and perform handshake."""
546
+ self._ensure_device()
547
+ return self._handshake_result
531
548
 
532
549
  @property
533
- def last_error(self) -> Optional[Exception]:
534
- """Last exception from handshake."""
535
- return self._last_error
550
+ def _handshake_label(self) -> str:
551
+ return f"Bulk {self._vid:04X}:{self._pid:04X}"
536
552
 
537
553
  def send_image(self, image_data: bytes, width: int, height: int) -> bool:
538
554
  try:
@@ -0,0 +1,84 @@
1
+ """
2
+ Transport-layer ABC hierarchy for all USB device types.
3
+
4
+ Two categories of devices plug into DeviceProtocol (factory.py adapter layer):
5
+ - Frame devices (SCSI, HID, Bulk) send image frames to LCD screens.
6
+ - LED devices send RGB color data to LED controllers.
7
+
8
+ Both share a universal contract (UsbDevice: handshake + close), then
9
+ specialize with their data-sending method.
10
+
11
+ Hierarchy:
12
+ UsbDevice (ABC) — handshake() + close()
13
+ ├── FrameDevice (ABC) — + send_frame()
14
+ │ ├── ScsiDevice
15
+ │ ├── BulkDevice
16
+ │ └── HidDevice (ABC)
17
+ │ ├── HidDeviceType2
18
+ │ └── HidDeviceType3
19
+ └── LedDevice (ABC) — + send_led_data() + is_sending
20
+ └── LedHidSender
21
+ """
22
+
23
+ from abc import ABC, abstractmethod
24
+
25
+ from trcc.core.models import HandshakeResult
26
+
27
+
28
+ class UsbDevice(ABC):
29
+ """Universal contract for all USB devices.
30
+
31
+ Every device — frame-sending or LED — performs a handshake to
32
+ negotiate capabilities and must release resources on close.
33
+ """
34
+
35
+ @abstractmethod
36
+ def handshake(self) -> HandshakeResult:
37
+ """Perform device handshake and return capabilities."""
38
+
39
+ @abstractmethod
40
+ def close(self) -> None:
41
+ """Release device resources."""
42
+
43
+
44
+ class FrameDevice(UsbDevice):
45
+ """Contract for USB LCD devices that send image frames.
46
+
47
+ Adds send_frame() to the universal handshake + close contract.
48
+ Not for LED devices (which send color data, not image frames).
49
+ """
50
+
51
+ @abstractmethod
52
+ def send_frame(self, image_data: bytes) -> bool:
53
+ """Send one image frame to the LCD device.
54
+
55
+ Args:
56
+ image_data: Frame bytes (RGB565, JPEG, etc. depending on device).
57
+
58
+ Returns:
59
+ True if the frame was sent successfully.
60
+ """
61
+
62
+
63
+ class LedDevice(UsbDevice):
64
+ """Contract for USB LED devices that send RGB color data.
65
+
66
+ Adds send_led_data() and is_sending to the universal contract.
67
+ Not for LCD frame devices (which send image frames, not LED data).
68
+ """
69
+
70
+ @abstractmethod
71
+ def send_led_data(self, packet: bytes) -> bool:
72
+ """Send an LED data packet to the device.
73
+
74
+ Args:
75
+ packet: Complete LED packet (header + RGB payload).
76
+
77
+ Returns:
78
+ True if the packet was sent successfully.
79
+ """
80
+
81
+ @property
82
+ @abstractmethod
83
+ def is_sending(self) -> bool:
84
+ """Whether a send is currently in progress."""
@@ -27,6 +27,7 @@ from typing import Any, Optional, Set
27
27
  import usb.core
28
28
  import usb.util
29
29
 
30
+ from trcc.adapters.device.frame import FrameDevice
30
31
  from trcc.core.models import (
31
32
  DEVICE_BUTTON_IMAGE, # noqa: F401 — re-export
32
33
  PM_TO_BUTTON_IMAGE, # noqa: F401 — re-export
@@ -161,7 +162,7 @@ def _ceil_to_512(n: int) -> int:
161
162
  # HID device base class
162
163
  # =========================================================================
163
164
 
164
- class HidDevice:
165
+ class HidDevice(FrameDevice):
165
166
  """Base for HID LCD device handlers (Type 2 and Type 3).
166
167
 
167
168
  Provides shared init state and the handshake template:
@@ -351,21 +352,34 @@ class HidDeviceType2(HidDevice):
351
352
  def build_frame_packet(image_data: bytes) -> bytes:
352
353
  """Build a frame packet from raw image data.
353
354
 
354
- The 20-byte header is structured so that bytes[16:20] contain
355
- the image data length as a little-endian uint32. The rest of
356
- the header is zeros (populated by the TRCC GUI in Windows via
357
- shared memory; we only need the size field for the device to
358
- parse it).
355
+ C# FormCZTV.ImageTo565() mode 3 builds a 20-byte header::
356
+
357
+ DA DB DC DD 02 00 01 00 F0 00 40 01 02 00 00 00 [len_LE32]
358
+
359
+ - [0:4] DA DB DC DD — protocol magic (same as handshake)
360
+ - [4] 02 — SSCRM_CMD_TYPE_PICTURE
361
+ - [6] 01 — mode flag
362
+ - [8:10] F0 00 — 240 (LE16, hardcoded in C#)
363
+ - [10:12] 40 01 — 320 (LE16, hardcoded in C#)
364
+ - [12] 02 — sub-flag
365
+ - [16:20] image data length (LE uint32)
359
366
 
360
367
  The total transfer length is rounded up to the next 512-byte
361
368
  boundary (C#: ``num2 / 512 * 512 + (num2 % 512 != 0 ? 512 : 0)``).
362
369
 
363
370
  Returns the padded packet ready for USB bulk write.
364
371
  """
365
- data_len = len(image_data)
366
- # 20-byte header: 16 zero bytes + LE uint32 image size
367
- header = b'\x00' * 16 + struct.pack('<I', data_len)
368
- raw = header + image_data
372
+ # Match C# FormCZTV.ImageTo565() mode 3 header exactly
373
+ header = bytearray([
374
+ 0xDA, 0xDB, 0xDC, 0xDD, # magic
375
+ 0x02, 0x00, # cmd_type = PICTURE
376
+ 0x01, 0x00, # mode flag
377
+ 0xF0, 0x00, # 240 (LE16, hardcoded)
378
+ 0x40, 0x01, # 320 (LE16, hardcoded)
379
+ 0x02, 0x00, 0x00, 0x00, # sub-flag
380
+ ])
381
+ header.extend(struct.pack('<I', len(image_data)))
382
+ raw = bytes(header) + image_data
369
383
  padded_len = _ceil_to_512(len(raw))
370
384
  return raw.ljust(padded_len, b'\x00')
371
385
 
@@ -30,6 +30,7 @@ from trcc.core.models import (
30
30
  remap_led_colors, # noqa: F401 — re-export
31
31
  )
32
32
 
33
+ from .frame import LedDevice
33
34
  from .hid import (
34
35
  DEFAULT_TIMEOUT_MS,
35
36
  EP_READ_01,
@@ -297,7 +298,7 @@ class LedPacketBuilder:
297
298
  # LED HID sender (from UCDevice.cs ThreadSendDeviceData1)
298
299
  # =========================================================================
299
300
 
300
- class LedHidSender:
301
+ class LedHidSender(LedDevice):
301
302
  """Sends LED packets via UsbTransport with 64-byte report chunking.
302
303
 
303
304
  Matches UCDevice.cs ThreadSendDeviceData1 (lines 983-1026):
@@ -18,6 +18,7 @@ import time
18
18
  import zlib
19
19
  from typing import Dict, List, Set
20
20
 
21
+ from trcc.adapters.device.frame import FrameDevice
21
22
  from trcc.adapters.infra.data_repository import SysUtils
22
23
  from trcc.core.models import HandshakeResult, fbl_to_resolution
23
24
 
@@ -53,7 +54,7 @@ _BOOT_ANIM_RESOLUTIONS = {
53
54
  # =========================================================================
54
55
 
55
56
 
56
- class ScsiDevice:
57
+ class ScsiDevice(FrameDevice):
57
58
  """SCSI LCD device handler wrapping sg_raw subprocess calls."""
58
59
 
59
60
  # Track which devices have been initialized (poll + init sent)
@@ -257,7 +258,8 @@ class ScsiDevice:
257
258
  resolution = fbl_to_resolution(fbl)
258
259
  self.width, self.height = resolution
259
260
  self._initialized = True
260
- return HandshakeResult(resolution=resolution)
261
+ log.info("SCSI handshake OK: FBL=%d, resolution=%s", fbl, resolution)
262
+ return HandshakeResult(resolution=resolution, model_id=fbl)
261
263
 
262
264
  def send_frame(self, rgb565_data: bytes) -> bool:
263
265
  """Send one RGB565 frame."""