15db71995Sopenharmony_ci/* 25db71995Sopenharmony_ci * Copyright (c) 2017-2021 The Khronos Group Inc. 35db71995Sopenharmony_ci * Copyright (c) 2017-2021 Valve Corporation 45db71995Sopenharmony_ci * Copyright (c) 2017-2021 LunarG, Inc. 55db71995Sopenharmony_ci * 65db71995Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 75db71995Sopenharmony_ci * you may not use this file except in compliance with the License. 85db71995Sopenharmony_ci * You may obtain a copy of the License at 95db71995Sopenharmony_ci * 105db71995Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 115db71995Sopenharmony_ci * 125db71995Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 135db71995Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 145db71995Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 155db71995Sopenharmony_ci * See the License for the specific language governing permissions and 165db71995Sopenharmony_ci * limitations under the License. 175db71995Sopenharmony_ci * 185db71995Sopenharmony_ci * Author Jon Ashburn <jon@lunarg.com> 195db71995Sopenharmony_ci * Author: Lenny Komow <lenny@lunarg.com> 205db71995Sopenharmony_ci * Author: Charles Giessen <charles@lunarg.com> 215db71995Sopenharmony_ci */ 225db71995Sopenharmony_ci 235db71995Sopenharmony_ci// This code is used to pass on physical device extensions through the call chain. It must do this without creating a stack frame, 245db71995Sopenharmony_ci// because the actual parameters of the call are not known. Since the first parameter is known to be a VkPhysicalDevice, it can 255db71995Sopenharmony_ci// unwrap the physical device, overwriting the wrapped device, and then jump to the next function in the call chain. This code 265db71995Sopenharmony_ci// attempts to accomplish this by relying on tail-call optimizations, but there is no guarantee that this will work. As a result, 275db71995Sopenharmony_ci// this code is only compiled on systems where an assembly alternative has not been written. 285db71995Sopenharmony_ci 295db71995Sopenharmony_ci#include "loader.h" 305db71995Sopenharmony_ci#include "log.h" 315db71995Sopenharmony_ci 325db71995Sopenharmony_ci#if defined(__GNUC__) && !defined(__clang__) 335db71995Sopenharmony_ci#pragma GCC optimize(3) // force gcc to use tail-calls 345db71995Sopenharmony_ci#endif 355db71995Sopenharmony_ci 365db71995Sopenharmony_ci// Trampoline function macro for unknown physical device extension command. 375db71995Sopenharmony_ci#define PhysDevExtTramp(num) \ 385db71995Sopenharmony_ci VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTramp##num(VkPhysicalDevice physical_device) { \ 395db71995Sopenharmony_ci const struct loader_instance_dispatch_table *disp; \ 405db71995Sopenharmony_ci disp = loader_get_instance_dispatch(physical_device); \ 415db71995Sopenharmony_ci disp->phys_dev_ext[num](loader_unwrap_physical_device(physical_device)); \ 425db71995Sopenharmony_ci } 435db71995Sopenharmony_ci 445db71995Sopenharmony_ci// Terminator function macro for unknown physical device extension command. 455db71995Sopenharmony_ci#define PhysDevExtTermin(num) \ 465db71995Sopenharmony_ci VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTermin##num(VkPhysicalDevice physical_device) { \ 475db71995Sopenharmony_ci struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physical_device; \ 485db71995Sopenharmony_ci struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; \ 495db71995Sopenharmony_ci struct loader_instance *inst = (struct loader_instance *)icd_term->this_instance; \ 505db71995Sopenharmony_ci if (NULL == icd_term->phys_dev_ext[num]) { \ 515db71995Sopenharmony_ci loader_log(inst, VULKAN_LOADER_ERROR_BIT, 0, "Function %s not supported for this physical device", \ 525db71995Sopenharmony_ci inst->phys_dev_ext_disp_functions[num]); \ 535db71995Sopenharmony_ci } \ 545db71995Sopenharmony_ci icd_term->phys_dev_ext[num](phys_dev_term->phys_dev); \ 555db71995Sopenharmony_ci } 565db71995Sopenharmony_ci 575db71995Sopenharmony_ci// Trampoline function macro for unknown physical device extension command. 585db71995Sopenharmony_ci#define DevExtTramp(num) \ 595db71995Sopenharmony_ci VKAPI_ATTR void VKAPI_CALL vkdev_ext##num(VkDevice device) { \ 605db71995Sopenharmony_ci const struct loader_dev_dispatch_table *disp; \ 615db71995Sopenharmony_ci disp = loader_get_dev_dispatch(device); \ 625db71995Sopenharmony_ci disp->ext_dispatch[num](device); \ 635db71995Sopenharmony_ci } 645db71995Sopenharmony_ci 655db71995Sopenharmony_ci// clang-format off 665db71995Sopenharmony_ci// Instantiations of the trampoline 675db71995Sopenharmony_ciPhysDevExtTramp(0) 685db71995Sopenharmony_ciPhysDevExtTramp(1) 695db71995Sopenharmony_ciPhysDevExtTramp(2) 705db71995Sopenharmony_ciPhysDevExtTramp(3) 715db71995Sopenharmony_ciPhysDevExtTramp(4) 725db71995Sopenharmony_ciPhysDevExtTramp(5) 735db71995Sopenharmony_ciPhysDevExtTramp(6) 745db71995Sopenharmony_ciPhysDevExtTramp(7) 755db71995Sopenharmony_ciPhysDevExtTramp(8) 765db71995Sopenharmony_ciPhysDevExtTramp(9) 775db71995Sopenharmony_ciPhysDevExtTramp(10) 785db71995Sopenharmony_ciPhysDevExtTramp(11) 795db71995Sopenharmony_ciPhysDevExtTramp(12) 805db71995Sopenharmony_ciPhysDevExtTramp(13) 815db71995Sopenharmony_ciPhysDevExtTramp(14) 825db71995Sopenharmony_ciPhysDevExtTramp(15) 835db71995Sopenharmony_ciPhysDevExtTramp(16) 845db71995Sopenharmony_ciPhysDevExtTramp(17) 855db71995Sopenharmony_ciPhysDevExtTramp(18) 865db71995Sopenharmony_ciPhysDevExtTramp(19) 875db71995Sopenharmony_ciPhysDevExtTramp(20) 885db71995Sopenharmony_ciPhysDevExtTramp(21) 895db71995Sopenharmony_ciPhysDevExtTramp(22) 905db71995Sopenharmony_ciPhysDevExtTramp(23) 915db71995Sopenharmony_ciPhysDevExtTramp(24) 925db71995Sopenharmony_ciPhysDevExtTramp(25) 935db71995Sopenharmony_ciPhysDevExtTramp(26) 945db71995Sopenharmony_ciPhysDevExtTramp(27) 955db71995Sopenharmony_ciPhysDevExtTramp(28) 965db71995Sopenharmony_ciPhysDevExtTramp(29) 975db71995Sopenharmony_ciPhysDevExtTramp(30) 985db71995Sopenharmony_ciPhysDevExtTramp(31) 995db71995Sopenharmony_ciPhysDevExtTramp(32) 1005db71995Sopenharmony_ciPhysDevExtTramp(33) 1015db71995Sopenharmony_ciPhysDevExtTramp(34) 1025db71995Sopenharmony_ciPhysDevExtTramp(35) 1035db71995Sopenharmony_ciPhysDevExtTramp(36) 1045db71995Sopenharmony_ciPhysDevExtTramp(37) 1055db71995Sopenharmony_ciPhysDevExtTramp(38) 1065db71995Sopenharmony_ciPhysDevExtTramp(39) 1075db71995Sopenharmony_ciPhysDevExtTramp(40) 1085db71995Sopenharmony_ciPhysDevExtTramp(41) 1095db71995Sopenharmony_ciPhysDevExtTramp(42) 1105db71995Sopenharmony_ciPhysDevExtTramp(43) 1115db71995Sopenharmony_ciPhysDevExtTramp(44) 1125db71995Sopenharmony_ciPhysDevExtTramp(45) 1135db71995Sopenharmony_ciPhysDevExtTramp(46) 1145db71995Sopenharmony_ciPhysDevExtTramp(47) 1155db71995Sopenharmony_ciPhysDevExtTramp(48) 1165db71995Sopenharmony_ciPhysDevExtTramp(49) 1175db71995Sopenharmony_ciPhysDevExtTramp(50) 1185db71995Sopenharmony_ciPhysDevExtTramp(51) 1195db71995Sopenharmony_ciPhysDevExtTramp(52) 1205db71995Sopenharmony_ciPhysDevExtTramp(53) 1215db71995Sopenharmony_ciPhysDevExtTramp(54) 1225db71995Sopenharmony_ciPhysDevExtTramp(55) 1235db71995Sopenharmony_ciPhysDevExtTramp(56) 1245db71995Sopenharmony_ciPhysDevExtTramp(57) 1255db71995Sopenharmony_ciPhysDevExtTramp(58) 1265db71995Sopenharmony_ciPhysDevExtTramp(59) 1275db71995Sopenharmony_ciPhysDevExtTramp(60) 1285db71995Sopenharmony_ciPhysDevExtTramp(61) 1295db71995Sopenharmony_ciPhysDevExtTramp(62) 1305db71995Sopenharmony_ciPhysDevExtTramp(63) 1315db71995Sopenharmony_ciPhysDevExtTramp(64) 1325db71995Sopenharmony_ciPhysDevExtTramp(65) 1335db71995Sopenharmony_ciPhysDevExtTramp(66) 1345db71995Sopenharmony_ciPhysDevExtTramp(67) 1355db71995Sopenharmony_ciPhysDevExtTramp(68) 1365db71995Sopenharmony_ciPhysDevExtTramp(69) 1375db71995Sopenharmony_ciPhysDevExtTramp(70) 1385db71995Sopenharmony_ciPhysDevExtTramp(71) 1395db71995Sopenharmony_ciPhysDevExtTramp(72) 1405db71995Sopenharmony_ciPhysDevExtTramp(73) 1415db71995Sopenharmony_ciPhysDevExtTramp(74) 1425db71995Sopenharmony_ciPhysDevExtTramp(75) 1435db71995Sopenharmony_ciPhysDevExtTramp(76) 1445db71995Sopenharmony_ciPhysDevExtTramp(77) 1455db71995Sopenharmony_ciPhysDevExtTramp(78) 1465db71995Sopenharmony_ciPhysDevExtTramp(79) 1475db71995Sopenharmony_ciPhysDevExtTramp(80) 1485db71995Sopenharmony_ciPhysDevExtTramp(81) 1495db71995Sopenharmony_ciPhysDevExtTramp(82) 1505db71995Sopenharmony_ciPhysDevExtTramp(83) 1515db71995Sopenharmony_ciPhysDevExtTramp(84) 1525db71995Sopenharmony_ciPhysDevExtTramp(85) 1535db71995Sopenharmony_ciPhysDevExtTramp(86) 1545db71995Sopenharmony_ciPhysDevExtTramp(87) 1555db71995Sopenharmony_ciPhysDevExtTramp(88) 1565db71995Sopenharmony_ciPhysDevExtTramp(89) 1575db71995Sopenharmony_ciPhysDevExtTramp(90) 1585db71995Sopenharmony_ciPhysDevExtTramp(91) 1595db71995Sopenharmony_ciPhysDevExtTramp(92) 1605db71995Sopenharmony_ciPhysDevExtTramp(93) 1615db71995Sopenharmony_ciPhysDevExtTramp(94) 1625db71995Sopenharmony_ciPhysDevExtTramp(95) 1635db71995Sopenharmony_ciPhysDevExtTramp(96) 1645db71995Sopenharmony_ciPhysDevExtTramp(97) 1655db71995Sopenharmony_ciPhysDevExtTramp(98) 1665db71995Sopenharmony_ciPhysDevExtTramp(99) 1675db71995Sopenharmony_ciPhysDevExtTramp(100) 1685db71995Sopenharmony_ciPhysDevExtTramp(101) 1695db71995Sopenharmony_ciPhysDevExtTramp(102) 1705db71995Sopenharmony_ciPhysDevExtTramp(103) 1715db71995Sopenharmony_ciPhysDevExtTramp(104) 1725db71995Sopenharmony_ciPhysDevExtTramp(105) 1735db71995Sopenharmony_ciPhysDevExtTramp(106) 1745db71995Sopenharmony_ciPhysDevExtTramp(107) 1755db71995Sopenharmony_ciPhysDevExtTramp(108) 1765db71995Sopenharmony_ciPhysDevExtTramp(109) 1775db71995Sopenharmony_ciPhysDevExtTramp(110) 1785db71995Sopenharmony_ciPhysDevExtTramp(111) 1795db71995Sopenharmony_ciPhysDevExtTramp(112) 1805db71995Sopenharmony_ciPhysDevExtTramp(113) 1815db71995Sopenharmony_ciPhysDevExtTramp(114) 1825db71995Sopenharmony_ciPhysDevExtTramp(115) 1835db71995Sopenharmony_ciPhysDevExtTramp(116) 1845db71995Sopenharmony_ciPhysDevExtTramp(117) 1855db71995Sopenharmony_ciPhysDevExtTramp(118) 1865db71995Sopenharmony_ciPhysDevExtTramp(119) 1875db71995Sopenharmony_ciPhysDevExtTramp(120) 1885db71995Sopenharmony_ciPhysDevExtTramp(121) 1895db71995Sopenharmony_ciPhysDevExtTramp(122) 1905db71995Sopenharmony_ciPhysDevExtTramp(123) 1915db71995Sopenharmony_ciPhysDevExtTramp(124) 1925db71995Sopenharmony_ciPhysDevExtTramp(125) 1935db71995Sopenharmony_ciPhysDevExtTramp(126) 1945db71995Sopenharmony_ciPhysDevExtTramp(127) 1955db71995Sopenharmony_ciPhysDevExtTramp(128) 1965db71995Sopenharmony_ciPhysDevExtTramp(129) 1975db71995Sopenharmony_ciPhysDevExtTramp(130) 1985db71995Sopenharmony_ciPhysDevExtTramp(131) 1995db71995Sopenharmony_ciPhysDevExtTramp(132) 2005db71995Sopenharmony_ciPhysDevExtTramp(133) 2015db71995Sopenharmony_ciPhysDevExtTramp(134) 2025db71995Sopenharmony_ciPhysDevExtTramp(135) 2035db71995Sopenharmony_ciPhysDevExtTramp(136) 2045db71995Sopenharmony_ciPhysDevExtTramp(137) 2055db71995Sopenharmony_ciPhysDevExtTramp(138) 2065db71995Sopenharmony_ciPhysDevExtTramp(139) 2075db71995Sopenharmony_ciPhysDevExtTramp(140) 2085db71995Sopenharmony_ciPhysDevExtTramp(141) 2095db71995Sopenharmony_ciPhysDevExtTramp(142) 2105db71995Sopenharmony_ciPhysDevExtTramp(143) 2115db71995Sopenharmony_ciPhysDevExtTramp(144) 2125db71995Sopenharmony_ciPhysDevExtTramp(145) 2135db71995Sopenharmony_ciPhysDevExtTramp(146) 2145db71995Sopenharmony_ciPhysDevExtTramp(147) 2155db71995Sopenharmony_ciPhysDevExtTramp(148) 2165db71995Sopenharmony_ciPhysDevExtTramp(149) 2175db71995Sopenharmony_ciPhysDevExtTramp(150) 2185db71995Sopenharmony_ciPhysDevExtTramp(151) 2195db71995Sopenharmony_ciPhysDevExtTramp(152) 2205db71995Sopenharmony_ciPhysDevExtTramp(153) 2215db71995Sopenharmony_ciPhysDevExtTramp(154) 2225db71995Sopenharmony_ciPhysDevExtTramp(155) 2235db71995Sopenharmony_ciPhysDevExtTramp(156) 2245db71995Sopenharmony_ciPhysDevExtTramp(157) 2255db71995Sopenharmony_ciPhysDevExtTramp(158) 2265db71995Sopenharmony_ciPhysDevExtTramp(159) 2275db71995Sopenharmony_ciPhysDevExtTramp(160) 2285db71995Sopenharmony_ciPhysDevExtTramp(161) 2295db71995Sopenharmony_ciPhysDevExtTramp(162) 2305db71995Sopenharmony_ciPhysDevExtTramp(163) 2315db71995Sopenharmony_ciPhysDevExtTramp(164) 2325db71995Sopenharmony_ciPhysDevExtTramp(165) 2335db71995Sopenharmony_ciPhysDevExtTramp(166) 2345db71995Sopenharmony_ciPhysDevExtTramp(167) 2355db71995Sopenharmony_ciPhysDevExtTramp(168) 2365db71995Sopenharmony_ciPhysDevExtTramp(169) 2375db71995Sopenharmony_ciPhysDevExtTramp(170) 2385db71995Sopenharmony_ciPhysDevExtTramp(171) 2395db71995Sopenharmony_ciPhysDevExtTramp(172) 2405db71995Sopenharmony_ciPhysDevExtTramp(173) 2415db71995Sopenharmony_ciPhysDevExtTramp(174) 2425db71995Sopenharmony_ciPhysDevExtTramp(175) 2435db71995Sopenharmony_ciPhysDevExtTramp(176) 2445db71995Sopenharmony_ciPhysDevExtTramp(177) 2455db71995Sopenharmony_ciPhysDevExtTramp(178) 2465db71995Sopenharmony_ciPhysDevExtTramp(179) 2475db71995Sopenharmony_ciPhysDevExtTramp(180) 2485db71995Sopenharmony_ciPhysDevExtTramp(181) 2495db71995Sopenharmony_ciPhysDevExtTramp(182) 2505db71995Sopenharmony_ciPhysDevExtTramp(183) 2515db71995Sopenharmony_ciPhysDevExtTramp(184) 2525db71995Sopenharmony_ciPhysDevExtTramp(185) 2535db71995Sopenharmony_ciPhysDevExtTramp(186) 2545db71995Sopenharmony_ciPhysDevExtTramp(187) 2555db71995Sopenharmony_ciPhysDevExtTramp(188) 2565db71995Sopenharmony_ciPhysDevExtTramp(189) 2575db71995Sopenharmony_ciPhysDevExtTramp(190) 2585db71995Sopenharmony_ciPhysDevExtTramp(191) 2595db71995Sopenharmony_ciPhysDevExtTramp(192) 2605db71995Sopenharmony_ciPhysDevExtTramp(193) 2615db71995Sopenharmony_ciPhysDevExtTramp(194) 2625db71995Sopenharmony_ciPhysDevExtTramp(195) 2635db71995Sopenharmony_ciPhysDevExtTramp(196) 2645db71995Sopenharmony_ciPhysDevExtTramp(197) 2655db71995Sopenharmony_ciPhysDevExtTramp(198) 2665db71995Sopenharmony_ciPhysDevExtTramp(199) 2675db71995Sopenharmony_ciPhysDevExtTramp(200) 2685db71995Sopenharmony_ciPhysDevExtTramp(201) 2695db71995Sopenharmony_ciPhysDevExtTramp(202) 2705db71995Sopenharmony_ciPhysDevExtTramp(203) 2715db71995Sopenharmony_ciPhysDevExtTramp(204) 2725db71995Sopenharmony_ciPhysDevExtTramp(205) 2735db71995Sopenharmony_ciPhysDevExtTramp(206) 2745db71995Sopenharmony_ciPhysDevExtTramp(207) 2755db71995Sopenharmony_ciPhysDevExtTramp(208) 2765db71995Sopenharmony_ciPhysDevExtTramp(209) 2775db71995Sopenharmony_ciPhysDevExtTramp(210) 2785db71995Sopenharmony_ciPhysDevExtTramp(211) 2795db71995Sopenharmony_ciPhysDevExtTramp(212) 2805db71995Sopenharmony_ciPhysDevExtTramp(213) 2815db71995Sopenharmony_ciPhysDevExtTramp(214) 2825db71995Sopenharmony_ciPhysDevExtTramp(215) 2835db71995Sopenharmony_ciPhysDevExtTramp(216) 2845db71995Sopenharmony_ciPhysDevExtTramp(217) 2855db71995Sopenharmony_ciPhysDevExtTramp(218) 2865db71995Sopenharmony_ciPhysDevExtTramp(219) 2875db71995Sopenharmony_ciPhysDevExtTramp(220) 2885db71995Sopenharmony_ciPhysDevExtTramp(221) 2895db71995Sopenharmony_ciPhysDevExtTramp(222) 2905db71995Sopenharmony_ciPhysDevExtTramp(223) 2915db71995Sopenharmony_ciPhysDevExtTramp(224) 2925db71995Sopenharmony_ciPhysDevExtTramp(225) 2935db71995Sopenharmony_ciPhysDevExtTramp(226) 2945db71995Sopenharmony_ciPhysDevExtTramp(227) 2955db71995Sopenharmony_ciPhysDevExtTramp(228) 2965db71995Sopenharmony_ciPhysDevExtTramp(229) 2975db71995Sopenharmony_ciPhysDevExtTramp(230) 2985db71995Sopenharmony_ciPhysDevExtTramp(231) 2995db71995Sopenharmony_ciPhysDevExtTramp(232) 3005db71995Sopenharmony_ciPhysDevExtTramp(233) 3015db71995Sopenharmony_ciPhysDevExtTramp(234) 3025db71995Sopenharmony_ciPhysDevExtTramp(235) 3035db71995Sopenharmony_ciPhysDevExtTramp(236) 3045db71995Sopenharmony_ciPhysDevExtTramp(237) 3055db71995Sopenharmony_ciPhysDevExtTramp(238) 3065db71995Sopenharmony_ciPhysDevExtTramp(239) 3075db71995Sopenharmony_ciPhysDevExtTramp(240) 3085db71995Sopenharmony_ciPhysDevExtTramp(241) 3095db71995Sopenharmony_ciPhysDevExtTramp(242) 3105db71995Sopenharmony_ciPhysDevExtTramp(243) 3115db71995Sopenharmony_ciPhysDevExtTramp(244) 3125db71995Sopenharmony_ciPhysDevExtTramp(245) 3135db71995Sopenharmony_ciPhysDevExtTramp(246) 3145db71995Sopenharmony_ciPhysDevExtTramp(247) 3155db71995Sopenharmony_ciPhysDevExtTramp(248) 3165db71995Sopenharmony_ciPhysDevExtTramp(249) 3175db71995Sopenharmony_ci 3185db71995Sopenharmony_ci// Instantiations of the terminator 3195db71995Sopenharmony_ciPhysDevExtTermin(0) 3205db71995Sopenharmony_ciPhysDevExtTermin(1) 3215db71995Sopenharmony_ciPhysDevExtTermin(2) 3225db71995Sopenharmony_ciPhysDevExtTermin(3) 3235db71995Sopenharmony_ciPhysDevExtTermin(4) 3245db71995Sopenharmony_ciPhysDevExtTermin(5) 3255db71995Sopenharmony_ciPhysDevExtTermin(6) 3265db71995Sopenharmony_ciPhysDevExtTermin(7) 3275db71995Sopenharmony_ciPhysDevExtTermin(8) 3285db71995Sopenharmony_ciPhysDevExtTermin(9) 3295db71995Sopenharmony_ciPhysDevExtTermin(10) 3305db71995Sopenharmony_ciPhysDevExtTermin(11) 3315db71995Sopenharmony_ciPhysDevExtTermin(12) 3325db71995Sopenharmony_ciPhysDevExtTermin(13) 3335db71995Sopenharmony_ciPhysDevExtTermin(14) 3345db71995Sopenharmony_ciPhysDevExtTermin(15) 3355db71995Sopenharmony_ciPhysDevExtTermin(16) 3365db71995Sopenharmony_ciPhysDevExtTermin(17) 3375db71995Sopenharmony_ciPhysDevExtTermin(18) 3385db71995Sopenharmony_ciPhysDevExtTermin(19) 3395db71995Sopenharmony_ciPhysDevExtTermin(20) 3405db71995Sopenharmony_ciPhysDevExtTermin(21) 3415db71995Sopenharmony_ciPhysDevExtTermin(22) 3425db71995Sopenharmony_ciPhysDevExtTermin(23) 3435db71995Sopenharmony_ciPhysDevExtTermin(24) 3445db71995Sopenharmony_ciPhysDevExtTermin(25) 3455db71995Sopenharmony_ciPhysDevExtTermin(26) 3465db71995Sopenharmony_ciPhysDevExtTermin(27) 3475db71995Sopenharmony_ciPhysDevExtTermin(28) 3485db71995Sopenharmony_ciPhysDevExtTermin(29) 3495db71995Sopenharmony_ciPhysDevExtTermin(30) 3505db71995Sopenharmony_ciPhysDevExtTermin(31) 3515db71995Sopenharmony_ciPhysDevExtTermin(32) 3525db71995Sopenharmony_ciPhysDevExtTermin(33) 3535db71995Sopenharmony_ciPhysDevExtTermin(34) 3545db71995Sopenharmony_ciPhysDevExtTermin(35) 3555db71995Sopenharmony_ciPhysDevExtTermin(36) 3565db71995Sopenharmony_ciPhysDevExtTermin(37) 3575db71995Sopenharmony_ciPhysDevExtTermin(38) 3585db71995Sopenharmony_ciPhysDevExtTermin(39) 3595db71995Sopenharmony_ciPhysDevExtTermin(40) 3605db71995Sopenharmony_ciPhysDevExtTermin(41) 3615db71995Sopenharmony_ciPhysDevExtTermin(42) 3625db71995Sopenharmony_ciPhysDevExtTermin(43) 3635db71995Sopenharmony_ciPhysDevExtTermin(44) 3645db71995Sopenharmony_ciPhysDevExtTermin(45) 3655db71995Sopenharmony_ciPhysDevExtTermin(46) 3665db71995Sopenharmony_ciPhysDevExtTermin(47) 3675db71995Sopenharmony_ciPhysDevExtTermin(48) 3685db71995Sopenharmony_ciPhysDevExtTermin(49) 3695db71995Sopenharmony_ciPhysDevExtTermin(50) 3705db71995Sopenharmony_ciPhysDevExtTermin(51) 3715db71995Sopenharmony_ciPhysDevExtTermin(52) 3725db71995Sopenharmony_ciPhysDevExtTermin(53) 3735db71995Sopenharmony_ciPhysDevExtTermin(54) 3745db71995Sopenharmony_ciPhysDevExtTermin(55) 3755db71995Sopenharmony_ciPhysDevExtTermin(56) 3765db71995Sopenharmony_ciPhysDevExtTermin(57) 3775db71995Sopenharmony_ciPhysDevExtTermin(58) 3785db71995Sopenharmony_ciPhysDevExtTermin(59) 3795db71995Sopenharmony_ciPhysDevExtTermin(60) 3805db71995Sopenharmony_ciPhysDevExtTermin(61) 3815db71995Sopenharmony_ciPhysDevExtTermin(62) 3825db71995Sopenharmony_ciPhysDevExtTermin(63) 3835db71995Sopenharmony_ciPhysDevExtTermin(64) 3845db71995Sopenharmony_ciPhysDevExtTermin(65) 3855db71995Sopenharmony_ciPhysDevExtTermin(66) 3865db71995Sopenharmony_ciPhysDevExtTermin(67) 3875db71995Sopenharmony_ciPhysDevExtTermin(68) 3885db71995Sopenharmony_ciPhysDevExtTermin(69) 3895db71995Sopenharmony_ciPhysDevExtTermin(70) 3905db71995Sopenharmony_ciPhysDevExtTermin(71) 3915db71995Sopenharmony_ciPhysDevExtTermin(72) 3925db71995Sopenharmony_ciPhysDevExtTermin(73) 3935db71995Sopenharmony_ciPhysDevExtTermin(74) 3945db71995Sopenharmony_ciPhysDevExtTermin(75) 3955db71995Sopenharmony_ciPhysDevExtTermin(76) 3965db71995Sopenharmony_ciPhysDevExtTermin(77) 3975db71995Sopenharmony_ciPhysDevExtTermin(78) 3985db71995Sopenharmony_ciPhysDevExtTermin(79) 3995db71995Sopenharmony_ciPhysDevExtTermin(80) 4005db71995Sopenharmony_ciPhysDevExtTermin(81) 4015db71995Sopenharmony_ciPhysDevExtTermin(82) 4025db71995Sopenharmony_ciPhysDevExtTermin(83) 4035db71995Sopenharmony_ciPhysDevExtTermin(84) 4045db71995Sopenharmony_ciPhysDevExtTermin(85) 4055db71995Sopenharmony_ciPhysDevExtTermin(86) 4065db71995Sopenharmony_ciPhysDevExtTermin(87) 4075db71995Sopenharmony_ciPhysDevExtTermin(88) 4085db71995Sopenharmony_ciPhysDevExtTermin(89) 4095db71995Sopenharmony_ciPhysDevExtTermin(90) 4105db71995Sopenharmony_ciPhysDevExtTermin(91) 4115db71995Sopenharmony_ciPhysDevExtTermin(92) 4125db71995Sopenharmony_ciPhysDevExtTermin(93) 4135db71995Sopenharmony_ciPhysDevExtTermin(94) 4145db71995Sopenharmony_ciPhysDevExtTermin(95) 4155db71995Sopenharmony_ciPhysDevExtTermin(96) 4165db71995Sopenharmony_ciPhysDevExtTermin(97) 4175db71995Sopenharmony_ciPhysDevExtTermin(98) 4185db71995Sopenharmony_ciPhysDevExtTermin(99) 4195db71995Sopenharmony_ciPhysDevExtTermin(100) 4205db71995Sopenharmony_ciPhysDevExtTermin(101) 4215db71995Sopenharmony_ciPhysDevExtTermin(102) 4225db71995Sopenharmony_ciPhysDevExtTermin(103) 4235db71995Sopenharmony_ciPhysDevExtTermin(104) 4245db71995Sopenharmony_ciPhysDevExtTermin(105) 4255db71995Sopenharmony_ciPhysDevExtTermin(106) 4265db71995Sopenharmony_ciPhysDevExtTermin(107) 4275db71995Sopenharmony_ciPhysDevExtTermin(108) 4285db71995Sopenharmony_ciPhysDevExtTermin(109) 4295db71995Sopenharmony_ciPhysDevExtTermin(110) 4305db71995Sopenharmony_ciPhysDevExtTermin(111) 4315db71995Sopenharmony_ciPhysDevExtTermin(112) 4325db71995Sopenharmony_ciPhysDevExtTermin(113) 4335db71995Sopenharmony_ciPhysDevExtTermin(114) 4345db71995Sopenharmony_ciPhysDevExtTermin(115) 4355db71995Sopenharmony_ciPhysDevExtTermin(116) 4365db71995Sopenharmony_ciPhysDevExtTermin(117) 4375db71995Sopenharmony_ciPhysDevExtTermin(118) 4385db71995Sopenharmony_ciPhysDevExtTermin(119) 4395db71995Sopenharmony_ciPhysDevExtTermin(120) 4405db71995Sopenharmony_ciPhysDevExtTermin(121) 4415db71995Sopenharmony_ciPhysDevExtTermin(122) 4425db71995Sopenharmony_ciPhysDevExtTermin(123) 4435db71995Sopenharmony_ciPhysDevExtTermin(124) 4445db71995Sopenharmony_ciPhysDevExtTermin(125) 4455db71995Sopenharmony_ciPhysDevExtTermin(126) 4465db71995Sopenharmony_ciPhysDevExtTermin(127) 4475db71995Sopenharmony_ciPhysDevExtTermin(128) 4485db71995Sopenharmony_ciPhysDevExtTermin(129) 4495db71995Sopenharmony_ciPhysDevExtTermin(130) 4505db71995Sopenharmony_ciPhysDevExtTermin(131) 4515db71995Sopenharmony_ciPhysDevExtTermin(132) 4525db71995Sopenharmony_ciPhysDevExtTermin(133) 4535db71995Sopenharmony_ciPhysDevExtTermin(134) 4545db71995Sopenharmony_ciPhysDevExtTermin(135) 4555db71995Sopenharmony_ciPhysDevExtTermin(136) 4565db71995Sopenharmony_ciPhysDevExtTermin(137) 4575db71995Sopenharmony_ciPhysDevExtTermin(138) 4585db71995Sopenharmony_ciPhysDevExtTermin(139) 4595db71995Sopenharmony_ciPhysDevExtTermin(140) 4605db71995Sopenharmony_ciPhysDevExtTermin(141) 4615db71995Sopenharmony_ciPhysDevExtTermin(142) 4625db71995Sopenharmony_ciPhysDevExtTermin(143) 4635db71995Sopenharmony_ciPhysDevExtTermin(144) 4645db71995Sopenharmony_ciPhysDevExtTermin(145) 4655db71995Sopenharmony_ciPhysDevExtTermin(146) 4665db71995Sopenharmony_ciPhysDevExtTermin(147) 4675db71995Sopenharmony_ciPhysDevExtTermin(148) 4685db71995Sopenharmony_ciPhysDevExtTermin(149) 4695db71995Sopenharmony_ciPhysDevExtTermin(150) 4705db71995Sopenharmony_ciPhysDevExtTermin(151) 4715db71995Sopenharmony_ciPhysDevExtTermin(152) 4725db71995Sopenharmony_ciPhysDevExtTermin(153) 4735db71995Sopenharmony_ciPhysDevExtTermin(154) 4745db71995Sopenharmony_ciPhysDevExtTermin(155) 4755db71995Sopenharmony_ciPhysDevExtTermin(156) 4765db71995Sopenharmony_ciPhysDevExtTermin(157) 4775db71995Sopenharmony_ciPhysDevExtTermin(158) 4785db71995Sopenharmony_ciPhysDevExtTermin(159) 4795db71995Sopenharmony_ciPhysDevExtTermin(160) 4805db71995Sopenharmony_ciPhysDevExtTermin(161) 4815db71995Sopenharmony_ciPhysDevExtTermin(162) 4825db71995Sopenharmony_ciPhysDevExtTermin(163) 4835db71995Sopenharmony_ciPhysDevExtTermin(164) 4845db71995Sopenharmony_ciPhysDevExtTermin(165) 4855db71995Sopenharmony_ciPhysDevExtTermin(166) 4865db71995Sopenharmony_ciPhysDevExtTermin(167) 4875db71995Sopenharmony_ciPhysDevExtTermin(168) 4885db71995Sopenharmony_ciPhysDevExtTermin(169) 4895db71995Sopenharmony_ciPhysDevExtTermin(170) 4905db71995Sopenharmony_ciPhysDevExtTermin(171) 4915db71995Sopenharmony_ciPhysDevExtTermin(172) 4925db71995Sopenharmony_ciPhysDevExtTermin(173) 4935db71995Sopenharmony_ciPhysDevExtTermin(174) 4945db71995Sopenharmony_ciPhysDevExtTermin(175) 4955db71995Sopenharmony_ciPhysDevExtTermin(176) 4965db71995Sopenharmony_ciPhysDevExtTermin(177) 4975db71995Sopenharmony_ciPhysDevExtTermin(178) 4985db71995Sopenharmony_ciPhysDevExtTermin(179) 4995db71995Sopenharmony_ciPhysDevExtTermin(180) 5005db71995Sopenharmony_ciPhysDevExtTermin(181) 5015db71995Sopenharmony_ciPhysDevExtTermin(182) 5025db71995Sopenharmony_ciPhysDevExtTermin(183) 5035db71995Sopenharmony_ciPhysDevExtTermin(184) 5045db71995Sopenharmony_ciPhysDevExtTermin(185) 5055db71995Sopenharmony_ciPhysDevExtTermin(186) 5065db71995Sopenharmony_ciPhysDevExtTermin(187) 5075db71995Sopenharmony_ciPhysDevExtTermin(188) 5085db71995Sopenharmony_ciPhysDevExtTermin(189) 5095db71995Sopenharmony_ciPhysDevExtTermin(190) 5105db71995Sopenharmony_ciPhysDevExtTermin(191) 5115db71995Sopenharmony_ciPhysDevExtTermin(192) 5125db71995Sopenharmony_ciPhysDevExtTermin(193) 5135db71995Sopenharmony_ciPhysDevExtTermin(194) 5145db71995Sopenharmony_ciPhysDevExtTermin(195) 5155db71995Sopenharmony_ciPhysDevExtTermin(196) 5165db71995Sopenharmony_ciPhysDevExtTermin(197) 5175db71995Sopenharmony_ciPhysDevExtTermin(198) 5185db71995Sopenharmony_ciPhysDevExtTermin(199) 5195db71995Sopenharmony_ciPhysDevExtTermin(200) 5205db71995Sopenharmony_ciPhysDevExtTermin(201) 5215db71995Sopenharmony_ciPhysDevExtTermin(202) 5225db71995Sopenharmony_ciPhysDevExtTermin(203) 5235db71995Sopenharmony_ciPhysDevExtTermin(204) 5245db71995Sopenharmony_ciPhysDevExtTermin(205) 5255db71995Sopenharmony_ciPhysDevExtTermin(206) 5265db71995Sopenharmony_ciPhysDevExtTermin(207) 5275db71995Sopenharmony_ciPhysDevExtTermin(208) 5285db71995Sopenharmony_ciPhysDevExtTermin(209) 5295db71995Sopenharmony_ciPhysDevExtTermin(210) 5305db71995Sopenharmony_ciPhysDevExtTermin(211) 5315db71995Sopenharmony_ciPhysDevExtTermin(212) 5325db71995Sopenharmony_ciPhysDevExtTermin(213) 5335db71995Sopenharmony_ciPhysDevExtTermin(214) 5345db71995Sopenharmony_ciPhysDevExtTermin(215) 5355db71995Sopenharmony_ciPhysDevExtTermin(216) 5365db71995Sopenharmony_ciPhysDevExtTermin(217) 5375db71995Sopenharmony_ciPhysDevExtTermin(218) 5385db71995Sopenharmony_ciPhysDevExtTermin(219) 5395db71995Sopenharmony_ciPhysDevExtTermin(220) 5405db71995Sopenharmony_ciPhysDevExtTermin(221) 5415db71995Sopenharmony_ciPhysDevExtTermin(222) 5425db71995Sopenharmony_ciPhysDevExtTermin(223) 5435db71995Sopenharmony_ciPhysDevExtTermin(224) 5445db71995Sopenharmony_ciPhysDevExtTermin(225) 5455db71995Sopenharmony_ciPhysDevExtTermin(226) 5465db71995Sopenharmony_ciPhysDevExtTermin(227) 5475db71995Sopenharmony_ciPhysDevExtTermin(228) 5485db71995Sopenharmony_ciPhysDevExtTermin(229) 5495db71995Sopenharmony_ciPhysDevExtTermin(230) 5505db71995Sopenharmony_ciPhysDevExtTermin(231) 5515db71995Sopenharmony_ciPhysDevExtTermin(232) 5525db71995Sopenharmony_ciPhysDevExtTermin(233) 5535db71995Sopenharmony_ciPhysDevExtTermin(234) 5545db71995Sopenharmony_ciPhysDevExtTermin(235) 5555db71995Sopenharmony_ciPhysDevExtTermin(236) 5565db71995Sopenharmony_ciPhysDevExtTermin(237) 5575db71995Sopenharmony_ciPhysDevExtTermin(238) 5585db71995Sopenharmony_ciPhysDevExtTermin(239) 5595db71995Sopenharmony_ciPhysDevExtTermin(240) 5605db71995Sopenharmony_ciPhysDevExtTermin(241) 5615db71995Sopenharmony_ciPhysDevExtTermin(242) 5625db71995Sopenharmony_ciPhysDevExtTermin(243) 5635db71995Sopenharmony_ciPhysDevExtTermin(244) 5645db71995Sopenharmony_ciPhysDevExtTermin(245) 5655db71995Sopenharmony_ciPhysDevExtTermin(246) 5665db71995Sopenharmony_ciPhysDevExtTermin(247) 5675db71995Sopenharmony_ciPhysDevExtTermin(248) 5685db71995Sopenharmony_ciPhysDevExtTermin(249) 5695db71995Sopenharmony_ci 5705db71995Sopenharmony_ci// Instantiations of the device trampoline 5715db71995Sopenharmony_ciDevExtTramp(0) 5725db71995Sopenharmony_ciDevExtTramp(1) 5735db71995Sopenharmony_ciDevExtTramp(2) 5745db71995Sopenharmony_ciDevExtTramp(3) 5755db71995Sopenharmony_ciDevExtTramp(4) 5765db71995Sopenharmony_ciDevExtTramp(5) 5775db71995Sopenharmony_ciDevExtTramp(6) 5785db71995Sopenharmony_ciDevExtTramp(7) 5795db71995Sopenharmony_ciDevExtTramp(8) 5805db71995Sopenharmony_ciDevExtTramp(9) 5815db71995Sopenharmony_ciDevExtTramp(10) 5825db71995Sopenharmony_ciDevExtTramp(11) 5835db71995Sopenharmony_ciDevExtTramp(12) 5845db71995Sopenharmony_ciDevExtTramp(13) 5855db71995Sopenharmony_ciDevExtTramp(14) 5865db71995Sopenharmony_ciDevExtTramp(15) 5875db71995Sopenharmony_ciDevExtTramp(16) 5885db71995Sopenharmony_ciDevExtTramp(17) 5895db71995Sopenharmony_ciDevExtTramp(18) 5905db71995Sopenharmony_ciDevExtTramp(19) 5915db71995Sopenharmony_ciDevExtTramp(20) 5925db71995Sopenharmony_ciDevExtTramp(21) 5935db71995Sopenharmony_ciDevExtTramp(22) 5945db71995Sopenharmony_ciDevExtTramp(23) 5955db71995Sopenharmony_ciDevExtTramp(24) 5965db71995Sopenharmony_ciDevExtTramp(25) 5975db71995Sopenharmony_ciDevExtTramp(26) 5985db71995Sopenharmony_ciDevExtTramp(27) 5995db71995Sopenharmony_ciDevExtTramp(28) 6005db71995Sopenharmony_ciDevExtTramp(29) 6015db71995Sopenharmony_ciDevExtTramp(30) 6025db71995Sopenharmony_ciDevExtTramp(31) 6035db71995Sopenharmony_ciDevExtTramp(32) 6045db71995Sopenharmony_ciDevExtTramp(33) 6055db71995Sopenharmony_ciDevExtTramp(34) 6065db71995Sopenharmony_ciDevExtTramp(35) 6075db71995Sopenharmony_ciDevExtTramp(36) 6085db71995Sopenharmony_ciDevExtTramp(37) 6095db71995Sopenharmony_ciDevExtTramp(38) 6105db71995Sopenharmony_ciDevExtTramp(39) 6115db71995Sopenharmony_ciDevExtTramp(40) 6125db71995Sopenharmony_ciDevExtTramp(41) 6135db71995Sopenharmony_ciDevExtTramp(42) 6145db71995Sopenharmony_ciDevExtTramp(43) 6155db71995Sopenharmony_ciDevExtTramp(44) 6165db71995Sopenharmony_ciDevExtTramp(45) 6175db71995Sopenharmony_ciDevExtTramp(46) 6185db71995Sopenharmony_ciDevExtTramp(47) 6195db71995Sopenharmony_ciDevExtTramp(48) 6205db71995Sopenharmony_ciDevExtTramp(49) 6215db71995Sopenharmony_ciDevExtTramp(50) 6225db71995Sopenharmony_ciDevExtTramp(51) 6235db71995Sopenharmony_ciDevExtTramp(52) 6245db71995Sopenharmony_ciDevExtTramp(53) 6255db71995Sopenharmony_ciDevExtTramp(54) 6265db71995Sopenharmony_ciDevExtTramp(55) 6275db71995Sopenharmony_ciDevExtTramp(56) 6285db71995Sopenharmony_ciDevExtTramp(57) 6295db71995Sopenharmony_ciDevExtTramp(58) 6305db71995Sopenharmony_ciDevExtTramp(59) 6315db71995Sopenharmony_ciDevExtTramp(60) 6325db71995Sopenharmony_ciDevExtTramp(61) 6335db71995Sopenharmony_ciDevExtTramp(62) 6345db71995Sopenharmony_ciDevExtTramp(63) 6355db71995Sopenharmony_ciDevExtTramp(64) 6365db71995Sopenharmony_ciDevExtTramp(65) 6375db71995Sopenharmony_ciDevExtTramp(66) 6385db71995Sopenharmony_ciDevExtTramp(67) 6395db71995Sopenharmony_ciDevExtTramp(68) 6405db71995Sopenharmony_ciDevExtTramp(69) 6415db71995Sopenharmony_ciDevExtTramp(70) 6425db71995Sopenharmony_ciDevExtTramp(71) 6435db71995Sopenharmony_ciDevExtTramp(72) 6445db71995Sopenharmony_ciDevExtTramp(73) 6455db71995Sopenharmony_ciDevExtTramp(74) 6465db71995Sopenharmony_ciDevExtTramp(75) 6475db71995Sopenharmony_ciDevExtTramp(76) 6485db71995Sopenharmony_ciDevExtTramp(77) 6495db71995Sopenharmony_ciDevExtTramp(78) 6505db71995Sopenharmony_ciDevExtTramp(79) 6515db71995Sopenharmony_ciDevExtTramp(80) 6525db71995Sopenharmony_ciDevExtTramp(81) 6535db71995Sopenharmony_ciDevExtTramp(82) 6545db71995Sopenharmony_ciDevExtTramp(83) 6555db71995Sopenharmony_ciDevExtTramp(84) 6565db71995Sopenharmony_ciDevExtTramp(85) 6575db71995Sopenharmony_ciDevExtTramp(86) 6585db71995Sopenharmony_ciDevExtTramp(87) 6595db71995Sopenharmony_ciDevExtTramp(88) 6605db71995Sopenharmony_ciDevExtTramp(89) 6615db71995Sopenharmony_ciDevExtTramp(90) 6625db71995Sopenharmony_ciDevExtTramp(91) 6635db71995Sopenharmony_ciDevExtTramp(92) 6645db71995Sopenharmony_ciDevExtTramp(93) 6655db71995Sopenharmony_ciDevExtTramp(94) 6665db71995Sopenharmony_ciDevExtTramp(95) 6675db71995Sopenharmony_ciDevExtTramp(96) 6685db71995Sopenharmony_ciDevExtTramp(97) 6695db71995Sopenharmony_ciDevExtTramp(98) 6705db71995Sopenharmony_ciDevExtTramp(99) 6715db71995Sopenharmony_ciDevExtTramp(100) 6725db71995Sopenharmony_ciDevExtTramp(101) 6735db71995Sopenharmony_ciDevExtTramp(102) 6745db71995Sopenharmony_ciDevExtTramp(103) 6755db71995Sopenharmony_ciDevExtTramp(104) 6765db71995Sopenharmony_ciDevExtTramp(105) 6775db71995Sopenharmony_ciDevExtTramp(106) 6785db71995Sopenharmony_ciDevExtTramp(107) 6795db71995Sopenharmony_ciDevExtTramp(108) 6805db71995Sopenharmony_ciDevExtTramp(109) 6815db71995Sopenharmony_ciDevExtTramp(110) 6825db71995Sopenharmony_ciDevExtTramp(111) 6835db71995Sopenharmony_ciDevExtTramp(112) 6845db71995Sopenharmony_ciDevExtTramp(113) 6855db71995Sopenharmony_ciDevExtTramp(114) 6865db71995Sopenharmony_ciDevExtTramp(115) 6875db71995Sopenharmony_ciDevExtTramp(116) 6885db71995Sopenharmony_ciDevExtTramp(117) 6895db71995Sopenharmony_ciDevExtTramp(118) 6905db71995Sopenharmony_ciDevExtTramp(119) 6915db71995Sopenharmony_ciDevExtTramp(120) 6925db71995Sopenharmony_ciDevExtTramp(121) 6935db71995Sopenharmony_ciDevExtTramp(122) 6945db71995Sopenharmony_ciDevExtTramp(123) 6955db71995Sopenharmony_ciDevExtTramp(124) 6965db71995Sopenharmony_ciDevExtTramp(125) 6975db71995Sopenharmony_ciDevExtTramp(126) 6985db71995Sopenharmony_ciDevExtTramp(127) 6995db71995Sopenharmony_ciDevExtTramp(128) 7005db71995Sopenharmony_ciDevExtTramp(129) 7015db71995Sopenharmony_ciDevExtTramp(130) 7025db71995Sopenharmony_ciDevExtTramp(131) 7035db71995Sopenharmony_ciDevExtTramp(132) 7045db71995Sopenharmony_ciDevExtTramp(133) 7055db71995Sopenharmony_ciDevExtTramp(134) 7065db71995Sopenharmony_ciDevExtTramp(135) 7075db71995Sopenharmony_ciDevExtTramp(136) 7085db71995Sopenharmony_ciDevExtTramp(137) 7095db71995Sopenharmony_ciDevExtTramp(138) 7105db71995Sopenharmony_ciDevExtTramp(139) 7115db71995Sopenharmony_ciDevExtTramp(140) 7125db71995Sopenharmony_ciDevExtTramp(141) 7135db71995Sopenharmony_ciDevExtTramp(142) 7145db71995Sopenharmony_ciDevExtTramp(143) 7155db71995Sopenharmony_ciDevExtTramp(144) 7165db71995Sopenharmony_ciDevExtTramp(145) 7175db71995Sopenharmony_ciDevExtTramp(146) 7185db71995Sopenharmony_ciDevExtTramp(147) 7195db71995Sopenharmony_ciDevExtTramp(148) 7205db71995Sopenharmony_ciDevExtTramp(149) 7215db71995Sopenharmony_ciDevExtTramp(150) 7225db71995Sopenharmony_ciDevExtTramp(151) 7235db71995Sopenharmony_ciDevExtTramp(152) 7245db71995Sopenharmony_ciDevExtTramp(153) 7255db71995Sopenharmony_ciDevExtTramp(154) 7265db71995Sopenharmony_ciDevExtTramp(155) 7275db71995Sopenharmony_ciDevExtTramp(156) 7285db71995Sopenharmony_ciDevExtTramp(157) 7295db71995Sopenharmony_ciDevExtTramp(158) 7305db71995Sopenharmony_ciDevExtTramp(159) 7315db71995Sopenharmony_ciDevExtTramp(160) 7325db71995Sopenharmony_ciDevExtTramp(161) 7335db71995Sopenharmony_ciDevExtTramp(162) 7345db71995Sopenharmony_ciDevExtTramp(163) 7355db71995Sopenharmony_ciDevExtTramp(164) 7365db71995Sopenharmony_ciDevExtTramp(165) 7375db71995Sopenharmony_ciDevExtTramp(166) 7385db71995Sopenharmony_ciDevExtTramp(167) 7395db71995Sopenharmony_ciDevExtTramp(168) 7405db71995Sopenharmony_ciDevExtTramp(169) 7415db71995Sopenharmony_ciDevExtTramp(170) 7425db71995Sopenharmony_ciDevExtTramp(171) 7435db71995Sopenharmony_ciDevExtTramp(172) 7445db71995Sopenharmony_ciDevExtTramp(173) 7455db71995Sopenharmony_ciDevExtTramp(174) 7465db71995Sopenharmony_ciDevExtTramp(175) 7475db71995Sopenharmony_ciDevExtTramp(176) 7485db71995Sopenharmony_ciDevExtTramp(177) 7495db71995Sopenharmony_ciDevExtTramp(178) 7505db71995Sopenharmony_ciDevExtTramp(179) 7515db71995Sopenharmony_ciDevExtTramp(180) 7525db71995Sopenharmony_ciDevExtTramp(181) 7535db71995Sopenharmony_ciDevExtTramp(182) 7545db71995Sopenharmony_ciDevExtTramp(183) 7555db71995Sopenharmony_ciDevExtTramp(184) 7565db71995Sopenharmony_ciDevExtTramp(185) 7575db71995Sopenharmony_ciDevExtTramp(186) 7585db71995Sopenharmony_ciDevExtTramp(187) 7595db71995Sopenharmony_ciDevExtTramp(188) 7605db71995Sopenharmony_ciDevExtTramp(189) 7615db71995Sopenharmony_ciDevExtTramp(190) 7625db71995Sopenharmony_ciDevExtTramp(191) 7635db71995Sopenharmony_ciDevExtTramp(192) 7645db71995Sopenharmony_ciDevExtTramp(193) 7655db71995Sopenharmony_ciDevExtTramp(194) 7665db71995Sopenharmony_ciDevExtTramp(195) 7675db71995Sopenharmony_ciDevExtTramp(196) 7685db71995Sopenharmony_ciDevExtTramp(197) 7695db71995Sopenharmony_ciDevExtTramp(198) 7705db71995Sopenharmony_ciDevExtTramp(199) 7715db71995Sopenharmony_ciDevExtTramp(200) 7725db71995Sopenharmony_ciDevExtTramp(201) 7735db71995Sopenharmony_ciDevExtTramp(202) 7745db71995Sopenharmony_ciDevExtTramp(203) 7755db71995Sopenharmony_ciDevExtTramp(204) 7765db71995Sopenharmony_ciDevExtTramp(205) 7775db71995Sopenharmony_ciDevExtTramp(206) 7785db71995Sopenharmony_ciDevExtTramp(207) 7795db71995Sopenharmony_ciDevExtTramp(208) 7805db71995Sopenharmony_ciDevExtTramp(209) 7815db71995Sopenharmony_ciDevExtTramp(210) 7825db71995Sopenharmony_ciDevExtTramp(211) 7835db71995Sopenharmony_ciDevExtTramp(212) 7845db71995Sopenharmony_ciDevExtTramp(213) 7855db71995Sopenharmony_ciDevExtTramp(214) 7865db71995Sopenharmony_ciDevExtTramp(215) 7875db71995Sopenharmony_ciDevExtTramp(216) 7885db71995Sopenharmony_ciDevExtTramp(217) 7895db71995Sopenharmony_ciDevExtTramp(218) 7905db71995Sopenharmony_ciDevExtTramp(219) 7915db71995Sopenharmony_ciDevExtTramp(220) 7925db71995Sopenharmony_ciDevExtTramp(221) 7935db71995Sopenharmony_ciDevExtTramp(222) 7945db71995Sopenharmony_ciDevExtTramp(223) 7955db71995Sopenharmony_ciDevExtTramp(224) 7965db71995Sopenharmony_ciDevExtTramp(225) 7975db71995Sopenharmony_ciDevExtTramp(226) 7985db71995Sopenharmony_ciDevExtTramp(227) 7995db71995Sopenharmony_ciDevExtTramp(228) 8005db71995Sopenharmony_ciDevExtTramp(229) 8015db71995Sopenharmony_ciDevExtTramp(230) 8025db71995Sopenharmony_ciDevExtTramp(231) 8035db71995Sopenharmony_ciDevExtTramp(232) 8045db71995Sopenharmony_ciDevExtTramp(233) 8055db71995Sopenharmony_ciDevExtTramp(234) 8065db71995Sopenharmony_ciDevExtTramp(235) 8075db71995Sopenharmony_ciDevExtTramp(236) 8085db71995Sopenharmony_ciDevExtTramp(237) 8095db71995Sopenharmony_ciDevExtTramp(238) 8105db71995Sopenharmony_ciDevExtTramp(239) 8115db71995Sopenharmony_ciDevExtTramp(240) 8125db71995Sopenharmony_ciDevExtTramp(241) 8135db71995Sopenharmony_ciDevExtTramp(242) 8145db71995Sopenharmony_ciDevExtTramp(243) 8155db71995Sopenharmony_ciDevExtTramp(244) 8165db71995Sopenharmony_ciDevExtTramp(245) 8175db71995Sopenharmony_ciDevExtTramp(246) 8185db71995Sopenharmony_ciDevExtTramp(247) 8195db71995Sopenharmony_ciDevExtTramp(248) 8205db71995Sopenharmony_ciDevExtTramp(249) 821