trcc-linux 1.2.14__tar.gz → 1.2.16__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 (837) hide show
  1. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/PKG-INFO +1 -1
  2. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/pyproject.toml +1 -1
  3. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/__version__.py +5 -1
  4. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/cli.py +14 -4
  5. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/core/controllers.py +1 -1
  6. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_detector.py +35 -17
  7. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_factory.py +19 -26
  8. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_implementations.py +5 -18
  9. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/lcd_driver.py +11 -61
  10. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/led_device.py +9 -8
  11. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_led_device.py +55 -7
  12. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_integration.py +16 -22
  13. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_lcd_driver.py +39 -66
  14. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/.gitignore +0 -0
  15. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/LICENSE +0 -0
  16. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/README.md +0 -0
  17. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/__init__.py +0 -0
  18. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/__main__.py +0 -0
  19. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/fonts/MSYH.TTC +0 -0
  20. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
  21. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/fonts/README.md +0 -0
  22. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/240240.gif +0 -0
  23. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/240320.gif +0 -0
  24. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/320240.gif +0 -0
  25. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/320320.gif +0 -0
  26. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216.png" +0 -0
  27. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216d.png" +0 -0
  28. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216e.png" +0 -0
  29. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216en.png" +0 -0
  30. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216f.png" +0 -0
  31. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216p.png" +0 -0
  32. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216r.png" +0 -0
  33. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216tc.png" +0 -0
  34. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216x.png" +0 -0
  35. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/220/257/345/212/250/347/225/214/351/235/242.png" +0 -0
  36. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/225/260/346/215/256/345/210/227/350/241/250.png" +0 -0
  37. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207.png" +0 -0
  38. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207en.png" +0 -0
  39. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207tc.png" +0 -0
  40. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/347/241/254/344/273/266/345/210/227/350/241/250.png" +0 -0
  41. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120 Digital.png +0 -0
  42. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120 Digitala.png +0 -0
  43. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120_Digital.png +0 -0
  44. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120_Digitala.png +0 -0
  45. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120 VISION.png +0 -0
  46. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120 VISIONa.png +0 -0
  47. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120_VISION.png +0 -0
  48. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120_VISIONa.png +0 -0
  49. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120 DIGITAL.png +0 -0
  50. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120 DIGITALa.png +0 -0
  51. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120_DIGITAL.png +0 -0
  52. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120_DIGITALa.png +0 -0
  53. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120 VISION.png +0 -0
  54. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120 VISIONa.png +0 -0
  55. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120_VISION.png +0 -0
  56. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120_VISIONa.png +0 -0
  57. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE VISION.png +0 -0
  58. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE VISIONa.png +0 -0
  59. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE_VISION.png +0 -0
  60. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE_VISIONa.png +0 -0
  61. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZ1.png +0 -0
  62. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZ1a.png +0 -0
  63. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZTV.png +0 -0
  64. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZTVa.png +0 -0
  65. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE VISION.png +0 -0
  66. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE VISIONa.png +0 -0
  67. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE_VISION.png +0 -0
  68. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE_VISIONa.png +0 -0
  69. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN HORIZON PRO.png +0 -0
  70. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN HORIZON PROa.png +0 -0
  71. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN MAGIC PRO.png +0 -0
  72. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN MAGIC PROa.png +0 -0
  73. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN VISION V2.png +0 -0
  74. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN VISION V2a.png +0 -0
  75. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME PRO.png +0 -0
  76. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME PROa.png +0 -0
  77. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME SE.png +0 -0
  78. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME SEa.png +0 -0
  79. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME.png +0 -0
  80. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAMEa.png +0 -0
  81. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_HORIZON_PRO.png +0 -0
  82. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_HORIZON_PROa.png +0 -0
  83. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_MAGIC_PRO.png +0 -0
  84. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_MAGIC_PROa.png +0 -0
  85. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_VISION_V2.png +0 -0
  86. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_VISION_V2a.png +0 -0
  87. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME.png +0 -0
  88. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PRO.png +0 -0
  89. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PROa.png +0 -0
  90. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SE.png +0 -0
  91. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SEa.png +0 -0
  92. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAMEa.png +0 -0
  93. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND VISION.png +0 -0
  94. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND VISIONa.png +0 -0
  95. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND_VISION.png +0 -0
  96. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND_VISIONa.png +0 -0
  97. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITAL.png +0 -0
  98. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITALa.png +0 -0
  99. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER VISION.png +0 -0
  100. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER VISIONa.png +0 -0
  101. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER_VISION.png +0 -0
  102. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER_VISIONa.png +0 -0
  103. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1KVMALEDC6.png +0 -0
  104. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1KVMALEDC6a.png +0 -0
  105. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC1.png +0 -0
  106. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC1a.png +0 -0
  107. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2.png +0 -0
  108. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2JD.png +0 -0
  109. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2JDa.png +0 -0
  110. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2a.png +0 -0
  111. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC3.png +0 -0
  112. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC3a.png +0 -0
  113. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC5.png +0 -0
  114. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC5a.png +0 -0
  115. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF10.png +0 -0
  116. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF10a.png +0 -0
  117. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF11.png +0 -0
  118. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF11a.png +0 -0
  119. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF12.png +0 -0
  120. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF12a.png +0 -0
  121. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF13.png +0 -0
  122. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF13a.png +0 -0
  123. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF14.png +0 -0
  124. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF14a.png +0 -0
  125. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF15.png +0 -0
  126. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF15a.png +0 -0
  127. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF16.png +0 -0
  128. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF167.png +0 -0
  129. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF16a.png +0 -0
  130. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF17a.png +0 -0
  131. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF18.png +0 -0
  132. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF18a.png +0 -0
  133. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF19.png +0 -0
  134. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF19a.png +0 -0
  135. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF8.png +0 -0
  136. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF8a.png +0 -0
  137. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM16SE.png +0 -0
  138. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM16SEa.png +0 -0
  139. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM22.png +0 -0
  140. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM22a.png +0 -0
  141. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM24.png +0 -0
  142. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM24a.png +0 -0
  143. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM26.png +0 -0
  144. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM26a.png +0 -0
  145. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM27.png +0 -0
  146. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM27a.png +0 -0
  147. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISION PRO.png +0 -0
  148. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISION PROa.png +0 -0
  149. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISION.png +0 -0
  150. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISIONa.png +0 -0
  151. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISION.png +0 -0
  152. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISION_PRO.png +0 -0
  153. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISION_PROa.png +0 -0
  154. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISIONa.png +0 -0
  155. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120 DIGITAL.png +0 -0
  156. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120 DIGITALa.png +0 -0
  157. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120_DIGITAL.png +0 -0
  158. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120_DIGITALa.png +0 -0
  159. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120 DIGITAL.png +0 -0
  160. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120 DIGITALa.png +0 -0
  161. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120_DIGITAL.png +0 -0
  162. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120_DIGITALa.png +0 -0
  163. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130 VISION.png +0 -0
  164. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130 VISIONa.png +0 -0
  165. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130_VISION.png +0 -0
  166. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130_VISIONa.png +0 -0
  167. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream Vision.png +0 -0
  168. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream Visiona.png +0 -0
  169. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream_Vision.png +0 -0
  170. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream_Visiona.png +0 -0
  171. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250.png" +0 -0
  172. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250a.png" +0 -0
  173. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/345/205/263/344/272/216.png" +0 -0
  174. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/345/205/263/344/272/216a.png" +0 -0
  175. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/345/272/225/345/233/276.png" +0 -0
  176. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  177. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A2/344/270/213/346/213/211/351/200/211/346/213/251/346/241/206.png" +0 -0
  178. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A2/347/253/213/345/215/263/346/233/264/346/226/260.png" +0 -0
  179. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Acpu.png +0 -0
  180. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Adram.png +0 -0
  181. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Afan.png +0 -0
  182. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Agpu.png +0 -0
  183. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Ahdd.png +0 -0
  184. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Alogout/351/200/211/344/270/255.png" +0 -0
  185. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Alogout/351/273/230/350/256/244.png" +0 -0
  186. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Anet.png +0 -0
  187. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/344/270/212/344/270/200/351/241/265a.png" +0 -0
  188. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/344/270/213/344/270/200/351/241/265a.png" +0 -0
  189. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/345/242/236/345/212/240/346/225/260/347/273/204.png" +0 -0
  190. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/346/225/260/346/215/256/351/200/211/346/213/251.png" +0 -0
  191. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/346/273/232/345/212/250/346/235/241.png" +0 -0
  192. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/350/207/252/345/256/232/344/271/211.png" +0 -0
  193. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1.png +0 -0
  194. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1d.png +0 -0
  195. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1e.png +0 -0
  196. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1en.png +0 -0
  197. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1f.png +0 -0
  198. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1p.png +0 -0
  199. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1r.png +0 -0
  200. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1tc.png +0 -0
  201. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1x.png +0 -0
  202. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0KVMA/347/201/257/346/216/247.png" +0 -0
  203. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1.png +0 -0
  204. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1d.png +0 -0
  205. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1e.png +0 -0
  206. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1en.png +0 -0
  207. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1f.png +0 -0
  208. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1p.png +0 -0
  209. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1r.png +0 -0
  210. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1tc.png +0 -0
  211. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1x.png +0 -0
  212. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2.png +0 -0
  213. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2d.png +0 -0
  214. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2e.png +0 -0
  215. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2en.png +0 -0
  216. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2f.png +0 -0
  217. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2p.png +0 -0
  218. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2r.png +0 -0
  219. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2tc.png +0 -0
  220. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2x.png +0 -0
  221. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10.png +0 -0
  222. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10d.png +0 -0
  223. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10e.png +0 -0
  224. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10en.png +0 -0
  225. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10f.png +0 -0
  226. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10p.png +0 -0
  227. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10r.png +0 -0
  228. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10tc.png +0 -0
  229. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10x.png +0 -0
  230. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11.png +0 -0
  231. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11d.png +0 -0
  232. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11e.png +0 -0
  233. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11en.png +0 -0
  234. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11f.png +0 -0
  235. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11p.png +0 -0
  236. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11r.png +0 -0
  237. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11tc.png +0 -0
  238. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11x.png +0 -0
  239. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12.png +0 -0
  240. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12d.png +0 -0
  241. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12e.png +0 -0
  242. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12en.png +0 -0
  243. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12f.png +0 -0
  244. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12p.png +0 -0
  245. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12r.png +0 -0
  246. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12tc.png +0 -0
  247. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12x.png +0 -0
  248. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13.png +0 -0
  249. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13d.png +0 -0
  250. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13e.png +0 -0
  251. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13en.png +0 -0
  252. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13f.png +0 -0
  253. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13p.png +0 -0
  254. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13r.png +0 -0
  255. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13tc.png +0 -0
  256. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13x.png +0 -0
  257. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15.png +0 -0
  258. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15d.png +0 -0
  259. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15e.png +0 -0
  260. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15en.png +0 -0
  261. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15f.png +0 -0
  262. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15p.png +0 -0
  263. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15r.png +0 -0
  264. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15tc.png +0 -0
  265. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15x.png +0 -0
  266. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8.png +0 -0
  267. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8d.png +0 -0
  268. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8e.png +0 -0
  269. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8en.png +0 -0
  270. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8f.png +0 -0
  271. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8p.png +0 -0
  272. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8r.png +0 -0
  273. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8tc.png +0 -0
  274. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8x.png +0 -0
  275. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0rgblf13.png +0 -0
  276. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217.png" +0 -0
  277. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237.png" +0 -0
  278. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237d.png" +0 -0
  279. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237e.png" +0 -0
  280. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237en.png" +0 -0
  281. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237f.png" +0 -0
  282. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237p.png" +0 -0
  283. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237r.png" +0 -0
  284. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237tc.png" +0 -0
  285. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237x.png" +0 -0
  286. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217d.png" +0 -0
  287. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217e.png" +0 -0
  288. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217en.png" +0 -0
  289. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217f.png" +0 -0
  290. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217p.png" +0 -0
  291. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217r.png" +0 -0
  292. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217tc.png" +0 -0
  293. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217x.png" +0 -0
  294. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272.png" +0 -0
  295. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272a.png" +0 -0
  296. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2241.png" +0 -0
  297. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2242.png" +0 -0
  298. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2243.png" +0 -0
  299. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2244.png" +0 -0
  300. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2245.png" +0 -0
  301. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210.png" +0 -0
  302. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210a.png" +0 -0
  303. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2111.png" +0 -0
  304. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21110.png" +0 -0
  305. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21110a.png" +0 -0
  306. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21111.png" +0 -0
  307. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21111a.png" +0 -0
  308. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21112.png" +0 -0
  309. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21112a.png" +0 -0
  310. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2111a.png" +0 -0
  311. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2112.png" +0 -0
  312. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2112a.png" +0 -0
  313. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2113.png" +0 -0
  314. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2113a.png" +0 -0
  315. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2114.png" +0 -0
  316. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2114a.png" +0 -0
  317. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2115.png" +0 -0
  318. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2115a.png" +0 -0
  319. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2116.png" +0 -0
  320. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2116a.png" +0 -0
  321. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2117.png" +0 -0
  322. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2117a.png" +0 -0
  323. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2118.png" +0 -0
  324. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2118a.png" +0 -0
  325. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2119.png" +0 -0
  326. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2119a.png" +0 -0
  327. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/345/274/200/345/205/263.png" +0 -0
  328. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/345/274/200/345/205/263a.png" +0 -0
  329. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/345/274/200/345/205/263b.png" +0 -0
  330. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/227/213/351/222/256.png" +0 -0
  331. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/227/213/351/222/2560.png" +0 -0
  332. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/251/231.png" +0 -0
  333. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/271/226.png" +0 -0
  334. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  335. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001.png" +0 -0
  336. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001a.png" +0 -0
  337. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002.png" +0 -0
  338. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002a.png" +0 -0
  339. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003.png" +0 -0
  340. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003a.png" +0 -0
  341. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/231/275.png" +0 -0
  342. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/264/253.png" +0 -0
  343. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/272/242.png" +0 -0
  344. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/273/277.png" +0 -0
  345. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/350/223/235.png" +0 -0
  346. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/351/273/204.png" +0 -0
  347. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/345/274/200/346/234/272.png" +0 -0
  348. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/345/274/200/346/234/272a.png" +0 -0
  349. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2561.png" +0 -0
  350. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2561a.png" +0 -0
  351. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2562.png" +0 -0
  352. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2562a.png" +0 -0
  353. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2563.png" +0 -0
  354. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2563a.png" +0 -0
  355. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2564.png" +0 -0
  356. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2564a.png" +0 -0
  357. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2171.png" +0 -0
  358. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2171a.png" +0 -0
  359. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2172.png" +0 -0
  360. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2172a.png" +0 -0
  361. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2173.png" +0 -0
  362. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2173a.png" +0 -0
  363. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2174.png" +0 -0
  364. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2174a.png" +0 -0
  365. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2175.png" +0 -0
  366. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2175a.png" +0 -0
  367. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2176.png" +0 -0
  368. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2176a.png" +0 -0
  369. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DAK120_DIGITAL.png +0 -0
  370. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DAX120_DIGITAL.png +0 -0
  371. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DCZ1.png +0 -0
  372. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DFROZEN_HORIZON_PRO.png +0 -0
  373. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DFROZEN_MAGIC_PRO.png +0 -0
  374. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLC1.png +0 -0
  375. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLC2.png +0 -0
  376. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF10.png +0 -0
  377. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF11.png +0 -0
  378. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF12.png +0 -0
  379. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF13.png +0 -0
  380. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF15.png +0 -0
  381. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF8.png +0 -0
  382. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DPA120 DIGITAL.png +0 -0
  383. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DPA120_DIGITAL.png +0 -0
  384. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch1.png +0 -0
  385. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch2.png +0 -0
  386. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch3.png +0 -0
  387. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch4.png +0 -0
  388. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dchcz1.png +0 -0
  389. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/206.png" +0 -0
  390. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/2062.png" +0 -0
  391. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/225.png" +0 -0
  392. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/2252.png" +0 -0
  393. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/256.png" +0 -0
  394. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/2562.png" +0 -0
  395. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultra.png +0 -0
  396. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultraa.png +0 -0
  397. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271.png" +0 -0
  398. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271d.png" +0 -0
  399. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271e.png" +0 -0
  400. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271en.png" +0 -0
  401. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271f.png" +0 -0
  402. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271p.png" +0 -0
  403. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271r.png" +0 -0
  404. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271tc.png" +0 -0
  405. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271x.png" +0 -0
  406. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/212/250/347/224/273/350/201/224/345/212/250.png" +0 -0
  407. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277.png" +0 -0
  408. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277d.png" +0 -0
  409. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277e.png" +0 -0
  410. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277en.png" +0 -0
  411. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277f.png" +0 -0
  412. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277p.png" +0 -0
  413. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277r.png" +0 -0
  414. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277tc.png" +0 -0
  415. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277x.png" +0 -0
  416. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
  417. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  418. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277.png" +0 -0
  419. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277d.png" +0 -0
  420. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277e.png" +0 -0
  421. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277en.png" +0 -0
  422. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277f.png" +0 -0
  423. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277p.png" +0 -0
  424. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277r.png" +0 -0
  425. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277tc.png" +0 -0
  426. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277x.png" +0 -0
  427. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xy.png" +0 -0
  428. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyd.png" +0 -0
  429. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xye.png" +0 -0
  430. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyen.png" +0 -0
  431. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyf.png" +0 -0
  432. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyp.png" +0 -0
  433. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyr.png" +0 -0
  434. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xytc.png" +0 -0
  435. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyx.png" +0 -0
  436. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yx.png" +0 -0
  437. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxd.png" +0 -0
  438. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxe.png" +0 -0
  439. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxen.png" +0 -0
  440. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxf.png" +0 -0
  441. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxp.png" +0 -0
  442. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxr.png" +0 -0
  443. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxtc.png" +0 -0
  444. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxx.png" +0 -0
  445. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250.png" +0 -0
  446. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250d.png" +0 -0
  447. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250e.png" +0 -0
  448. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250en.png" +0 -0
  449. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250f.png" +0 -0
  450. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250p.png" +0 -0
  451. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250r.png" +0 -0
  452. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250tc.png" +0 -0
  453. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250x.png" +0 -0
  454. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272.png" +0 -0
  455. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272en.png" +0 -0
  456. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272tc.png" +0 -0
  457. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/250/241/345/235/227/350/256/276/347/275/256.png" +0 -0
  458. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
  459. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
  460. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
  461. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272.png" +0 -0
  462. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272d.png" +0 -0
  463. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272e.png" +0 -0
  464. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272en.png" +0 -0
  465. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272f.png" +0 -0
  466. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272p.png" +0 -0
  467. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272r.png" +0 -0
  468. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272tc.png" +0 -0
  469. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272x.png" +0 -0
  470. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227.png" +0 -0
  471. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227en.png" +0 -0
  472. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227tc.png" +0 -0
  473. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2501.png" +0 -0
  474. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2502.png" +0 -0
  475. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2503.png" +0 -0
  476. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTV.png +0 -0
  477. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVd.png +0 -0
  478. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVe.png +0 -0
  479. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVen.png +0 -0
  480. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVf.png +0 -0
  481. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVp.png +0 -0
  482. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVr.png +0 -0
  483. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVtc.png +0 -0
  484. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVx.png +0 -0
  485. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M1.png +0 -0
  486. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M2.png +0 -0
  487. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M3.png +0 -0
  488. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M4.png +0 -0
  489. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M5.png +0 -0
  490. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M5a.png +0 -0
  491. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M6.png +0 -0
  492. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
  493. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  494. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230d.png" +0 -0
  495. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230e.png" +0 -0
  496. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230en.png" +0 -0
  497. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230f.png" +0 -0
  498. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230p.png" +0 -0
  499. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230r.png" +0 -0
  500. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230tc.png" +0 -0
  501. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230x.png" +0 -0
  502. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  503. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
  504. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
  505. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
  506. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
  507. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
  508. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
  509. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
  510. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
  511. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217116480.png" +0 -0
  512. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180400.png" +0 -0
  513. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180480.png" +0 -0
  514. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240240.png" +0 -0
  515. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240320.png" +0 -0
  516. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240400.png" +0 -0
  517. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240427.png" +0 -0
  518. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217270480.png" +0 -0
  519. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320240.png" +0 -0
  520. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320320.png" +0 -0
  521. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217360360.png" +0 -0
  522. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400180.png" +0 -0
  523. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400240.png" +0 -0
  524. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217427240.png" +0 -0
  525. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480116.png" +0 -0
  526. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480180.png" +0 -0
  527. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480270.png" +0 -0
  528. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480480.png" +0 -0
  529. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/222/255/346/224/276.png" +0 -0
  530. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/222/255/346/224/276/345/231/250/346/216/247/345/210/266.png" +0 -0
  531. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/232/202/345/201/234.png" +0 -0
  532. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
  533. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230d.png" +0 -0
  534. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230e.png" +0 -0
  535. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230en.png" +0 -0
  536. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230f.png" +0 -0
  537. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230p.png" +0 -0
  538. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230r.png" +0 -0
  539. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230tc.png" +0 -0
  540. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230x.png" +0 -0
  541. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
  542. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257d.png" +0 -0
  543. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257e.png" +0 -0
  544. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257f.png" +0 -0
  545. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257p.png" +0 -0
  546. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257r.png" +0 -0
  547. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257x.png" +0 -0
  548. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217116480.png" +0 -0
  549. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217180400.png" +0 -0
  550. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217180480.png" +0 -0
  551. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240240.png" +0 -0
  552. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240320.png" +0 -0
  553. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240400.png" +0 -0
  554. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240427.png" +0 -0
  555. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217270480.png" +0 -0
  556. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217320240.png" +0 -0
  557. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217320320.png" +0 -0
  558. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217360360.png" +0 -0
  559. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217400180.png" +0 -0
  560. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217400240.png" +0 -0
  561. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217427240.png" +0 -0
  562. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480116.png" +0 -0
  563. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480180.png" +0 -0
  564. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480270.png" +0 -0
  565. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480480.png" +0 -0
  566. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210.png" +0 -0
  567. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210a.png" +0 -0
  568. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271280X480.png" +0 -0
  569. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271920X462.png" +0 -0
  570. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227360X800.png" +0 -0
  571. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227462X1920.png" +0 -0
  572. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X1280.png" +0 -0
  573. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X800.png" +0 -0
  574. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X854.png" +0 -0
  575. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227540X960.png" +0 -0
  576. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X360.png" +0 -0
  577. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X480.png" +0 -0
  578. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227854X480.png" +0 -0
  579. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227960X540.png" +0 -0
  580. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P12H.png +0 -0
  581. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
  582. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
  583. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P240240.png +0 -0
  584. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P240320.png +0 -0
  585. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P24H.png +0 -0
  586. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P320240.png +0 -0
  587. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P320320.png +0 -0
  588. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PDM.png +0 -0
  589. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PDMY.png +0 -0
  590. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL0.png +0 -0
  591. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL1.png +0 -0
  592. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL2.png +0 -0
  593. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL3.png +0 -0
  594. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM1.png +0 -0
  595. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM1a.png +0 -0
  596. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM2.png +0 -0
  597. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM2a.png +0 -0
  598. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM3.png +0 -0
  599. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM3a.png +0 -0
  600. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM4.png +0 -0
  601. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM4a.png +0 -0
  602. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM5.png +0 -0
  603. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM5a.png +0 -0
  604. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM6.png +0 -0
  605. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM6a.png +0 -0
  606. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PMD.png +0 -0
  607. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PYMD.png +0 -0
  608. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206.png" +0 -0
  609. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2762X.png" +0 -0
  610. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2764X.png" +0 -0
  611. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/351/253/230/344/272/256.png" +0 -0
  612. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  613. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  614. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
  615. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256a.png" +0 -0
  616. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255.png" +0 -0
  617. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255a.png" +0 -0
  618. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  619. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230a.png" +0 -0
  620. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  621. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257a.png" +0 -0
  622. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/277/235/345/255/230/344/270/273/351/242/230.png" +0 -0
  623. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/256.png" +0 -0
  624. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/2562.png" +0 -0
  625. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/207/217.png" +0 -0
  626. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227a.png" +0 -0
  627. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227b.png" +0 -0
  628. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251.png" +0 -0
  629. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251a.png" +0 -0
  630. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/240.png" +0 -0
  631. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/250/347/224/273.png" +0 -0
  632. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263.png" +0 -0
  633. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263a.png" +0 -0
  634. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/217/226/350/211/262.png" +0 -0
  635. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/220/270/347/256/241.png" +0 -0
  636. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/233/276/347/211/207.png" +0 -0
  637. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/234/206/345/275/242/345/205/263/351/227/255.png" +0 -0
  638. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/234/206/345/275/242/347/241/256/345/256/232.png" +0 -0
  639. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
  640. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/226/207/346/234/254.png" +0 -0
  641. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/245/346/234/237.png" +0 -0
  642. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/266/351/227/264.png" +0 -0
  643. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/230/237/346/234/237.png" +0 -0
  644. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/244/232/351/200/211.png" +0 -0
  645. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/244/232/351/200/211a.png" +0 -0
  646. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/256/275/345/272/246/351/200/202/345/272/224.png" +0 -0
  647. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/257/274/345/205/245.png" +0 -0
  648. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/257/274/345/207/272.png" +0 -0
  649. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  650. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/270/256/345/212/251.png" +0 -0
  651. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/225/260/345/255/227/345/255/227/344/275/223.png" +0 -0
  652. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/225/260/346/215/256.png" +0 -0
  653. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/226/207/345/255/227/345/255/227/344/275/223.png" +0 -0
  654. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/226/207/346/234/254.png" +0 -0
  655. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/227/213/350/275/254.png" +0 -0
  656. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/227/245/346/234/237.png" +0 -0
  657. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/227/266/351/227/264.png" +0 -0
  658. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/230/237/346/234/237.png" +0 -0
  659. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206.png" +0 -0
  660. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206A.png" +0 -0
  661. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
  662. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230a.png" +0 -0
  663. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/205/263.png" +0 -0
  664. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/274/200.png" +0 -0
  665. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  666. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/345/272/225/345/233/276.png" +0 -0
  667. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  668. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233.png" +0 -0
  669. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233180.png" +0 -0
  670. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233270.png" +0 -0
  671. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/23390.png" +0 -0
  672. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a.png" +0 -0
  673. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a180.png" +0 -0
  674. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a270.png" +0 -0
  675. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a90.png" +0 -0
  676. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b.png" +0 -0
  677. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b180.png" +0 -0
  678. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b270.png" +0 -0
  679. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b90.png" +0 -0
  680. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206.png" +0 -0
  681. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206A.png" +0 -0
  682. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H1.png" +0 -0
  683. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H2.png" +0 -0
  684. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H3.png" +0 -0
  685. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H4.png" +0 -0
  686. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H5.png" +0 -0
  687. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H6.png" +0 -0
  688. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  689. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/275/221/347/273/234.png" +0 -0
  690. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/275/221/347/273/234/346/214/211/351/222/256.png" +0 -0
  691. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/222/231/346/235/277.png" +0 -0
  692. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/243/201/345/207/217.png" +0 -0
  693. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/247/206/351/242/221.png" +0 -0
  694. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/255.png" +0 -0
  695. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2551.png" +0 -0
  696. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2552.png" +0 -0
  697. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2553.png" +0 -0
  698. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2554.png" +0 -0
  699. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2555.png" +0 -0
  700. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2556.png" +0 -0
  701. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/255a.png" +0 -0
  702. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/255/351/200/211/346/241/206.png" +0 -0
  703. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/275/345/205/245/345/212/250/347/224/273.png" +0 -0
  704. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/277/233/345/272/246/346/235/241.png" +0 -0
  705. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/200/211/344/270/255.png" +0 -0
  706. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206M.png" +0 -0
  707. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206Ma.png" +0 -0
  708. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210116X480.png" +0 -0
  709. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210180X400.png" +0 -0
  710. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210180X480.png" +0 -0
  711. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X240.png" +0 -0
  712. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X320.png" +0 -0
  713. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X400.png" +0 -0
  714. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X427.png" +0 -0
  715. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210270X480.png" +0 -0
  716. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210320X240.png" +0 -0
  717. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320.png" +0 -0
  718. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320/345/234/206.png" +0 -0
  719. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210360360/345/234/206.png" +0 -0
  720. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210400X180.png" +0 -0
  721. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210400X240.png" +0 -0
  722. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210427X240.png" +0 -0
  723. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X116.png" +0 -0
  724. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X180.png" +0 -0
  725. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X270.png" +0 -0
  726. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480.png" +0 -0
  727. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480/345/234/206.png" +0 -0
  728. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/212/250/347/224/273.png" +0 -0
  729. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  730. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  731. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
  732. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/234/350/211/262/346/273/221/345/212/250/345/235/227.png" +0 -0
  733. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/234/350/211/262/351/200/211/346/213/251/345/234/210.png" +0 -0
  734. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/253/230/345/272/246/351/200/202/345/272/224.png" +0 -0
  735. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  736. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  737. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
  738. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
  739. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
  740. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
  741. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
  742. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
  743. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
  744. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
  745. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  746. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucBoFangQiKongZhi1.BackgroundImage.png +0 -0
  747. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucBoFangQiKongZhi1_BackgroundImage.png +0 -0
  748. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucVideoCut1.BackgroundImage.png +0 -0
  749. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucVideoCut1_BackgroundImage.png +0 -0
  750. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShi1.BackgroundImage.png +0 -0
  751. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShiAdd1.BackgroundImage.png +0 -0
  752. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShiColor1.BackgroundImage.png +0 -0
  753. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShiTable1.BackgroundImage.png +0 -0
  754. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/app.ico +0 -0
  755. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc.png +0 -0
  756. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_128x128.png +0 -0
  757. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_16x16.png +0 -0
  758. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_24x24.png +0 -0
  759. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_256x256.png +0 -0
  760. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_32x32.png +0 -0
  761. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_48x48.png +0 -0
  762. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_64x64.png +0 -0
  763. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/binary_reader.py +0 -0
  764. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/cloud_downloader.py +0 -0
  765. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/conf.py +0 -0
  766. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/core/__init__.py +0 -0
  767. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/core/models.py +0 -0
  768. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/dc_config.py +0 -0
  769. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/dc_parser.py +0 -0
  770. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/dc_writer.py +0 -0
  771. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_base.py +0 -0
  772. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/gif_animator.py +0 -0
  773. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/hid_device.py +0 -0
  774. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/hr10_display.py +0 -0
  775. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/hr10_tempd.py +0 -0
  776. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/overlay_renderer.py +0 -0
  777. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/paths.py +0 -0
  778. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/__init__.py +0 -0
  779. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/assets.py +0 -0
  780. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/base.py +0 -0
  781. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/constants.py +0 -0
  782. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/eyedropper.py +0 -0
  783. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/pipewire_capture.py +0 -0
  784. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/qt_app_mvc.py +0 -0
  785. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/screen_capture.py +0 -0
  786. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_about.py +0 -0
  787. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_activity_sidebar.py +0 -0
  788. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_color_wheel.py +0 -0
  789. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_device.py +0 -0
  790. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_image_cut.py +0 -0
  791. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_info_module.py +0 -0
  792. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_led_control.py +0 -0
  793. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_preview.py +0 -0
  794. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_screen_led.py +0 -0
  795. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_sensor_picker.py +0 -0
  796. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_seven_segment.py +0 -0
  797. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_system_info.py +0 -0
  798. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_local.py +0 -0
  799. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_mask.py +0 -0
  800. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_setting.py +0 -0
  801. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_web.py +0 -0
  802. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_video_cut.py +0 -0
  803. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/scsi_device.py +0 -0
  804. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/sensor_enumerator.py +0 -0
  805. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/sysinfo_config.py +0 -0
  806. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/system_info.py +0 -0
  807. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/theme_downloader.py +0 -0
  808. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/theme_io.py +0 -0
  809. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/README.md +0 -0
  810. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/__init__.py +0 -0
  811. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/__init__.py +0 -0
  812. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/conftest.py +0 -0
  813. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_device_factory.py +0 -0
  814. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_hid_device.py +0 -0
  815. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_led_controller.py +0 -0
  816. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/run_tests.py +0 -0
  817. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_cli.py +0 -0
  818. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_cloud_downloader.py +0 -0
  819. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_controllers.py +0 -0
  820. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_dc_parser.py +0 -0
  821. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_dc_writer.py +0 -0
  822. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_device_detector.py +0 -0
  823. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_device_implementations.py +0 -0
  824. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_gif_animator.py +0 -0
  825. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_hr10_display.py +0 -0
  826. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_models.py +0 -0
  827. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_overlay_renderer.py +0 -0
  828. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_paths.py +0 -0
  829. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_qt_base.py +0 -0
  830. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_qt_constants.py +0 -0
  831. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_qt_widgets.py +0 -0
  832. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_scsi_device.py +0 -0
  833. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_sensor_enumerator.py +0 -0
  834. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_sysinfo_config.py +0 -0
  835. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_system_info.py +0 -0
  836. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_theme_downloader.py +0 -0
  837. {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_theme_io.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trcc-linux
3
- Version: 1.2.14
3
+ Version: 1.2.16
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 = "1.2.14"
7
+ version = "1.2.16"
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__ = "1.2.14"
3
+ __version__ = "1.2.16"
4
4
  __version_info__ = tuple(int(x) for x in __version__.split("."))
5
5
 
6
6
  # Version history:
@@ -41,3 +41,7 @@ __version_info__ = tuple(int(x) for x in __version__.split("."))
41
41
  # 1.2.13 - Fix format buttons not updating preview on fresh install: set overlay_enabled
42
42
  # on theme load, persist format prefs (time/date/temp) across theme changes
43
43
  # 1.2.14 - Add GrandVision 360 AIO support (VID 87AD:70DB), fix sysfs VID readback
44
+ # 1.2.15 - Auto-detect stale udev quirks: trcc detect warns and prompts
45
+ # sudo trcc setup-udev + reboot when USB storage quirk is missing
46
+ # 1.2.16 - Fix udev permissions on SELinux/immutable distros (Bazzite, Silverblue):
47
+ # use MODE="0666" instead of TAG+="uaccess" which fails with SELinux enforcing
@@ -335,7 +335,7 @@ def _format_device(dev, probe=False):
335
335
  def detect(show_all=False):
336
336
  """Detect LCD device."""
337
337
  try:
338
- from trcc.device_detector import detect_devices
338
+ from trcc.device_detector import check_udev_rules, detect_devices
339
339
 
340
340
  devices = detect_devices()
341
341
  if not devices:
@@ -358,6 +358,16 @@ def detect(show_all=False):
358
358
  dev = devices[0]
359
359
  print(f"Active: {_format_device(dev, probe=True)}")
360
360
 
361
+ # Check for stale/missing udev rules on any device
362
+ for dev in devices:
363
+ if not check_udev_rules(dev):
364
+ msg = f"\nDevice {dev.vid:04x}:{dev.pid:04x} needs updated udev rules.\n"
365
+ msg += "Run: sudo trcc setup-udev"
366
+ if dev.protocol == "scsi":
367
+ msg += "\nThen reboot for the USB storage quirk to take effect."
368
+ print(msg)
369
+ break
370
+
361
371
  return 0
362
372
  except Exception as e:
363
373
  print(f"Error: {e}")
@@ -944,11 +954,11 @@ def setup_udev(dry_run=False):
944
954
  f'SUBSYSTEM=="hidraw", '
945
955
  f'ATTRS{{idVendor}}=="{vid:04x}", '
946
956
  f'ATTRS{{idProduct}}=="{pid:04x}", '
947
- f'MODE="0660", TAG+="uaccess"\n'
957
+ f'MODE="0666"\n'
948
958
  f'SUBSYSTEM=="usb", '
949
959
  f'ATTR{{idVendor}}=="{vid:04x}", '
950
960
  f'ATTR{{idProduct}}=="{pid:04x}", '
951
- f'MODE="0660", TAG+="uaccess"'
961
+ f'MODE="0666"'
952
962
  )
953
963
  else:
954
964
  rules_lines.append(
@@ -956,7 +966,7 @@ def setup_udev(dry_run=False):
956
966
  f'SUBSYSTEM=="scsi_generic", '
957
967
  f'ATTRS{{idVendor}}=="{vid:04x}", '
958
968
  f'ATTRS{{idProduct}}=="{pid:04x}", '
959
- f'MODE="0660", TAG+="uaccess"'
969
+ f'MODE="0666"'
960
970
  )
961
971
 
962
972
  rules_content = "\n\n".join(rules_lines) + "\n"
@@ -842,7 +842,7 @@ class LCDDeviceController:
842
842
  self._send_frame_to_lcd(img)
843
843
  self._update_status(f"Mask: {mask_dir.name}")
844
844
 
845
- def _load_and_play_video(self, path: Path | str):
845
+ def _load_and_play_video(self, path: Path):
846
846
  """Load video, show first frame on preview+LCD, and start playback."""
847
847
  self.video.load(path)
848
848
  first_frame = self.video.model.get_frame(0)
@@ -5,7 +5,6 @@ Finds Thermalright LCD and LED devices and maps them to SCSI or HID devices.
5
5
 
6
6
  Supported devices (SCSI — stable):
7
7
  - Thermalright: VID=0x87CD, PID=0x70DB
8
- - Thermalright: VID=0x87AD, PID=0x70DB (GrandVision series)
9
8
  - Winbond: VID=0x0416, PID=0x5406
10
9
  - ALi Corp: VID=0x0402, PID=0x3922
11
10
 
@@ -16,6 +15,7 @@ Supported devices (HID LCD — auto-detected when plugged in):
16
15
 
17
16
  Supported devices (HID LED — RGB controllers, auto-detected when plugged in):
18
17
  - Winbond: VID=0x0416, PID=0x8001 (64-byte reports)
18
+ - ChiZhu Tech: VID=0x87AD, PID=0x70DB (GrandVision series, case 257)
19
19
  """
20
20
 
21
21
  import logging
@@ -59,14 +59,6 @@ KNOWN_DEVICES = {
59
59
  "button_image": "A1CZTV",
60
60
  "implementation": "thermalright_lcd_v1"
61
61
  },
62
- # Same chip (ChiZhu Tech USBDISPLAY), different VID — GrandVision 360 AIO etc.
63
- (0x87AD, 0x70DB): {
64
- "vendor": "Thermalright",
65
- "product": "LCD Display (USBLCD)",
66
- "model": "CZTV",
67
- "button_image": "A1CZTV",
68
- "implementation": "thermalright_lcd_v1"
69
- },
70
62
  (0x0416, 0x5406): {
71
63
  "vendor": "Winbond",
72
64
  "product": "LCD Display (USBLCD)",
@@ -119,13 +111,14 @@ _HID_LCD_DEVICES = {
119
111
  },
120
112
  }
121
113
 
122
- # LED HID devices (RGB controllers FormLED in Windows, not FormCZTV)
123
- # These use 64-byte HID reports for LED color control, not LCD image display.
124
- # device1: UsbHidDevice(1046, 32769) = 0x0416:0x8001, 64-byte packets
125
- # NOTE: All LED devices share PID 0x8001 AX120 Digital, PA120 Digital,
126
- # Peerless Assassin 120 Digital, etc. The actual model is resolved at runtime
127
- # via the PM byte from the HID handshake (see led_device.PM_TO_MODEL).
114
+ # LED HID devices (RGB controllers + case 257 LCD+LED combos)
115
+ # These use 64-byte HID reports. Case 1 devices (0416:8001) are LED-only.
116
+ # Case 257 devices (87AD:70DB) are LCD+LED combos that also use FormCZTV.
117
+ # The actual model is resolved at runtime via the PM byte from the HID
118
+ # handshake (see led_device.PM_TO_MODEL).
128
119
  _LED_DEVICES = {
120
+ # device1: UsbHidDevice(1046, 32769) = 0x0416:0x8001, 64-byte packets
121
+ # Case 1 — LED-only (AX120 Digital, PA120 Digital, etc.)
129
122
  (0x0416, 0x8001): {
130
123
  "vendor": "Winbond",
131
124
  "product": "LED Controller (HID)",
@@ -135,6 +128,17 @@ _LED_DEVICES = {
135
128
  "protocol": "hid",
136
129
  "device_type": 1,
137
130
  },
131
+ # Case 257 — LCD+LED combo (GrandVision, Core Vision, Hyper Vision, etc.)
132
+ # ChiZhu Tech USBDISPLAY — same 64-byte HID protocol as device1
133
+ (0x87AD, 0x70DB): {
134
+ "vendor": "ChiZhu Tech",
135
+ "product": "LCD+LED Display (HID)",
136
+ "model": "GRAND_VISION",
137
+ "button_image": "A1GRAND_VISION",
138
+ "implementation": "hid_led",
139
+ "protocol": "hid",
140
+ "device_type": 1,
141
+ },
138
142
  }
139
143
 
140
144
  # Backward-compat alias (tests and setup-udev reference this)
@@ -367,6 +371,20 @@ def detect_devices() -> List[DetectedDevice]:
367
371
  return devices
368
372
 
369
373
 
374
+ def check_udev_rules(device: DetectedDevice) -> bool:
375
+ """Check if udev rules file contains the VID:PID for *device*.
376
+
377
+ Returns True if a matching rule exists, False if missing or file absent.
378
+ Works for both SCSI and HID devices.
379
+ """
380
+ vid_hex = f"{device.vid:04x}"
381
+ try:
382
+ with open("/etc/udev/rules.d/99-trcc-lcd.rules") as f:
383
+ return vid_hex in f.read()
384
+ except (IOError, OSError):
385
+ return False
386
+
387
+
370
388
  def get_default_device() -> Optional[DetectedDevice]:
371
389
  """Get the first available LCD device"""
372
390
  devices = detect_devices()
@@ -374,9 +392,9 @@ def get_default_device() -> Optional[DetectedDevice]:
374
392
  if not devices:
375
393
  return None
376
394
 
377
- # Prefer Thermalright device, then any other
395
+ # Prefer Thermalright SCSI device, then any other
378
396
  for device in devices:
379
- if device.vid in (0x87CD, 0x87AD):
397
+ if device.vid == 0x87CD:
380
398
  return device
381
399
 
382
400
  return devices[0]
@@ -287,19 +287,7 @@ class HidProtocol(DeviceProtocol):
287
287
 
288
288
  def _create_transport(self):
289
289
  """Create the best available USB transport."""
290
- from .hid_device import HIDAPI_AVAILABLE, PYUSB_AVAILABLE
291
- if PYUSB_AVAILABLE:
292
- from .hid_device import PyUsbTransport
293
- return PyUsbTransport(self._vid, self._pid)
294
- elif HIDAPI_AVAILABLE:
295
- from .hid_device import HidApiTransport
296
- return HidApiTransport(self._vid, self._pid)
297
- else:
298
- raise ImportError(
299
- "No USB backend available. Install pyusb or hidapi:\n"
300
- " pip install pyusb (+ apt install libusb-1.0-0)\n"
301
- " pip install hidapi (+ apt install libhidapi-dev)"
302
- )
290
+ return _create_usb_transport(self._vid, self._pid)
303
291
 
304
292
  @property
305
293
  def protocol_name(self) -> str:
@@ -451,19 +439,7 @@ class LedProtocol(DeviceProtocol):
451
439
 
452
440
  def _create_transport(self):
453
441
  """Create the best available USB transport."""
454
- from .hid_device import HIDAPI_AVAILABLE, PYUSB_AVAILABLE
455
- if PYUSB_AVAILABLE:
456
- from .hid_device import PyUsbTransport
457
- return PyUsbTransport(self._vid, self._pid)
458
- elif HIDAPI_AVAILABLE:
459
- from .hid_device import HidApiTransport
460
- return HidApiTransport(self._vid, self._pid)
461
- else:
462
- raise ImportError(
463
- "No USB backend available. Install pyusb or hidapi:\n"
464
- " pip install pyusb (+ apt install libusb-1.0-0)\n"
465
- " pip install hidapi (+ apt install libhidapi-dev)"
466
- )
442
+ return _create_usb_transport(self._vid, self._pid)
467
443
 
468
444
  @property
469
445
  def protocol_name(self) -> str:
@@ -673,6 +649,23 @@ def _check_sg_raw() -> bool:
673
649
  return shutil.which("sg_raw") is not None
674
650
 
675
651
 
652
+ def _create_usb_transport(vid: int, pid: int):
653
+ """Create the best available USB transport (pyusb preferred, hidapi fallback)."""
654
+ from .hid_device import HIDAPI_AVAILABLE, PYUSB_AVAILABLE
655
+ if PYUSB_AVAILABLE:
656
+ from .hid_device import PyUsbTransport
657
+ return PyUsbTransport(vid, pid)
658
+ elif HIDAPI_AVAILABLE:
659
+ from .hid_device import HidApiTransport
660
+ return HidApiTransport(vid, pid)
661
+ else:
662
+ raise ImportError(
663
+ "No USB backend available. Install pyusb or hidapi:\n"
664
+ " pip install pyusb (+ apt install libusb-1.0-0)\n"
665
+ " pip install hidapi (+ apt install libhidapi-dev)"
666
+ )
667
+
668
+
676
669
  def _get_hid_backends() -> Dict[str, bool]:
677
670
  """Check HID backend availability."""
678
671
  try:
@@ -8,6 +8,8 @@ import struct
8
8
  from abc import ABC, abstractmethod
9
9
  from typing import Tuple
10
10
 
11
+ from .scsi_device import _get_frame_chunks
12
+
11
13
 
12
14
  class LCDDeviceImplementation(ABC):
13
15
  """Base class for LCD device implementations"""
@@ -41,25 +43,10 @@ class LCDDeviceImplementation(ABC):
41
43
  def get_frame_chunks(self) -> list:
42
44
  """Get frame chunk commands [(cmd, size), ...] for current resolution.
43
45
 
44
- Each chunk is up to 64 KiB. The chunk index is encoded in bits [27:24]
45
- above the base command 0x101F5.
46
-
47
- For 320x320: 4 chunks (3x64K + 8K = 204,800 bytes)
48
- For 480x480: 8 chunks (7x64K + 2K = 460,800 bytes)
46
+ Delegates to scsi_device._get_frame_chunks() single source of truth
47
+ for the SCSI chunking algorithm.
49
48
  """
50
- base_cmd = 0x101F5
51
- chunk_size = 0x10000 # 64 KiB
52
- total = self.width * self.height * 2 # RGB565: 2 bytes per pixel
53
- chunks = []
54
- offset = 0
55
- idx = 0
56
- while offset < total:
57
- size = min(chunk_size, total - offset)
58
- cmd = base_cmd | (idx << 24)
59
- chunks.append((cmd, size))
60
- offset += size
61
- idx += 1
62
- return chunks
49
+ return _get_frame_chunks(self.width, self.height)
63
50
 
64
51
  def needs_init_per_frame(self) -> bool:
65
52
  """Whether device needs init before each frame"""
@@ -4,12 +4,7 @@ Unified LCD Driver
4
4
  Combines device detection with implementation-specific protocols.
5
5
  """
6
6
 
7
- import binascii
8
7
  import logging
9
- import os
10
- import struct
11
- import subprocess
12
- import tempfile
13
8
  from typing import Optional
14
9
 
15
10
  log = logging.getLogger(__name__)
@@ -17,7 +12,7 @@ log = logging.getLogger(__name__)
17
12
  try:
18
13
  from .device_detector import DetectedDevice, detect_devices, get_default_device
19
14
  from .device_implementations import LCDDeviceImplementation, get_implementation
20
- from .paths import require_sg_raw
15
+ from .scsi_device import _build_header, _scsi_read, _scsi_write
21
16
  except ImportError:
22
17
  from trcc.device_detector import ( # type: ignore[no-redef]
23
18
  DetectedDevice,
@@ -28,7 +23,7 @@ except ImportError:
28
23
  LCDDeviceImplementation,
29
24
  get_implementation,
30
25
  )
31
- from trcc.paths import require_sg_raw # type: ignore[no-redef]
26
+ from trcc.scsi_device import _build_header, _scsi_read, _scsi_write # type: ignore[no-redef]
32
27
 
33
28
 
34
29
  class LCDDriver:
@@ -99,54 +94,6 @@ class LCDDriver:
99
94
  self.device_path = device.scsi_device
100
95
  self.implementation = get_implementation(device.implementation)
101
96
 
102
- def _crc32(self, data: bytes) -> int:
103
- """Calculate CRC32"""
104
- return binascii.crc32(data) & 0xFFFFFFFF
105
-
106
- def _build_header(self, cmd: int, size: int) -> bytes:
107
- """Build 20-byte SCSI command header"""
108
- header_16 = struct.pack('<I', cmd) + b'\x00' * 8 + struct.pack('<I', size)
109
- crc = self._crc32(header_16)
110
- return header_16 + struct.pack('<I', crc)
111
-
112
- @staticmethod
113
- def _check_sg_raw():
114
- """Verify sg_raw is available, raise helpful error if not."""
115
- require_sg_raw()
116
-
117
- def _scsi_read(self, cdb: bytes, length: int) -> bytes:
118
- """Execute SCSI READ command"""
119
- if not self.device_path:
120
- raise RuntimeError("No device path available")
121
- self._check_sg_raw()
122
-
123
- cdb_hex = ' '.join(f'{b:02x}' for b in cdb)
124
- cmd = ['sg_raw', '-r', str(length), self.device_path] + cdb_hex.split()
125
-
126
- result = subprocess.run(cmd, capture_output=True, timeout=10)
127
- return result.stdout if result.returncode == 0 else b''
128
-
129
- def _scsi_write(self, header: bytes, data: bytes) -> bool:
130
- """Execute SCSI WRITE command"""
131
- if not self.device_path:
132
- raise RuntimeError("No device path available")
133
- self._check_sg_raw()
134
-
135
- cdb = list(header[:16])
136
- cdb_hex = ' '.join(f'{b:02x}' for b in cdb)
137
-
138
- with tempfile.NamedTemporaryFile(delete=False) as f:
139
- f.write(data)
140
- tmp_path = f.name
141
-
142
- cmd = ['sg_raw', '-s', str(len(data)), '-i', tmp_path, self.device_path] + cdb_hex.split()
143
-
144
- try:
145
- result = subprocess.run(cmd, capture_output=True, text=True, timeout=10)
146
- return result.returncode == 0
147
- finally:
148
- os.unlink(tmp_path)
149
-
150
97
  def init_device(self):
151
98
  """Initialize device (call once at startup)"""
152
99
  if self.initialized:
@@ -154,17 +101,19 @@ class LCDDriver:
154
101
  assert self.implementation is not None
155
102
  log.debug("Initializing LCD device at %s", self.device_path)
156
103
 
104
+ assert self.device_path is not None
105
+
157
106
  # Step 1: Poll device
158
107
  poll_cmd, poll_size = self.implementation.get_poll_command()
159
- poll_header = self._build_header(poll_cmd, poll_size)
108
+ poll_header = _build_header(poll_cmd, poll_size)
160
109
  log.debug("Poll: cmd=0x%X, size=0x%X", poll_cmd, poll_size)
161
- self._scsi_read(poll_header[:16], poll_size)
110
+ _scsi_read(self.device_path, poll_header[:16], poll_size)
162
111
 
163
112
  # Step 2: Init
164
113
  init_cmd, init_size = self.implementation.get_init_command()
165
- init_header = self._build_header(init_cmd, init_size)
114
+ init_header = _build_header(init_cmd, init_size)
166
115
  log.debug("Init: cmd=0x%X, size=0x%X", init_cmd, init_size)
167
- self._scsi_write(init_header, b'\x00' * init_size)
116
+ _scsi_write(self.device_path, init_header, b'\x00' * init_size)
168
117
 
169
118
  self.initialized = True
170
119
  log.info("LCD device initialized: %s (%s)", self.device_path,
@@ -194,11 +143,12 @@ class LCDDriver:
194
143
  image_data += b'\x00' * (total_size - len(image_data))
195
144
 
196
145
  # Send chunks
146
+ assert self.device_path is not None
197
147
  log.debug("Sending frame: %d bytes in %d chunks", total_size, len(chunks))
198
148
  offset = 0
199
149
  for cmd, size in chunks:
200
- header = self._build_header(cmd, size)
201
- self._scsi_write(header, image_data[offset:offset + size])
150
+ header = _build_header(cmd, size)
151
+ _scsi_write(self.device_path, header, image_data[offset:offset + size])
202
152
  offset += size
203
153
 
204
154
  def create_solid_color(self, r: int, g: int, b: int) -> bytes:
@@ -482,14 +482,14 @@ class LedHidSender(DeviceHandler):
482
482
  resp[12],
483
483
  )
484
484
 
485
- # PM and SUB extraction — matches existing working behavior.
486
- # UCDevice.cs uses data[6]/data[5] (with Report ID at [0]),
487
- # but LED handshake already worked with these offsets in the
488
- # field (shadowepaxeor-glitch got PM=0 cached from a live
489
- # handshake). Keep resp[6]/resp[5] until we can verify with
490
- # hex dumps from successful handshakes.
491
- pm = resp[6]
492
- sub_type = resp[5]
485
+ # PM and SUB extraction — matches Windows UCDevice.cs offsets.
486
+ # Windows HID API prepends Report ID at data[0], so:
487
+ # data[6] = raw resp[5] = PM (product model byte)
488
+ # data[5] = raw resp[4] = SUB (sub-variant byte)
489
+ # Previous code used resp[6]/resp[5] (off by one) which read
490
+ # zeros on AX120 devices (shadowepaxeor-glitch PM=0 was wrong).
491
+ pm = resp[5]
492
+ sub_type = resp[4]
493
493
  style = get_style_for_pm(pm, sub_type)
494
494
 
495
495
  override = SUB_TYPE_OVERRIDES.get((pm, sub_type))
@@ -504,6 +504,7 @@ class LedHidSender(DeviceHandler):
504
504
  sub_type=sub_type,
505
505
  style=style,
506
506
  model_name=model_name,
507
+ raw_response=bytes(resp[:64]),
507
508
  )
508
509
 
509
510
  except Exception as e:
@@ -85,14 +85,14 @@ def _make_mock_transport() -> MagicMock:
85
85
  def _make_valid_handshake_response(pm: int = 3, sub_type: int = 0) -> bytes:
86
86
  """Build a valid LED handshake response (64 bytes).
87
87
 
88
- Args:
89
- pm: Product model byte at resp[6].
90
- sub_type: Sub-type byte at resp[5].
88
+ Offsets match Windows UCDevice.cs with Report ID removed:
89
+ PM = data[6] raw resp[5]
90
+ SUB = data[5] raw resp[4]
91
91
  """
92
92
  resp = bytearray(LED_RESPONSE_SIZE)
93
93
  resp[0:4] = LED_MAGIC # magic echo
94
- resp[5] = sub_type
95
- resp[6] = pm
94
+ resp[4] = sub_type # SUB at raw[4] (Windows data[5])
95
+ resp[5] = pm # PM at raw[5] (Windows data[6])
96
96
  resp[12] = LED_CMD_INIT # cmd echo = 1
97
97
  return bytes(resp)
98
98
 
@@ -789,7 +789,7 @@ class TestLedHidSenderHandshake:
789
789
  assert read_args[0][1] == LED_RESPONSE_SIZE
790
790
 
791
791
  def test_handshake_extracts_pm(self):
792
- """pm byte at response[6] should be extracted."""
792
+ """pm byte at response[5] (Windows data[6]) should be extracted."""
793
793
  transport = _make_mock_transport()
794
794
  transport.read.return_value = _make_valid_handshake_response(pm=48)
795
795
 
@@ -799,7 +799,7 @@ class TestLedHidSenderHandshake:
799
799
  assert info.pm == 48
800
800
 
801
801
  def test_handshake_extracts_sub_type(self):
802
- """sub_type byte at response[5] should be extracted."""
802
+ """sub_type byte at response[4] (Windows data[5]) should be extracted."""
803
803
  transport = _make_mock_transport()
804
804
  transport.read.return_value = _make_valid_handshake_response(pm=1, sub_type=7)
805
805
 
@@ -891,6 +891,54 @@ class TestLedHidSenderHandshake:
891
891
  assert calls[0] == call(DELAY_PRE_INIT_S)
892
892
  assert calls[1] == call(DELAY_POST_INIT_S)
893
893
 
894
+ def test_handshake_pm_sub_offset_matches_windows(self):
895
+ """PM at raw[5] and SUB at raw[4] — matches Windows Report ID offset.
896
+
897
+ Windows HID API prepends Report ID at data[0], so:
898
+ data[6] = raw resp[5] = PM
899
+ data[5] = raw resp[4] = SUB
900
+ """
901
+ transport = _make_mock_transport()
902
+ resp = bytearray(LED_RESPONSE_SIZE)
903
+ resp[0:4] = LED_MAGIC
904
+ resp[4] = 0x42 # SUB at raw[4]
905
+ resp[5] = 0x80 # PM at raw[5] (128 = LC1)
906
+ resp[6] = 0xFF # noise — should NOT be read as PM
907
+ resp[12] = 1
908
+ transport.read.return_value = bytes(resp)
909
+
910
+ sender = LedHidSender(transport)
911
+ info = sender.handshake()
912
+
913
+ assert info.pm == 0x80
914
+ assert info.sub_type == 0x42
915
+
916
+ def test_handshake_stores_raw_response(self):
917
+ """Handshake should store first 64 bytes of response for diagnostics."""
918
+ transport = _make_mock_transport()
919
+ transport.read.return_value = _make_valid_handshake_response(pm=3)
920
+
921
+ sender = LedHidSender(transport)
922
+ info = sender.handshake()
923
+
924
+ assert len(info.raw_response) == 64
925
+ assert info.raw_response[0:4] == LED_MAGIC
926
+
927
+ def test_handshake_hr10_via_sub_type(self):
928
+ """HR10 device (PM=128, SUB=129) resolved via SUB_TYPE_OVERRIDES."""
929
+ transport = _make_mock_transport()
930
+ transport.read.return_value = _make_valid_handshake_response(
931
+ pm=128, sub_type=129
932
+ )
933
+
934
+ sender = LedHidSender(transport)
935
+ info = sender.handshake()
936
+
937
+ assert info.pm == 128
938
+ assert info.sub_type == 129
939
+ assert info.style.style_id == 13
940
+ assert info.model_name == "HR10_2280_PRO_DIGITAL"
941
+
894
942
 
895
943
  class TestLedHidSenderSendLedData:
896
944
  """Test LedHidSender.send_led_data() chunking and transport calls."""
@@ -39,8 +39,8 @@ def _make_png(path, w=320, h=320):
39
39
  class TestDetectToSend(unittest.TestCase):
40
40
  """Full pipeline: detect device → create LCDDriver → send_frame."""
41
41
 
42
- @patch("trcc.lcd_driver.require_sg_raw")
43
- @patch("trcc.lcd_driver.subprocess.run")
42
+ @patch("trcc.scsi_device.require_sg_raw")
43
+ @patch("trcc.scsi_device.subprocess.run")
44
44
  @patch("trcc.lcd_driver.detect_devices")
45
45
  @patch("trcc.lcd_driver.get_implementation")
46
46
  def test_detect_init_send(self, mock_get_impl, mock_detect, mock_run, mock_sg):
@@ -78,8 +78,8 @@ class TestDetectToSend(unittest.TestCase):
78
78
  expected_calls = 1 + 1 + len(chunks) # poll + init + chunks
79
79
  self.assertEqual(mock_run.call_count, expected_calls)
80
80
 
81
- @patch("trcc.lcd_driver.require_sg_raw")
82
- @patch("trcc.lcd_driver.subprocess.run")
81
+ @patch("trcc.scsi_device.require_sg_raw")
82
+ @patch("trcc.scsi_device.subprocess.run")
83
83
  @patch("trcc.lcd_driver.detect_devices")
84
84
  @patch("trcc.lcd_driver.get_implementation")
85
85
  def test_send_image_pipeline(self, mock_get_impl, mock_detect, mock_run, mock_sg):
@@ -114,8 +114,8 @@ class TestDetectToSend(unittest.TestCase):
114
114
  class TestCLISendPipeline(unittest.TestCase):
115
115
  """CLI send_image() → LCDDriver → sg_raw."""
116
116
 
117
- @patch("trcc.lcd_driver.require_sg_raw")
118
- @patch("trcc.lcd_driver.subprocess.run")
117
+ @patch("trcc.scsi_device.require_sg_raw")
118
+ @patch("trcc.scsi_device.subprocess.run")
119
119
  @patch("trcc.lcd_driver.detect_devices")
120
120
  @patch("trcc.lcd_driver.get_implementation")
121
121
  @patch("trcc.cli._get_selected_device", return_value="/dev/sg0")
@@ -147,8 +147,8 @@ class TestCLISendPipeline(unittest.TestCase):
147
147
  result = send_image("/nonexistent/image.png")
148
148
  self.assertEqual(result, 1)
149
149
 
150
- @patch("trcc.lcd_driver.require_sg_raw")
151
- @patch("trcc.lcd_driver.subprocess.run")
150
+ @patch("trcc.scsi_device.require_sg_raw")
151
+ @patch("trcc.scsi_device.subprocess.run")
152
152
  @patch("trcc.lcd_driver.detect_devices")
153
153
  @patch("trcc.lcd_driver.get_implementation")
154
154
  def test_cli_send_color(self, mock_get_impl, mock_detect, mock_run, mock_sg):
@@ -180,8 +180,8 @@ class TestCLISendPipeline(unittest.TestCase):
180
180
  class TestCLIResumePipeline(unittest.TestCase):
181
181
  """CLI resume() — detect → load theme config → apply brightness/rotation → send."""
182
182
 
183
- @patch("trcc.lcd_driver.require_sg_raw")
184
- @patch("trcc.lcd_driver.subprocess.run")
183
+ @patch("trcc.scsi_device.require_sg_raw")
184
+ @patch("trcc.scsi_device.subprocess.run")
185
185
  @patch("trcc.lcd_driver.detect_devices")
186
186
  @patch("trcc.lcd_driver.get_implementation")
187
187
  @patch("trcc.device_detector.detect_devices")
@@ -332,8 +332,8 @@ class TestDeviceDetectorRoundTrip(unittest.TestCase):
332
332
  class TestMultiResolution(unittest.TestCase):
333
333
  """Verify frame sizing and chunk counts for different resolutions."""
334
334
 
335
- @patch("trcc.lcd_driver.require_sg_raw")
336
- @patch("trcc.lcd_driver.subprocess.run")
335
+ @patch("trcc.scsi_device.require_sg_raw")
336
+ @patch("trcc.scsi_device.subprocess.run")
337
337
  @patch("trcc.lcd_driver.detect_devices")
338
338
  @patch("trcc.lcd_driver.get_implementation")
339
339
  def test_480x480_frame_size(self, mock_get_impl, mock_detect, mock_run, mock_sg):
@@ -362,8 +362,8 @@ class TestMultiResolution(unittest.TestCase):
362
362
  # 480*480*2 = 460800, ceil(460800/65536) = 8 chunks
363
363
  self.assertEqual(len(chunks), 8)
364
364
 
365
- @patch("trcc.lcd_driver.require_sg_raw")
366
- @patch("trcc.lcd_driver.subprocess.run")
365
+ @patch("trcc.scsi_device.require_sg_raw")
366
+ @patch("trcc.scsi_device.subprocess.run")
367
367
  @patch("trcc.lcd_driver.detect_devices")
368
368
  @patch("trcc.lcd_driver.get_implementation")
369
369
  def test_240x240_frame_size(self, mock_get_impl, mock_detect, mock_run, mock_sg):
@@ -566,15 +566,9 @@ class TestSCSIHeaderIntegrity(unittest.TestCase):
566
566
  """_build_header produces 20-byte header with valid CRC32."""
567
567
  import binascii
568
568
 
569
- from trcc.lcd_driver import LCDDriver
570
-
571
- driver = LCDDriver.__new__(LCDDriver)
572
- driver.device_info = None
573
- driver.device_path = "/dev/sg0"
574
- driver.implementation = None
575
- driver.initialized = False
569
+ from trcc.scsi_device import _build_header
576
570
 
577
- header = driver._build_header(0xF5, 0xE100)
571
+ header = _build_header(0xF5, 0xE100)
578
572
  self.assertEqual(len(header), 20)
579
573
 
580
574
  # First 4 bytes = cmd (little-endian)