diff options
author | Charles Clément <caratorn@gmail.com> | 2010-06-21 13:39:51 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-06-22 18:39:58 -0400 |
commit | 79566eb2df013f0ed20e548f4be0f8afbe78f9a3 (patch) | |
tree | de21b0c37eded01d1dd8f2bda4ad2e6a74c32be7 | |
parent | 2a1a17498bcaea1580a4fa051286bc97d4c5e730 (diff) |
Staging: vt6655: move channel mapping code from card.c to channel.c
Move functions managing the channel mapping to a new channel.c file, as done in
the staging VT6656 driver. The function names contained in card.c were prefixed
with CARD followed by the first letter of the return code, remove this and use
more coherent function names.
The following functions moved and were renamed:
ChannelValid -> is_channel_valid
CARDbSetChannel -> set_channel
CARDvInitChannelTable -> init_channel_table
CARDbyGetChannelMapping -> get_channel_mapping
CARDvSetCountryInfo -> set_country_info
CARDbySetSupportChannels -> set_support_channels
CARDbChannelGetList -> channel_get_list
CARDvSetCountryIE -> set_country_IE
CARDbGetChannelMapInfo -> get_channel_map_info
CARDvSetChannelMapInfo -> set_channel_map_info
CARDvClearChannelMapInfo -> clear_channel_map_info
CARDbyAutoChannelSelect -> auto_channel_select
CARDbyGetChannelNumber -> get_channel_number
Signed-off-by: Charles Clément <caratorn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/staging/vt6655/IEEE11h.c | 3 | ||||
-rw-r--r-- | drivers/staging/vt6655/Makefile | 1 | ||||
-rw-r--r-- | drivers/staging/vt6655/TODO | 1 | ||||
-rw-r--r-- | drivers/staging/vt6655/bssdb.c | 7 | ||||
-rw-r--r-- | drivers/staging/vt6655/card.c | 881 | ||||
-rw-r--r-- | drivers/staging/vt6655/card.h | 59 | ||||
-rw-r--r-- | drivers/staging/vt6655/channel.c | 835 | ||||
-rw-r--r-- | drivers/staging/vt6655/channel.h | 58 | ||||
-rw-r--r-- | drivers/staging/vt6655/country.h | 15 | ||||
-rw-r--r-- | drivers/staging/vt6655/device_main.c | 11 | ||||
-rw-r--r-- | drivers/staging/vt6655/wcmd.c | 11 | ||||
-rw-r--r-- | drivers/staging/vt6655/wmgr.c | 31 |
12 files changed, 931 insertions, 982 deletions
diff --git a/drivers/staging/vt6655/IEEE11h.c b/drivers/staging/vt6655/IEEE11h.c index 7576289c490..e6ca81b4a8e 100644 --- a/drivers/staging/vt6655/IEEE11h.c +++ b/drivers/staging/vt6655/IEEE11h.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include "device.h" | 38 | #include "device.h" |
39 | #include "wmgr.h" | 39 | #include "wmgr.h" |
40 | #include "rxtx.h" | 40 | #include "rxtx.h" |
41 | #include "channel.h" | ||
41 | 42 | ||
42 | /*--------------------- Static Definitions -------------------------*/ | 43 | /*--------------------- Static Definitions -------------------------*/ |
43 | static int msglevel =MSG_LEVEL_INFO; | 44 | static int msglevel =MSG_LEVEL_INFO; |
@@ -245,7 +246,7 @@ IEEE11hbMgrRxAction ( | |||
245 | // valid element id | 246 | // valid element id |
246 | CARDbChannelSwitch( pMgmt->pAdapter, | 247 | CARDbChannelSwitch( pMgmt->pAdapter, |
247 | pChannelSwitch->byMode, | 248 | pChannelSwitch->byMode, |
248 | CARDbyGetChannelMapping(pMgmt->pAdapter, pChannelSwitch->byChannel, pMgmt->eCurrentPHYMode), | 249 | get_channel_mapping(pMgmt->pAdapter, pChannelSwitch->byChannel, pMgmt->eCurrentPHYMode), |
249 | pChannelSwitch->byCount | 250 | pChannelSwitch->byCount |
250 | ); | 251 | ); |
251 | } | 252 | } |
diff --git a/drivers/staging/vt6655/Makefile b/drivers/staging/vt6655/Makefile index 931deb109ee..824c9718787 100644 --- a/drivers/staging/vt6655/Makefile +++ b/drivers/staging/vt6655/Makefile | |||
@@ -4,6 +4,7 @@ EXTRA_CFLAGS += -DHOSTAP | |||
4 | 4 | ||
5 | vt6655_stage-y += device_main.o \ | 5 | vt6655_stage-y += device_main.o \ |
6 | card.o \ | 6 | card.o \ |
7 | channel.o \ | ||
7 | mac.o \ | 8 | mac.o \ |
8 | baseband.o \ | 9 | baseband.o \ |
9 | wctl.o \ | 10 | wctl.o \ |
diff --git a/drivers/staging/vt6655/TODO b/drivers/staging/vt6655/TODO index cb04aaafc46..f00a1f3bdde 100644 --- a/drivers/staging/vt6655/TODO +++ b/drivers/staging/vt6655/TODO | |||
@@ -3,7 +3,6 @@ TODO: | |||
3 | - prepare for merge with vt6656 driver: | 3 | - prepare for merge with vt6656 driver: |
4 | - rename DEVICE_PRT() to DBG_PRT() -- done | 4 | - rename DEVICE_PRT() to DBG_PRT() -- done |
5 | - share 80211*.h includes | 5 | - share 80211*.h includes |
6 | - move code for channel mapping from card.c to channel.c | ||
7 | - split rf.c | 6 | - split rf.c |
8 | - remove dead code | 7 | - remove dead code |
9 | - abstract VT3253 chipset specific code | 8 | - abstract VT3253 chipset specific code |
diff --git a/drivers/staging/vt6655/bssdb.c b/drivers/staging/vt6655/bssdb.c index ddfc97cabd6..20f5d29bc41 100644 --- a/drivers/staging/vt6655/bssdb.c +++ b/drivers/staging/vt6655/bssdb.c | |||
@@ -53,6 +53,7 @@ | |||
53 | #include "baseband.h" | 53 | #include "baseband.h" |
54 | #include "rf.h" | 54 | #include "rf.h" |
55 | #include "card.h" | 55 | #include "card.h" |
56 | #include "channel.h" | ||
56 | #include "mac.h" | 57 | #include "mac.h" |
57 | #include "wpa2.h" | 58 | #include "wpa2.h" |
58 | #include "iowpa.h" | 59 | #include "iowpa.h" |
@@ -527,8 +528,7 @@ BSSbInsertToBSSList ( | |||
527 | 528 | ||
528 | if ((pIE_Country != NULL) && | 529 | if ((pIE_Country != NULL) && |
529 | (pMgmt->b11hEnable == TRUE)) { | 530 | (pMgmt->b11hEnable == TRUE)) { |
530 | CARDvSetCountryInfo(pMgmt->pAdapter, | 531 | set_country_info(pMgmt->pAdapter, pBSSList->eNetworkTypeInUse, |
531 | pBSSList->eNetworkTypeInUse, | ||
532 | pIE_Country); | 532 | pIE_Country); |
533 | } | 533 | } |
534 | 534 | ||
@@ -704,8 +704,7 @@ BSSbUpdateToBSSList ( | |||
704 | 704 | ||
705 | if ((pIE_Country != NULL) && | 705 | if ((pIE_Country != NULL) && |
706 | (pMgmt->b11hEnable == TRUE)) { | 706 | (pMgmt->b11hEnable == TRUE)) { |
707 | CARDvSetCountryInfo(pMgmt->pAdapter, | 707 | set_country_info(pMgmt->pAdapter, pBSSList->eNetworkTypeInUse, |
708 | pBSSList->eNetworkTypeInUse, | ||
709 | pIE_Country); | 708 | pIE_Country); |
710 | } | 709 | } |
711 | 710 | ||
diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 6cc0c3db53a..127660c52e0 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c | |||
@@ -56,6 +56,7 @@ | |||
56 | #include "key.h" | 56 | #include "key.h" |
57 | #include "rc4.h" | 57 | #include "rc4.h" |
58 | #include "country.h" | 58 | #include "country.h" |
59 | #include "channel.h" | ||
59 | 60 | ||
60 | /*--------------------- Static Definitions -------------------------*/ | 61 | /*--------------------- Static Definitions -------------------------*/ |
61 | 62 | ||
@@ -76,17 +77,8 @@ static int msglevel =MSG_LEVEL_INFO; | |||
76 | 77 | ||
77 | #define C_CWMAX 1023 // slot time | 78 | #define C_CWMAX 1023 // slot time |
78 | 79 | ||
79 | #define CARD_MAX_CHANNEL_TBL 56 | ||
80 | |||
81 | #define WAIT_BEACON_TX_DOWN_TMO 3 // Times | 80 | #define WAIT_BEACON_TX_DOWN_TMO 3 // Times |
82 | 81 | ||
83 | typedef struct tagSChannelTblElement { | ||
84 | BYTE byChannelNumber; | ||
85 | unsigned int uFrequency; | ||
86 | BOOL bValid; | ||
87 | BYTE byMAP; | ||
88 | }SChannelTblElement, *PSChannelTblElement; | ||
89 | |||
90 | //1M, 2M, 5M, 11M, 18M, 24M, 36M, 54M | 82 | //1M, 2M, 5M, 11M, 18M, 24M, 36M, 54M |
91 | static BYTE abyDefaultSuppRatesG[] = {WLAN_EID_SUPP_RATES, 8, 0x02, 0x04, 0x0B, 0x16, 0x24, 0x30, 0x48, 0x6C}; | 83 | static BYTE abyDefaultSuppRatesG[] = {WLAN_EID_SUPP_RATES, 8, 0x02, 0x04, 0x0B, 0x16, 0x24, 0x30, 0x48, 0x6C}; |
92 | //6M, 9M, 12M, 48M | 84 | //6M, 9M, 12M, 48M |
@@ -97,328 +89,12 @@ static BYTE abyDefaultSuppRatesA[] = {WLAN_EID_SUPP_RATES, 8, 0x0C, 0x12, 0x18, | |||
97 | static BYTE abyDefaultSuppRatesB[] = {WLAN_EID_SUPP_RATES, 4, 0x02, 0x04, 0x0B, 0x16}; | 89 | static BYTE abyDefaultSuppRatesB[] = {WLAN_EID_SUPP_RATES, 4, 0x02, 0x04, 0x0B, 0x16}; |
98 | 90 | ||
99 | 91 | ||
100 | |||
101 | /*--------------------- Static Classes ----------------------------*/ | ||
102 | |||
103 | /*--------------------- Static Variables --------------------------*/ | 92 | /*--------------------- Static Variables --------------------------*/ |
104 | 93 | ||
105 | 94 | ||
106 | const WORD cwRXBCNTSFOff[MAX_RATE] = | 95 | const WORD cwRXBCNTSFOff[MAX_RATE] = |
107 | {17, 17, 17, 17, 34, 23, 17, 11, 8, 5, 4, 3}; | 96 | {17, 17, 17, 17, 34, 23, 17, 11, 8, 5, 4, 3}; |
108 | 97 | ||
109 | static SChannelTblElement sChannelTbl[CARD_MAX_CHANNEL_TBL+1] = | ||
110 | { | ||
111 | {0, 0, FALSE, 0}, | ||
112 | {1, 2412, TRUE, 0}, | ||
113 | {2, 2417, TRUE, 0}, | ||
114 | {3, 2422, TRUE, 0}, | ||
115 | {4, 2427, TRUE, 0}, | ||
116 | {5, 2432, TRUE, 0}, | ||
117 | {6, 2437, TRUE, 0}, | ||
118 | {7, 2442, TRUE, 0}, | ||
119 | {8, 2447, TRUE, 0}, | ||
120 | {9, 2452, TRUE, 0}, | ||
121 | {10, 2457, TRUE, 0}, | ||
122 | {11, 2462, TRUE, 0}, | ||
123 | {12, 2467, TRUE, 0}, | ||
124 | {13, 2472, TRUE, 0}, | ||
125 | {14, 2484, TRUE, 0}, | ||
126 | {183, 4915, TRUE, 0}, | ||
127 | {184, 4920, TRUE, 0}, | ||
128 | {185, 4925, TRUE, 0}, | ||
129 | {187, 4935, TRUE, 0}, | ||
130 | {188, 4940, TRUE, 0}, | ||
131 | {189, 4945, TRUE, 0}, | ||
132 | {192, 4960, TRUE, 0}, | ||
133 | {196, 4980, TRUE, 0}, | ||
134 | {7, 5035, TRUE, 0}, | ||
135 | {8, 5040, TRUE, 0}, | ||
136 | {9, 5045, TRUE, 0}, | ||
137 | {11, 5055, TRUE, 0}, | ||
138 | {12, 5060, TRUE, 0}, | ||
139 | {16, 5080, TRUE, 0}, | ||
140 | {34, 5170, TRUE, 0}, | ||
141 | {36, 5180, TRUE, 0}, | ||
142 | {38, 5190, TRUE, 0}, | ||
143 | {40, 5200, TRUE, 0}, | ||
144 | {42, 5210, TRUE, 0}, | ||
145 | {44, 5220, TRUE, 0}, | ||
146 | {46, 5230, TRUE, 0}, | ||
147 | {48, 5240, TRUE, 0}, | ||
148 | {52, 5260, TRUE, 0}, | ||
149 | {56, 5280, TRUE, 0}, | ||
150 | {60, 5300, TRUE, 0}, | ||
151 | {64, 5320, TRUE, 0}, | ||
152 | {100, 5500, TRUE, 0}, | ||
153 | {104, 5520, TRUE, 0}, | ||
154 | {108, 5540, TRUE, 0}, | ||
155 | {112, 5560, TRUE, 0}, | ||
156 | {116, 5580, TRUE, 0}, | ||
157 | {120, 5600, TRUE, 0}, | ||
158 | {124, 5620, TRUE, 0}, | ||
159 | {128, 5640, TRUE, 0}, | ||
160 | {132, 5660, TRUE, 0}, | ||
161 | {136, 5680, TRUE, 0}, | ||
162 | {140, 5700, TRUE, 0}, | ||
163 | {149, 5745, TRUE, 0}, | ||
164 | {153, 5765, TRUE, 0}, | ||
165 | {157, 5785, TRUE, 0}, | ||
166 | {161, 5805, TRUE, 0}, | ||
167 | {165, 5825, TRUE, 0} | ||
168 | }; | ||
169 | |||
170 | |||
171 | /************************************************************************ | ||
172 | * The Radar regulation rules for each country | ||
173 | ************************************************************************/ | ||
174 | SCountryTable ChannelRuleTab[CCODE_MAX+1] = | ||
175 | { | ||
176 | /************************************************************************ | ||
177 | * This table is based on Athero driver rules | ||
178 | ************************************************************************/ | ||
179 | /* Country Available channels, ended with 0 */ | ||
180 | /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 */ | ||
181 | {CCODE_FCC, {'U','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
182 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
183 | {CCODE_TELEC, {'J','P'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
184 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 23, 0, 0, 23, 0, 23, 23, 0, 23, 0, 0, 23, 23, 23, 0, 23, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
185 | {CCODE_ETSI, {'E','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
186 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
187 | {CCODE_RESV3, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
188 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
189 | {CCODE_RESV4, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
190 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
191 | {CCODE_RESV5, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
192 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
193 | {CCODE_RESV6, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
194 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
195 | {CCODE_RESV7, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
196 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
197 | {CCODE_RESV8, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
198 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
199 | {CCODE_RESV9, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
200 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
201 | {CCODE_RESVa, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
202 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
203 | {CCODE_RESVb, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
204 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
205 | {CCODE_RESVc, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
206 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
207 | {CCODE_RESVd, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
208 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
209 | {CCODE_RESVe, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
210 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
211 | {CCODE_ALLBAND, {' ',' '}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} | ||
212 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
213 | {CCODE_ALBANIA, {'A','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
214 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
215 | {CCODE_ALGERIA, {'D','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
216 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
217 | {CCODE_ARGENTINA, {'A','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
218 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0} }, | ||
219 | {CCODE_ARMENIA, {'A','M'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
220 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
221 | {CCODE_AUSTRALIA, {'A','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
222 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
223 | {CCODE_AUSTRIA, {'A','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
224 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 15, 0, 15, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
225 | {CCODE_AZERBAIJAN, {'A','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
226 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
227 | {CCODE_BAHRAIN, {'B','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
228 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
229 | {CCODE_BELARUS, {'B','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
230 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
231 | {CCODE_BELGIUM, {'B','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
232 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
233 | {CCODE_BELIZE, {'B','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
234 | , { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
235 | {CCODE_BOLIVIA, {'B','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
236 | , { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
237 | {CCODE_BRAZIL, {'B','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
238 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
239 | {CCODE_BRUNEI_DARUSSALAM, {'B','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
240 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
241 | {CCODE_BULGARIA, {'B','G'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
242 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0} }, | ||
243 | {CCODE_CANADA, {'C','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
244 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
245 | {CCODE_CHILE, {'C','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
246 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17} }, | ||
247 | {CCODE_CHINA, {'C','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
248 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
249 | {CCODE_COLOMBIA, {'C','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
250 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
251 | {CCODE_COSTA_RICA, {'C','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
252 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
253 | {CCODE_CROATIA, {'H','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
254 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
255 | {CCODE_CYPRUS, {'C','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
256 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
257 | {CCODE_CZECH, {'C','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
258 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
259 | {CCODE_DENMARK, {'D','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
260 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
261 | {CCODE_DOMINICAN_REPUBLIC, {'D','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
262 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
263 | {CCODE_ECUADOR, {'E','C'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
264 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
265 | {CCODE_EGYPT, {'E','G'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
266 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
267 | {CCODE_EL_SALVADOR, {'S','V'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
268 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
269 | {CCODE_ESTONIA, {'E','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
270 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
271 | {CCODE_FINLAND, {'F','I'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
272 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
273 | {CCODE_FRANCE, {'F','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
274 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
275 | {CCODE_GERMANY, {'D','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
276 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
277 | {CCODE_GREECE, {'G','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
278 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
279 | {CCODE_GEORGIA, {'G','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
280 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
281 | {CCODE_GUATEMALA, {'G','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
282 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
283 | {CCODE_HONDURAS, {'H','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
284 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
285 | {CCODE_HONG_KONG, {'H','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
286 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
287 | {CCODE_HUNGARY, {'H','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
288 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
289 | {CCODE_ICELAND, {'I','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
290 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
291 | {CCODE_INDIA, {'I','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
292 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
293 | {CCODE_INDONESIA, {'I','D'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
294 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
295 | {CCODE_IRAN, {'I','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
296 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
297 | {CCODE_IRELAND, {'I','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
298 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
299 | {CCODE_ITALY, {'I','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
300 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
301 | {CCODE_ISRAEL, {'I','L'}, { 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
302 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
303 | {CCODE_JAPAN, {'J','P'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
304 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
305 | {CCODE_JORDAN, {'J','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
306 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
307 | {CCODE_KAZAKHSTAN, {'K','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
308 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
309 | {CCODE_KUWAIT, {'K','W'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
310 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
311 | {CCODE_LATVIA, {'L','V'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
312 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
313 | {CCODE_LEBANON, {'L','B'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
314 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
315 | {CCODE_LEICHTENSTEIN, {'L','I'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
316 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
317 | {CCODE_LITHUANIA, {'L','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
318 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
319 | {CCODE_LUXEMBURG, {'L','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
320 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
321 | {CCODE_MACAU, {'M','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
322 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
323 | {CCODE_MACEDONIA, {'M','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
324 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
325 | {CCODE_MALTA, {'M','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
326 | , { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 0, 16, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0} }, | ||
327 | {CCODE_MALAYSIA, {'M','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
328 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
329 | {CCODE_MEXICO, {'M','X'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
330 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
331 | {CCODE_MONACO, {'M','C'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
332 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
333 | {CCODE_MOROCCO, {'M','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
334 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
335 | {CCODE_NETHERLANDS, {'N','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
336 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
337 | {CCODE_NEW_ZEALAND, {'N','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
338 | , { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
339 | {CCODE_NORTH_KOREA, {'K','P'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
340 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
341 | {CCODE_NORWAY, {'N','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
342 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
343 | {CCODE_OMAN, {'O','M'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
344 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
345 | {CCODE_PAKISTAN, {'P','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
346 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
347 | {CCODE_PANAMA, {'P','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
348 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
349 | {CCODE_PERU, {'P','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
350 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
351 | {CCODE_PHILIPPINES, {'P','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
352 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
353 | {CCODE_POLAND, {'P','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
354 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
355 | {CCODE_PORTUGAL, {'P','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
356 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
357 | {CCODE_PUERTO_RICO, {'P','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
358 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
359 | {CCODE_QATAR, {'Q','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
360 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
361 | {CCODE_ROMANIA, {'R','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
362 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
363 | {CCODE_RUSSIA, {'R','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
364 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
365 | {CCODE_SAUDI_ARABIA, {'S','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
366 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
367 | {CCODE_SINGAPORE, {'S','G'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
368 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 20} }, | ||
369 | {CCODE_SLOVAKIA, {'S','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
370 | , { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 0, 16, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0} }, | ||
371 | {CCODE_SLOVENIA, {'S','I'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
372 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
373 | {CCODE_SOUTH_AFRICA, {'Z','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
374 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
375 | {CCODE_SOUTH_KOREA, {'K','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
376 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
377 | {CCODE_SPAIN, {'E','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
378 | , { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 0, 16, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0} }, | ||
379 | {CCODE_SWEDEN, {'S','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
380 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
381 | {CCODE_SWITZERLAND, {'C','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
382 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
383 | {CCODE_SYRIA, {'S','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
384 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
385 | {CCODE_TAIWAN, {'T','W'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
386 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0} }, | ||
387 | {CCODE_THAILAND, {'T','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
388 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
389 | {CCODE_TRINIDAD_TOBAGO, {'T','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
390 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
391 | {CCODE_TUNISIA, {'T','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
392 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
393 | {CCODE_TURKEY, {'T','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
394 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
395 | {CCODE_UK, {'G','B'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
396 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
397 | {CCODE_UKRAINE, {'U','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
398 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
399 | {CCODE_UNITED_ARAB_EMIRATES, {'A','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
400 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
401 | {CCODE_UNITED_STATES, {'U','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
402 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
403 | {CCODE_URUGUAY, {'U','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
404 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
405 | {CCODE_UZBEKISTAN, {'U','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
406 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
407 | {CCODE_VENEZUELA, {'V','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
408 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
409 | {CCODE_VIETNAM, {'V','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
410 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
411 | {CCODE_YEMEN, {'Y','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
412 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
413 | {CCODE_ZIMBABWE, {'Z','W'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
414 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
415 | {CCODE_JAPAN_W52_W53, {'J','J'}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
416 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
417 | {CCODE_MAX, {'U','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} | ||
418 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } | ||
419 | /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 */ | ||
420 | }; | ||
421 | |||
422 | 98 | ||
423 | /*--------------------- Static Functions --------------------------*/ | 99 | /*--------------------- Static Functions --------------------------*/ |
424 | 100 | ||
@@ -432,54 +108,8 @@ s_vCaculateOFDMRParameter( | |||
432 | ); | 108 | ); |
433 | 109 | ||
434 | 110 | ||
435 | /*--------------------- Export Variables --------------------------*/ | ||
436 | |||
437 | /*--------------------- Export Functions --------------------------*/ | 111 | /*--------------------- Export Functions --------------------------*/ |
438 | 112 | ||
439 | |||
440 | /*--------------------- Export function -------------------------*/ | ||
441 | /************************************************************************ | ||
442 | * Country Channel Valid | ||
443 | * Input: ChannelIndex is defined as VT3253 MAC channel: | ||
444 | * 1 = 2.4G channel 1 | ||
445 | * 2 = 2.4G channel 2 | ||
446 | * ... | ||
447 | * 14 = 2.4G channel 14 | ||
448 | * 15 = 4.9G channel 183 | ||
449 | * 16 = 4.9G channel 184 | ||
450 | * ..... | ||
451 | * Output: TRUE if the specified 5GHz band is allowed to be used. | ||
452 | False otherwise. | ||
453 | // 4.9G => Ch 183, 184, 185, 187, 188, 189, 192, 196 (Value:15 ~ 22) | ||
454 | |||
455 | // 5G => Ch 7, 8, 9, 11, 12, 16, 34, 36, 38, 40, 42, 44, 46, 48, 52, 56, 60, 64, | ||
456 | // 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 (Value 23 ~ 56) | ||
457 | ************************************************************************/ | ||
458 | //2008-8-4 <add> by chester | ||
459 | BOOL | ||
460 | ChannelValid(unsigned int ChannelIndex) | ||
461 | { | ||
462 | BOOL bValid; | ||
463 | |||
464 | bValid = FALSE; | ||
465 | /* | ||
466 | * If Channel Index is invalid, return invalid | ||
467 | */ | ||
468 | if ((ChannelIndex > CB_MAX_CHANNEL) || | ||
469 | (ChannelIndex == 0)) | ||
470 | { | ||
471 | bValid = FALSE; | ||
472 | goto exit; | ||
473 | } | ||
474 | |||
475 | bValid = sChannelTbl[ChannelIndex].bValid; | ||
476 | |||
477 | exit: | ||
478 | return (bValid); | ||
479 | |||
480 | } /* end ChannelValid */ | ||
481 | |||
482 | |||
483 | /* | 113 | /* |
484 | * Description: Caculate TxRate and RsvTime fields for RSPINF in OFDM mode. | 114 | * Description: Caculate TxRate and RsvTime fields for RSPINF in OFDM mode. |
485 | * | 115 | * |
@@ -721,120 +351,7 @@ s_vSetRSPINF (PSDevice pDevice, CARD_PHY_TYPE ePHYType, void *pvSupportRateIEs, | |||
721 | MACvSelectPage0(pDevice->PortOffset); | 351 | MACvSelectPage0(pDevice->PortOffset); |
722 | } | 352 | } |
723 | 353 | ||
724 | |||
725 | |||
726 | |||
727 | /*--------------------- Export Variables --------------------------*/ | ||
728 | |||
729 | /*--------------------- Export Functions --------------------------*/ | 354 | /*--------------------- Export Functions --------------------------*/ |
730 | BYTE CARDbyGetChannelMapping (void *pDeviceHandler, BYTE byChannelNumber, CARD_PHY_TYPE ePhyType) | ||
731 | { | ||
732 | unsigned int ii; | ||
733 | |||
734 | if ((ePhyType == PHY_TYPE_11B) || (ePhyType == PHY_TYPE_11G)) { | ||
735 | return (byChannelNumber); | ||
736 | } | ||
737 | |||
738 | for(ii = (CB_MAX_CHANNEL_24G + 1); ii <= CB_MAX_CHANNEL; ) { | ||
739 | if (sChannelTbl[ii].byChannelNumber == byChannelNumber) { | ||
740 | return ((BYTE) ii); | ||
741 | } | ||
742 | ii++; | ||
743 | } | ||
744 | return (0); | ||
745 | } | ||
746 | |||
747 | |||
748 | BYTE CARDbyGetChannelNumber (void *pDeviceHandler, BYTE byChannelIndex) | ||
749 | { | ||
750 | // PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
751 | return(sChannelTbl[byChannelIndex].byChannelNumber); | ||
752 | } | ||
753 | |||
754 | /* | ||
755 | * Description: Set NIC media channel | ||
756 | * | ||
757 | * Parameters: | ||
758 | * In: | ||
759 | * pDeviceHandler - The adapter to be set | ||
760 | * uConnectionChannel - Channel to be set | ||
761 | * Out: | ||
762 | * none | ||
763 | * | ||
764 | * Return Value: TRUE if succeeded; FALSE if failed. | ||
765 | * | ||
766 | */ | ||
767 | BOOL CARDbSetChannel (void *pDeviceHandler, unsigned int uConnectionChannel) | ||
768 | { | ||
769 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
770 | BOOL bResult = TRUE; | ||
771 | |||
772 | |||
773 | if (pDevice->byCurrentCh == uConnectionChannel) { | ||
774 | return bResult; | ||
775 | } | ||
776 | |||
777 | if (sChannelTbl[uConnectionChannel].bValid == FALSE) { | ||
778 | return (FALSE); | ||
779 | } | ||
780 | |||
781 | if ((uConnectionChannel > CB_MAX_CHANNEL_24G) && | ||
782 | (pDevice->eCurrentPHYType != PHY_TYPE_11A)) { | ||
783 | CARDbSetPhyParameter(pDevice, PHY_TYPE_11A, 0, 0, NULL, NULL); | ||
784 | } else if ((uConnectionChannel <= CB_MAX_CHANNEL_24G) && | ||
785 | (pDevice->eCurrentPHYType == PHY_TYPE_11A)) { | ||
786 | CARDbSetPhyParameter(pDevice, PHY_TYPE_11G, 0, 0, NULL, NULL); | ||
787 | } | ||
788 | // clear NAV | ||
789 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MACCR, MACCR_CLRNAV); | ||
790 | |||
791 | //{{ RobertYu: 20041202 | ||
792 | //// TX_PE will reserve 3 us for MAX2829 A mode only, it is for better TX throughput | ||
793 | |||
794 | if ( pDevice->byRFType == RF_AIROHA7230 ) | ||
795 | { | ||
796 | RFbAL7230SelectChannelPostProcess(pDevice->PortOffset, pDevice->byCurrentCh, (BYTE)uConnectionChannel); | ||
797 | } | ||
798 | //}} RobertYu | ||
799 | |||
800 | |||
801 | pDevice->byCurrentCh = (BYTE)uConnectionChannel; | ||
802 | bResult &= RFbSelectChannel(pDevice->PortOffset, pDevice->byRFType, (BYTE)uConnectionChannel); | ||
803 | |||
804 | // Init Synthesizer Table | ||
805 | if (pDevice->bEnablePSMode == TRUE) | ||
806 | RFvWriteWakeProgSyn(pDevice->PortOffset, pDevice->byRFType, uConnectionChannel); | ||
807 | |||
808 | |||
809 | //DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"CARDbSetMediaChannel: %d\n", (BYTE)uConnectionChannel); | ||
810 | BBvSoftwareReset(pDevice->PortOffset); | ||
811 | |||
812 | if (pDevice->byLocalID > REV_ID_VT3253_B1) { | ||
813 | // set HW default power register | ||
814 | MACvSelectPage1(pDevice->PortOffset); | ||
815 | RFbSetPower(pDevice, RATE_1M, pDevice->byCurrentCh); | ||
816 | VNSvOutPortB(pDevice->PortOffset + MAC_REG_PWRCCK, pDevice->byCurPwr); | ||
817 | RFbSetPower(pDevice, RATE_6M, pDevice->byCurrentCh); | ||
818 | VNSvOutPortB(pDevice->PortOffset + MAC_REG_PWROFDM, pDevice->byCurPwr); | ||
819 | MACvSelectPage0(pDevice->PortOffset); | ||
820 | } | ||
821 | |||
822 | if (pDevice->eCurrentPHYType == PHY_TYPE_11B) { | ||
823 | #ifdef PLICE_DEBUG | ||
824 | //printk("Func:CARDbSetChannel:call RFbSetPower:11B\n"); | ||
825 | #endif | ||
826 | RFbSetPower(pDevice, RATE_1M, pDevice->byCurrentCh); | ||
827 | } else { | ||
828 | #ifdef PLICE_DEBUG | ||
829 | //printk("Func:CARDbSetChannel:call RFbSetPower\n"); | ||
830 | #endif | ||
831 | RFbSetPower(pDevice, RATE_6M, pDevice->byCurrentCh); | ||
832 | } | ||
833 | |||
834 | return(bResult); | ||
835 | } | ||
836 | |||
837 | |||
838 | 355 | ||
839 | /* | 356 | /* |
840 | * Description: Card Send packet function | 357 | * Description: Card Send packet function |
@@ -1608,89 +1125,6 @@ CARDpGetCurrentAddress ( | |||
1608 | return (pDevice->abyCurrentNetAddr); | 1125 | return (pDevice->abyCurrentNetAddr); |
1609 | } | 1126 | } |
1610 | 1127 | ||
1611 | |||
1612 | |||
1613 | void CARDvInitChannelTable (void *pDeviceHandler) | ||
1614 | { | ||
1615 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
1616 | BOOL bMultiBand = FALSE; | ||
1617 | unsigned int ii; | ||
1618 | |||
1619 | for(ii=1;ii<=CARD_MAX_CHANNEL_TBL;ii++) { | ||
1620 | sChannelTbl[ii].bValid = FALSE; | ||
1621 | } | ||
1622 | |||
1623 | switch (pDevice->byRFType) { | ||
1624 | case RF_RFMD2959 : | ||
1625 | case RF_AIROHA : | ||
1626 | case RF_AL2230S: | ||
1627 | case RF_UW2451 : | ||
1628 | case RF_VT3226 : | ||
1629 | // printk("chester-false\n"); | ||
1630 | bMultiBand = FALSE; | ||
1631 | break; | ||
1632 | case RF_AIROHA7230 : | ||
1633 | case RF_UW2452 : | ||
1634 | case RF_NOTHING : | ||
1635 | default : | ||
1636 | bMultiBand = TRUE; | ||
1637 | break; | ||
1638 | } | ||
1639 | |||
1640 | if ((pDevice->dwDiagRefCount != 0) || | ||
1641 | (pDevice->b11hEnable == TRUE)) { | ||
1642 | if (bMultiBand == TRUE) { | ||
1643 | for(ii=0;ii<CARD_MAX_CHANNEL_TBL;ii++) { | ||
1644 | sChannelTbl[ii+1].bValid = TRUE; | ||
1645 | pDevice->abyRegPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
1646 | pDevice->abyLocalPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
1647 | } | ||
1648 | for(ii=0;ii<CHANNEL_MAX_24G;ii++) { | ||
1649 | pDevice->abyRegPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
1650 | pDevice->abyLocalPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
1651 | } | ||
1652 | } else { | ||
1653 | for(ii=0;ii<CHANNEL_MAX_24G;ii++) { | ||
1654 | //2008-8-4 <add> by chester | ||
1655 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
1656 | sChannelTbl[ii+1].bValid = TRUE; | ||
1657 | pDevice->abyRegPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
1658 | pDevice->abyLocalPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
1659 | } | ||
1660 | } | ||
1661 | } | ||
1662 | } else if (pDevice->byZoneType <= CCODE_MAX) { | ||
1663 | if (bMultiBand == TRUE) { | ||
1664 | for(ii=0;ii<CARD_MAX_CHANNEL_TBL;ii++) { | ||
1665 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
1666 | sChannelTbl[ii+1].bValid = TRUE; | ||
1667 | pDevice->abyRegPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
1668 | pDevice->abyLocalPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
1669 | } | ||
1670 | } | ||
1671 | } else { | ||
1672 | for(ii=0;ii<CHANNEL_MAX_24G;ii++) { | ||
1673 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
1674 | sChannelTbl[ii+1].bValid = TRUE; | ||
1675 | pDevice->abyRegPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
1676 | pDevice->abyLocalPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
1677 | } | ||
1678 | } | ||
1679 | } | ||
1680 | } | ||
1681 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO"Zone=[%d][%c][%c]!!\n",pDevice->byZoneType,ChannelRuleTab[pDevice->byZoneType].chCountryCode[0],ChannelRuleTab[pDevice->byZoneType].chCountryCode[1]); | ||
1682 | for(ii=0;ii<CARD_MAX_CHANNEL_TBL;ii++) { | ||
1683 | if (pDevice->abyRegPwr[ii+1] == 0) { | ||
1684 | pDevice->abyRegPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
1685 | } | ||
1686 | if (pDevice->abyLocalPwr[ii+1] == 0) { | ||
1687 | pDevice->abyLocalPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
1688 | } | ||
1689 | } | ||
1690 | } | ||
1691 | |||
1692 | |||
1693 | |||
1694 | /* | 1128 | /* |
1695 | * | 1129 | * |
1696 | * Description: | 1130 | * Description: |
@@ -1733,7 +1167,7 @@ CARDbStartMeasure ( | |||
1733 | // clear measure control | 1167 | // clear measure control |
1734 | MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_EN); | 1168 | MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_EN); |
1735 | MACvSelectPage0(pDevice->PortOffset); | 1169 | MACvSelectPage0(pDevice->PortOffset); |
1736 | CARDbSetChannel(pDevice, pDevice->byOrgChannel); | 1170 | set_channel(pDevice, pDevice->byOrgChannel); |
1737 | MACvSelectPage1(pDevice->PortOffset); | 1171 | MACvSelectPage1(pDevice->PortOffset); |
1738 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); | 1172 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); |
1739 | MACvSelectPage0(pDevice->PortOffset); | 1173 | MACvSelectPage0(pDevice->PortOffset); |
@@ -1844,7 +1278,7 @@ CARDbChannelSwitch ( | |||
1844 | BOOL bResult = TRUE; | 1278 | BOOL bResult = TRUE; |
1845 | 1279 | ||
1846 | if (byCount == 0) { | 1280 | if (byCount == 0) { |
1847 | bResult = CARDbSetChannel(pDevice, byNewChannel); | 1281 | bResult = set_channel(pDevice, byNewChannel); |
1848 | VNTWIFIbChannelSwitch(pDevice->pMgmt, byNewChannel); | 1282 | VNTWIFIbChannelSwitch(pDevice->pMgmt, byNewChannel); |
1849 | MACvSelectPage1(pDevice->PortOffset); | 1283 | MACvSelectPage1(pDevice->PortOffset); |
1850 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); | 1284 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); |
@@ -2017,66 +1451,6 @@ CARDbStartQuiet ( | |||
2017 | return (TRUE); | 1451 | return (TRUE); |
2018 | } | 1452 | } |
2019 | 1453 | ||
2020 | |||
2021 | /* | ||
2022 | * | ||
2023 | * Description: | ||
2024 | * Set Channel Info of Country | ||
2025 | * | ||
2026 | * Parameters: | ||
2027 | * In: | ||
2028 | * hDeviceContext - device structure point | ||
2029 | * Out: | ||
2030 | * none | ||
2031 | * | ||
2032 | * Return Value: none. | ||
2033 | * | ||
2034 | -*/ | ||
2035 | void | ||
2036 | CARDvSetCountryInfo ( | ||
2037 | void *pDeviceHandler, | ||
2038 | CARD_PHY_TYPE ePHYType, | ||
2039 | void *pIE | ||
2040 | ) | ||
2041 | { | ||
2042 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2043 | unsigned int ii = 0; | ||
2044 | unsigned int uu = 0; | ||
2045 | unsigned int step = 0; | ||
2046 | unsigned int uNumOfCountryInfo = 0; | ||
2047 | BYTE byCh = 0; | ||
2048 | PWLAN_IE_COUNTRY pIE_Country = (PWLAN_IE_COUNTRY) pIE; | ||
2049 | |||
2050 | |||
2051 | uNumOfCountryInfo = (pIE_Country->len - 3); | ||
2052 | uNumOfCountryInfo /= 3; | ||
2053 | |||
2054 | if (ePHYType == PHY_TYPE_11A) { | ||
2055 | pDevice->bCountryInfo5G = TRUE; | ||
2056 | for(ii=CB_MAX_CHANNEL_24G+1;ii<=CARD_MAX_CHANNEL_TBL;ii++) { | ||
2057 | sChannelTbl[ii].bValid = FALSE; | ||
2058 | } | ||
2059 | step = 4; | ||
2060 | } else { | ||
2061 | pDevice->bCountryInfo24G = TRUE; | ||
2062 | for(ii=1;ii<=CB_MAX_CHANNEL_24G;ii++) { | ||
2063 | sChannelTbl[ii].bValid = FALSE; | ||
2064 | } | ||
2065 | step = 1; | ||
2066 | } | ||
2067 | pDevice->abyCountryCode[0] = pIE_Country->abyCountryString[0]; | ||
2068 | pDevice->abyCountryCode[1] = pIE_Country->abyCountryString[1]; | ||
2069 | pDevice->abyCountryCode[2] = pIE_Country->abyCountryString[2]; | ||
2070 | |||
2071 | for(ii=0;ii<uNumOfCountryInfo;ii++) { | ||
2072 | for(uu=0;uu<pIE_Country->abyCountryInfo[ii*3+1];uu++) { | ||
2073 | byCh = CARDbyGetChannelMapping(pDevice, (BYTE)(pIE_Country->abyCountryInfo[ii*3]+step*uu), ePHYType); | ||
2074 | sChannelTbl[byCh].bValid = TRUE; | ||
2075 | pDevice->abyRegPwr[byCh] = pIE_Country->abyCountryInfo[ii*3+2]; | ||
2076 | } | ||
2077 | } | ||
2078 | } | ||
2079 | |||
2080 | /* | 1454 | /* |
2081 | * | 1455 | * |
2082 | * Description: | 1456 | * Description: |
@@ -2147,98 +1521,6 @@ CARDvGetPowerCapability ( | |||
2147 | *pbyMinPower = pDevice->abyOFDMDefaultPwr[pDevice->byCurrentCh] - byDec; | 1521 | *pbyMinPower = pDevice->abyOFDMDefaultPwr[pDevice->byCurrentCh] - byDec; |
2148 | } | 1522 | } |
2149 | 1523 | ||
2150 | |||
2151 | /* | ||
2152 | * | ||
2153 | * Description: | ||
2154 | * Set Support Channels IE defined in 802.11h | ||
2155 | * | ||
2156 | * Parameters: | ||
2157 | * In: | ||
2158 | * hDeviceContext - device structure point | ||
2159 | * Out: | ||
2160 | * none | ||
2161 | * | ||
2162 | * Return Value: none. | ||
2163 | * | ||
2164 | -*/ | ||
2165 | BYTE | ||
2166 | CARDbySetSupportChannels ( | ||
2167 | void *pDeviceHandler, | ||
2168 | unsigned char *pbyIEs | ||
2169 | ) | ||
2170 | { | ||
2171 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2172 | unsigned int ii; | ||
2173 | BYTE byCount; | ||
2174 | PWLAN_IE_SUPP_CH pIE = (PWLAN_IE_SUPP_CH) pbyIEs; | ||
2175 | unsigned char *pbyChTupple; | ||
2176 | BYTE byLen = 0; | ||
2177 | |||
2178 | |||
2179 | pIE->byElementID = WLAN_EID_SUPP_CH; | ||
2180 | pIE->len = 0; | ||
2181 | pbyChTupple = pIE->abyChannelTuple; | ||
2182 | byLen = 2; | ||
2183 | // lower band | ||
2184 | byCount = 0; | ||
2185 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[28] == TRUE) { | ||
2186 | for (ii=28;ii<36;ii+=2) { | ||
2187 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
2188 | byCount++; | ||
2189 | } | ||
2190 | } | ||
2191 | *pbyChTupple++ = 34; | ||
2192 | *pbyChTupple++ = byCount; | ||
2193 | byLen += 2; | ||
2194 | } else if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[29] == TRUE) { | ||
2195 | for (ii=29;ii<36;ii+=2) { | ||
2196 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
2197 | byCount++; | ||
2198 | } | ||
2199 | } | ||
2200 | *pbyChTupple++ = 36; | ||
2201 | *pbyChTupple++ = byCount; | ||
2202 | byLen += 2; | ||
2203 | } | ||
2204 | // middle band | ||
2205 | byCount = 0; | ||
2206 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[36] == TRUE) { | ||
2207 | for (ii=36;ii<40;ii++) { | ||
2208 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
2209 | byCount++; | ||
2210 | } | ||
2211 | } | ||
2212 | *pbyChTupple++ = 52; | ||
2213 | *pbyChTupple++ = byCount; | ||
2214 | byLen += 2; | ||
2215 | } | ||
2216 | // higher band | ||
2217 | byCount = 0; | ||
2218 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[40] == TRUE) { | ||
2219 | for (ii=40;ii<51;ii++) { | ||
2220 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
2221 | byCount++; | ||
2222 | } | ||
2223 | } | ||
2224 | *pbyChTupple++ = 100; | ||
2225 | *pbyChTupple++ = byCount; | ||
2226 | byLen += 2; | ||
2227 | } else if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[51] == TRUE) { | ||
2228 | for (ii=51;ii<56;ii++) { | ||
2229 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
2230 | byCount++; | ||
2231 | } | ||
2232 | } | ||
2233 | *pbyChTupple++ = 149; | ||
2234 | *pbyChTupple++ = byCount; | ||
2235 | byLen += 2; | ||
2236 | } | ||
2237 | pIE->len += (byLen - 2); | ||
2238 | return (byLen); | ||
2239 | } | ||
2240 | |||
2241 | |||
2242 | /* | 1524 | /* |
2243 | * | 1525 | * |
2244 | * Description: | 1526 | * Description: |
@@ -2252,7 +1534,7 @@ CARDbySetSupportChannels ( | |||
2252 | * | 1534 | * |
2253 | * Return Value: none. | 1535 | * Return Value: none. |
2254 | * | 1536 | * |
2255 | -*/ | 1537 | */ |
2256 | char | 1538 | char |
2257 | CARDbyGetTransmitPower ( | 1539 | CARDbyGetTransmitPower ( |
2258 | void *pDeviceHandler | 1540 | void *pDeviceHandler |
@@ -2263,161 +1545,6 @@ CARDbyGetTransmitPower ( | |||
2263 | return (pDevice->byCurPwrdBm); | 1545 | return (pDevice->byCurPwrdBm); |
2264 | } | 1546 | } |
2265 | 1547 | ||
2266 | |||
2267 | BOOL | ||
2268 | CARDbChannelGetList ( | ||
2269 | unsigned int uCountryCodeIdx, | ||
2270 | unsigned char *pbyChannelTable | ||
2271 | ) | ||
2272 | { | ||
2273 | if (uCountryCodeIdx >= CCODE_MAX) { | ||
2274 | return (FALSE); | ||
2275 | } | ||
2276 | memcpy(pbyChannelTable, ChannelRuleTab[uCountryCodeIdx].bChannelIdxList, CB_MAX_CHANNEL); | ||
2277 | return (TRUE); | ||
2278 | } | ||
2279 | |||
2280 | |||
2281 | void | ||
2282 | CARDvSetCountryIE( | ||
2283 | void *pDeviceHandler, | ||
2284 | void *pIE | ||
2285 | ) | ||
2286 | { | ||
2287 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2288 | unsigned int ii; | ||
2289 | PWLAN_IE_COUNTRY pIECountry = (PWLAN_IE_COUNTRY) pIE; | ||
2290 | |||
2291 | pIECountry->byElementID = WLAN_EID_COUNTRY; | ||
2292 | pIECountry->len = 0; | ||
2293 | pIECountry->abyCountryString[0] = ChannelRuleTab[pDevice->byZoneType].chCountryCode[0]; | ||
2294 | pIECountry->abyCountryString[1] = ChannelRuleTab[pDevice->byZoneType].chCountryCode[1]; | ||
2295 | pIECountry->abyCountryString[2] = ' '; | ||
2296 | for (ii = CB_MAX_CHANNEL_24G; ii < CB_MAX_CHANNEL; ii++ ) { | ||
2297 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
2298 | pIECountry->abyCountryInfo[pIECountry->len++] = sChannelTbl[ii+1].byChannelNumber; | ||
2299 | pIECountry->abyCountryInfo[pIECountry->len++] = 1; | ||
2300 | pIECountry->abyCountryInfo[pIECountry->len++] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
2301 | } | ||
2302 | } | ||
2303 | pIECountry->len += 3; | ||
2304 | } | ||
2305 | |||
2306 | |||
2307 | BOOL | ||
2308 | CARDbGetChannelMapInfo( | ||
2309 | void *pDeviceHandler, | ||
2310 | unsigned int uChannelIndex, | ||
2311 | unsigned char *pbyChannelNumber, | ||
2312 | unsigned char *pbyMap | ||
2313 | ) | ||
2314 | { | ||
2315 | // PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2316 | |||
2317 | if (uChannelIndex > CB_MAX_CHANNEL) { | ||
2318 | return FALSE; | ||
2319 | } | ||
2320 | *pbyChannelNumber = sChannelTbl[uChannelIndex].byChannelNumber; | ||
2321 | *pbyMap = sChannelTbl[uChannelIndex].byMAP; | ||
2322 | return sChannelTbl[uChannelIndex].bValid; | ||
2323 | } | ||
2324 | |||
2325 | |||
2326 | void | ||
2327 | CARDvSetChannelMapInfo( | ||
2328 | void *pDeviceHandler, | ||
2329 | unsigned int uChannelIndex, | ||
2330 | BYTE byMap | ||
2331 | ) | ||
2332 | { | ||
2333 | // PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2334 | |||
2335 | if (uChannelIndex > CB_MAX_CHANNEL) { | ||
2336 | return; | ||
2337 | } | ||
2338 | sChannelTbl[uChannelIndex].byMAP |= byMap; | ||
2339 | } | ||
2340 | |||
2341 | |||
2342 | void | ||
2343 | CARDvClearChannelMapInfo( | ||
2344 | void *pDeviceHandler | ||
2345 | ) | ||
2346 | { | ||
2347 | // PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2348 | unsigned int ii = 0; | ||
2349 | |||
2350 | for (ii = 1; ii <= CB_MAX_CHANNEL; ii++) { | ||
2351 | sChannelTbl[ii].byMAP = 0; | ||
2352 | } | ||
2353 | } | ||
2354 | |||
2355 | |||
2356 | BYTE | ||
2357 | CARDbyAutoChannelSelect( | ||
2358 | void *pDeviceHandler, | ||
2359 | CARD_PHY_TYPE ePHYType | ||
2360 | ) | ||
2361 | { | ||
2362 | // PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
2363 | unsigned int ii = 0; | ||
2364 | BYTE byOptionChannel = 0; | ||
2365 | int aiWeight[CB_MAX_CHANNEL_24G+1] = {-1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; | ||
2366 | |||
2367 | if (ePHYType == PHY_TYPE_11A) { | ||
2368 | for(ii=CB_MAX_CHANNEL_24G+1;ii<=CB_MAX_CHANNEL;ii++) { | ||
2369 | if (sChannelTbl[ii].bValid == TRUE) { | ||
2370 | if (byOptionChannel == 0) { | ||
2371 | byOptionChannel = (BYTE) ii; | ||
2372 | } | ||
2373 | if (sChannelTbl[ii].byMAP == 0) { | ||
2374 | return ((BYTE) ii); | ||
2375 | } else if ( !(sChannelTbl[ii].byMAP & 0x08)) { | ||
2376 | byOptionChannel = (BYTE) ii; | ||
2377 | } | ||
2378 | } | ||
2379 | } | ||
2380 | } else { | ||
2381 | byOptionChannel = 0; | ||
2382 | for(ii=1;ii<=CB_MAX_CHANNEL_24G;ii++) { | ||
2383 | if (sChannelTbl[ii].bValid == TRUE) { | ||
2384 | if (sChannelTbl[ii].byMAP == 0) { | ||
2385 | aiWeight[ii] += 100; | ||
2386 | } else if (sChannelTbl[ii].byMAP & 0x01) { | ||
2387 | if (ii > 3) { | ||
2388 | aiWeight[ii-3] -= 10; | ||
2389 | } | ||
2390 | if (ii > 2) { | ||
2391 | aiWeight[ii-2] -= 20; | ||
2392 | } | ||
2393 | if (ii > 1) { | ||
2394 | aiWeight[ii-1] -= 40; | ||
2395 | } | ||
2396 | aiWeight[ii] -= 80; | ||
2397 | if (ii < CB_MAX_CHANNEL_24G) { | ||
2398 | aiWeight[ii+1] -= 40; | ||
2399 | } | ||
2400 | if (ii < (CB_MAX_CHANNEL_24G - 1)) { | ||
2401 | aiWeight[ii+2] -= 20; | ||
2402 | } | ||
2403 | if (ii < (CB_MAX_CHANNEL_24G - 2)) { | ||
2404 | aiWeight[ii+3] -= 10; | ||
2405 | } | ||
2406 | } | ||
2407 | } | ||
2408 | } | ||
2409 | for(ii=1;ii<=CB_MAX_CHANNEL_24G;ii++) { | ||
2410 | if ((sChannelTbl[ii].bValid == TRUE) && | ||
2411 | (aiWeight[ii] > aiWeight[byOptionChannel])) { | ||
2412 | byOptionChannel = (BYTE) ii; | ||
2413 | } | ||
2414 | } | ||
2415 | } | ||
2416 | return (byOptionChannel); | ||
2417 | } | ||
2418 | |||
2419 | |||
2420 | |||
2421 | //xxx | 1548 | //xxx |
2422 | void | 1549 | void |
2423 | CARDvSafeResetTx ( | 1550 | CARDvSafeResetTx ( |
diff --git a/drivers/staging/vt6655/card.h b/drivers/staging/vt6655/card.h index 034394d46dc..40a7d6d5daa 100644 --- a/drivers/staging/vt6655/card.h +++ b/drivers/staging/vt6655/card.h | |||
@@ -86,7 +86,6 @@ typedef enum _CARD_OP_MODE { | |||
86 | 86 | ||
87 | /*--------------------- Export Functions --------------------------*/ | 87 | /*--------------------- Export Functions --------------------------*/ |
88 | 88 | ||
89 | BOOL ChannelValid(unsigned int ChannelIndex); | ||
90 | void CARDvSetRSPINF(void *pDeviceHandler, CARD_PHY_TYPE ePHYType); | 89 | void CARDvSetRSPINF(void *pDeviceHandler, CARD_PHY_TYPE ePHYType); |
91 | void vUpdateIFS(void *pDeviceHandler); | 90 | void vUpdateIFS(void *pDeviceHandler); |
92 | void CARDvUpdateBasicTopRate(void *pDeviceHandler); | 91 | void CARDvUpdateBasicTopRate(void *pDeviceHandler); |
@@ -107,7 +106,6 @@ void CARDvSafeResetRx(void *pDeviceHandler); | |||
107 | //xxx | 106 | //xxx |
108 | BOOL CARDbRadioPowerOff(void *pDeviceHandler); | 107 | BOOL CARDbRadioPowerOff(void *pDeviceHandler); |
109 | BOOL CARDbRadioPowerOn(void *pDeviceHandler); | 108 | BOOL CARDbRadioPowerOn(void *pDeviceHandler); |
110 | BOOL CARDbSetChannel(void *pDeviceHandler, unsigned int uConnectionChannel); | ||
111 | //BOOL CARDbSendPacket(void *pDeviceHandler, void *pPacket, CARD_PKT_TYPE ePktType, unsigned int uLength); | 109 | //BOOL CARDbSendPacket(void *pDeviceHandler, void *pPacket, CARD_PKT_TYPE ePktType, unsigned int uLength); |
112 | BOOL CARDbIsShortPreamble(void *pDeviceHandler); | 110 | BOOL CARDbIsShortPreamble(void *pDeviceHandler); |
113 | BOOL CARDbIsShorSlotTime(void *pDeviceHandler); | 111 | BOOL CARDbIsShorSlotTime(void *pDeviceHandler); |
@@ -144,10 +142,6 @@ CARDpGetCurrentAddress ( | |||
144 | void *pDeviceHandler | 142 | void *pDeviceHandler |
145 | ); | 143 | ); |
146 | 144 | ||
147 | |||
148 | void CARDvInitChannelTable(void *pDeviceHandler); | ||
149 | BYTE CARDbyGetChannelMapping(void *pDeviceHandler, BYTE byChannelNumber, CARD_PHY_TYPE ePhyType); | ||
150 | |||
151 | BOOL | 145 | BOOL |
152 | CARDbStartMeasure ( | 146 | CARDbStartMeasure ( |
153 | void *pDeviceHandler, | 147 | void *pDeviceHandler, |
@@ -179,13 +173,6 @@ CARDbStartQuiet ( | |||
179 | ); | 173 | ); |
180 | 174 | ||
181 | void | 175 | void |
182 | CARDvSetCountryInfo ( | ||
183 | void *pDeviceHandler, | ||
184 | CARD_PHY_TYPE ePHYType, | ||
185 | void *pIE | ||
186 | ); | ||
187 | |||
188 | void | ||
189 | CARDvSetPowerConstraint ( | 176 | CARDvSetPowerConstraint ( |
190 | void *pDeviceHandler, | 177 | void *pDeviceHandler, |
191 | BYTE byChannel, | 178 | BYTE byChannel, |
@@ -199,57 +186,11 @@ CARDvGetPowerCapability ( | |||
199 | unsigned char *pbyMaxPower | 186 | unsigned char *pbyMaxPower |
200 | ); | 187 | ); |
201 | 188 | ||
202 | BYTE | ||
203 | CARDbySetSupportChannels ( | ||
204 | void *pDeviceHandler, | ||
205 | unsigned char *pbyIEs | ||
206 | ); | ||
207 | |||
208 | char | 189 | char |
209 | CARDbyGetTransmitPower ( | 190 | CARDbyGetTransmitPower ( |
210 | void *pDeviceHandler | 191 | void *pDeviceHandler |
211 | ); | 192 | ); |
212 | 193 | ||
213 | BOOL | ||
214 | CARDbChannelGetList ( | ||
215 | unsigned int uCountryCodeIdx, | ||
216 | unsigned char *pbyChannelTable | ||
217 | ); | ||
218 | |||
219 | void | ||
220 | CARDvSetCountryIE( | ||
221 | void *pDeviceHandler, | ||
222 | void *pIE | ||
223 | ); | ||
224 | |||
225 | BOOL | ||
226 | CARDbGetChannelMapInfo( | ||
227 | void *pDeviceHandler, | ||
228 | unsigned int uChannelIndex, | ||
229 | unsigned char *pbyChannelNumber, | ||
230 | unsigned char *pbyMap | ||
231 | ); | ||
232 | |||
233 | void | ||
234 | CARDvSetChannelMapInfo( | ||
235 | void *pDeviceHandler, | ||
236 | unsigned int uChannelIndex, | ||
237 | BYTE byMap | ||
238 | ); | ||
239 | |||
240 | void | ||
241 | CARDvClearChannelMapInfo( | ||
242 | void *pDeviceHandler | ||
243 | ); | ||
244 | |||
245 | BYTE | ||
246 | CARDbyAutoChannelSelect( | ||
247 | void *pDeviceHandler, | ||
248 | CARD_PHY_TYPE ePHYType | ||
249 | ); | ||
250 | |||
251 | BYTE CARDbyGetChannelNumber(void *pDeviceHandler, BYTE byChannelIndex); | ||
252 | |||
253 | #endif // __CARD_H__ | 194 | #endif // __CARD_H__ |
254 | 195 | ||
255 | 196 | ||
diff --git a/drivers/staging/vt6655/channel.c b/drivers/staging/vt6655/channel.c new file mode 100644 index 00000000000..49b4019841f --- /dev/null +++ b/drivers/staging/vt6655/channel.c | |||
@@ -0,0 +1,835 @@ | |||
1 | /* | ||
2 | * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along | ||
16 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
18 | * | ||
19 | * File: channel.c | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #include "baseband.h" | ||
24 | #include "country.h" | ||
25 | #include "channel.h" | ||
26 | #include "device.h" | ||
27 | #include "rf.h" | ||
28 | |||
29 | /*--------------------- Static Definitions -------------------------*/ | ||
30 | |||
31 | #define CARD_MAX_CHANNEL_TBL 56 | ||
32 | |||
33 | //static int msglevel = MSG_LEVEL_DEBUG; | ||
34 | static int msglevel = MSG_LEVEL_INFO; | ||
35 | |||
36 | /*--------------------- Static Variables --------------------------*/ | ||
37 | |||
38 | static SChannelTblElement sChannelTbl[CARD_MAX_CHANNEL_TBL + 1] = | ||
39 | { | ||
40 | {0, 0, FALSE, 0}, | ||
41 | {1, 2412, TRUE, 0}, | ||
42 | {2, 2417, TRUE, 0}, | ||
43 | {3, 2422, TRUE, 0}, | ||
44 | {4, 2427, TRUE, 0}, | ||
45 | {5, 2432, TRUE, 0}, | ||
46 | {6, 2437, TRUE, 0}, | ||
47 | {7, 2442, TRUE, 0}, | ||
48 | {8, 2447, TRUE, 0}, | ||
49 | {9, 2452, TRUE, 0}, | ||
50 | {10, 2457, TRUE, 0}, | ||
51 | {11, 2462, TRUE, 0}, | ||
52 | {12, 2467, TRUE, 0}, | ||
53 | {13, 2472, TRUE, 0}, | ||
54 | {14, 2484, TRUE, 0}, | ||
55 | {183, 4915, TRUE, 0}, | ||
56 | {184, 4920, TRUE, 0}, | ||
57 | {185, 4925, TRUE, 0}, | ||
58 | {187, 4935, TRUE, 0}, | ||
59 | {188, 4940, TRUE, 0}, | ||
60 | {189, 4945, TRUE, 0}, | ||
61 | {192, 4960, TRUE, 0}, | ||
62 | {196, 4980, TRUE, 0}, | ||
63 | {7, 5035, TRUE, 0}, | ||
64 | {8, 5040, TRUE, 0}, | ||
65 | {9, 5045, TRUE, 0}, | ||
66 | {11, 5055, TRUE, 0}, | ||
67 | {12, 5060, TRUE, 0}, | ||
68 | {16, 5080, TRUE, 0}, | ||
69 | {34, 5170, TRUE, 0}, | ||
70 | {36, 5180, TRUE, 0}, | ||
71 | {38, 5190, TRUE, 0}, | ||
72 | {40, 5200, TRUE, 0}, | ||
73 | {42, 5210, TRUE, 0}, | ||
74 | {44, 5220, TRUE, 0}, | ||
75 | {46, 5230, TRUE, 0}, | ||
76 | {48, 5240, TRUE, 0}, | ||
77 | {52, 5260, TRUE, 0}, | ||
78 | {56, 5280, TRUE, 0}, | ||
79 | {60, 5300, TRUE, 0}, | ||
80 | {64, 5320, TRUE, 0}, | ||
81 | {100, 5500, TRUE, 0}, | ||
82 | {104, 5520, TRUE, 0}, | ||
83 | {108, 5540, TRUE, 0}, | ||
84 | {112, 5560, TRUE, 0}, | ||
85 | {116, 5580, TRUE, 0}, | ||
86 | {120, 5600, TRUE, 0}, | ||
87 | {124, 5620, TRUE, 0}, | ||
88 | {128, 5640, TRUE, 0}, | ||
89 | {132, 5660, TRUE, 0}, | ||
90 | {136, 5680, TRUE, 0}, | ||
91 | {140, 5700, TRUE, 0}, | ||
92 | {149, 5745, TRUE, 0}, | ||
93 | {153, 5765, TRUE, 0}, | ||
94 | {157, 5785, TRUE, 0}, | ||
95 | {161, 5805, TRUE, 0}, | ||
96 | {165, 5825, TRUE, 0} | ||
97 | }; | ||
98 | |||
99 | /************************************************************************ | ||
100 | * The Radar regulation rules for each country | ||
101 | ************************************************************************/ | ||
102 | static struct | ||
103 | { | ||
104 | BYTE byChannelCountryCode; /* The country code */ | ||
105 | char chCountryCode[2]; | ||
106 | BYTE bChannelIdxList[CB_MAX_CHANNEL]; /* Available channels Index */ | ||
107 | BYTE byPower[CB_MAX_CHANNEL]; | ||
108 | } ChannelRuleTab[] = | ||
109 | { | ||
110 | /************************************************************************ | ||
111 | * This table is based on Athero driver rules | ||
112 | ************************************************************************/ | ||
113 | /* Country Available channels, ended with 0 */ | ||
114 | /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 */ | ||
115 | {CCODE_FCC, {'U','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
116 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
117 | {CCODE_TELEC, {'J','P'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
118 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 23, 0, 0, 23, 0, 23, 23, 0, 23, 0, 0, 23, 23, 23, 0, 23, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
119 | {CCODE_ETSI, {'E','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
120 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
121 | {CCODE_RESV3, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
122 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
123 | {CCODE_RESV4, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
124 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
125 | {CCODE_RESV5, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
126 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
127 | {CCODE_RESV6, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
128 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
129 | {CCODE_RESV7, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
130 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
131 | {CCODE_RESV8, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
132 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
133 | {CCODE_RESV9, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
134 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
135 | {CCODE_RESVa, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
136 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
137 | {CCODE_RESVb, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
138 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
139 | {CCODE_RESVc, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
140 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
141 | {CCODE_RESVd, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
142 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
143 | {CCODE_RESVe, {' ',' '}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
144 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
145 | {CCODE_ALLBAND, {' ',' '}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} | ||
146 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
147 | {CCODE_ALBANIA, {'A','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
148 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
149 | {CCODE_ALGERIA, {'D','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
150 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
151 | {CCODE_ARGENTINA, {'A','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
152 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0} }, | ||
153 | {CCODE_ARMENIA, {'A','M'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
154 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
155 | {CCODE_AUSTRALIA, {'A','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
156 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
157 | {CCODE_AUSTRIA, {'A','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
158 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 15, 0, 15, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
159 | {CCODE_AZERBAIJAN, {'A','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
160 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
161 | {CCODE_BAHRAIN, {'B','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
162 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
163 | {CCODE_BELARUS, {'B','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
164 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
165 | {CCODE_BELGIUM, {'B','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
166 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
167 | {CCODE_BELIZE, {'B','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
168 | , { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
169 | {CCODE_BOLIVIA, {'B','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
170 | , { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
171 | {CCODE_BRAZIL, {'B','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
172 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
173 | {CCODE_BRUNEI_DARUSSALAM, {'B','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
174 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
175 | {CCODE_BULGARIA, {'B','G'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
176 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0} }, | ||
177 | {CCODE_CANADA, {'C','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
178 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
179 | {CCODE_CHILE, {'C','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
180 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17} }, | ||
181 | {CCODE_CHINA, {'C','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
182 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
183 | {CCODE_COLOMBIA, {'C','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
184 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
185 | {CCODE_COSTA_RICA, {'C','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
186 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
187 | {CCODE_CROATIA, {'H','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
188 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
189 | {CCODE_CYPRUS, {'C','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
190 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
191 | {CCODE_CZECH, {'C','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
192 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
193 | {CCODE_DENMARK, {'D','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
194 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
195 | {CCODE_DOMINICAN_REPUBLIC, {'D','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
196 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
197 | {CCODE_ECUADOR, {'E','C'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
198 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
199 | {CCODE_EGYPT, {'E','G'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
200 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
201 | {CCODE_EL_SALVADOR, {'S','V'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
202 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
203 | {CCODE_ESTONIA, {'E','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
204 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
205 | {CCODE_FINLAND, {'F','I'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
206 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
207 | {CCODE_FRANCE, {'F','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
208 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
209 | {CCODE_GERMANY, {'D','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
210 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
211 | {CCODE_GREECE, {'G','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
212 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
213 | {CCODE_GEORGIA, {'G','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
214 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
215 | {CCODE_GUATEMALA, {'G','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
216 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
217 | {CCODE_HONDURAS, {'H','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
218 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
219 | {CCODE_HONG_KONG, {'H','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
220 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
221 | {CCODE_HUNGARY, {'H','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
222 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
223 | {CCODE_ICELAND, {'I','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
224 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
225 | {CCODE_INDIA, {'I','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
226 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
227 | {CCODE_INDONESIA, {'I','D'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
228 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
229 | {CCODE_IRAN, {'I','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
230 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
231 | {CCODE_IRELAND, {'I','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
232 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
233 | {CCODE_ITALY, {'I','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
234 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
235 | {CCODE_ISRAEL, {'I','L'}, { 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
236 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
237 | {CCODE_JAPAN, {'J','P'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
238 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
239 | {CCODE_JORDAN, {'J','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
240 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
241 | {CCODE_KAZAKHSTAN, {'K','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
242 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
243 | {CCODE_KUWAIT, {'K','W'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
244 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
245 | {CCODE_LATVIA, {'L','V'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
246 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
247 | {CCODE_LEBANON, {'L','B'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
248 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
249 | {CCODE_LEICHTENSTEIN, {'L','I'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
250 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
251 | {CCODE_LITHUANIA, {'L','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
252 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
253 | {CCODE_LUXEMBURG, {'L','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
254 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
255 | {CCODE_MACAU, {'M','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
256 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
257 | {CCODE_MACEDONIA, {'M','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
258 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
259 | {CCODE_MALTA, {'M','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
260 | , { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 0, 16, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0} }, | ||
261 | {CCODE_MALAYSIA, {'M','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
262 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
263 | {CCODE_MEXICO, {'M','X'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
264 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
265 | {CCODE_MONACO, {'M','C'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
266 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
267 | {CCODE_MOROCCO, {'M','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
268 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
269 | {CCODE_NETHERLANDS, {'N','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
270 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
271 | {CCODE_NEW_ZEALAND, {'N','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
272 | , { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 23, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
273 | {CCODE_NORTH_KOREA, {'K','P'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
274 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
275 | {CCODE_NORWAY, {'N','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
276 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
277 | {CCODE_OMAN, {'O','M'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
278 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
279 | {CCODE_PAKISTAN, {'P','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
280 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
281 | {CCODE_PANAMA, {'P','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
282 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
283 | {CCODE_PERU, {'P','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
284 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
285 | {CCODE_PHILIPPINES, {'P','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
286 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
287 | {CCODE_POLAND, {'P','L'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
288 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
289 | {CCODE_PORTUGAL, {'P','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
290 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
291 | {CCODE_PUERTO_RICO, {'P','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
292 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
293 | {CCODE_QATAR, {'Q','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
294 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
295 | {CCODE_ROMANIA, {'R','O'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
296 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
297 | {CCODE_RUSSIA, {'R','U'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
298 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
299 | {CCODE_SAUDI_ARABIA, {'S','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
300 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
301 | {CCODE_SINGAPORE, {'S','G'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
302 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 20} }, | ||
303 | {CCODE_SLOVAKIA, {'S','K'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
304 | , { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 0, 16, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0} }, | ||
305 | {CCODE_SLOVENIA, {'S','I'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
306 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
307 | {CCODE_SOUTH_AFRICA, {'Z','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
308 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
309 | {CCODE_SOUTH_KOREA, {'K','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
310 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
311 | {CCODE_SPAIN, {'E','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
312 | , { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 16, 0, 16, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0} }, | ||
313 | {CCODE_SWEDEN, {'S','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
314 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
315 | {CCODE_SWITZERLAND, {'C','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
316 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
317 | {CCODE_SYRIA, {'S','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
318 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
319 | {CCODE_TAIWAN, {'T','W'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
320 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0} }, | ||
321 | {CCODE_THAILAND, {'T','H'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
322 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
323 | {CCODE_TRINIDAD_TOBAGO, {'T','T'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
324 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
325 | {CCODE_TUNISIA, {'T','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
326 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
327 | {CCODE_TURKEY, {'T','R'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
328 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
329 | {CCODE_UK, {'G','B'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} | ||
330 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0} }, | ||
331 | {CCODE_UKRAINE, {'U','A'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
332 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
333 | {CCODE_UNITED_ARAB_EMIRATES, {'A','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
334 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
335 | {CCODE_UNITED_STATES, {'U','S'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1} | ||
336 | , { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 17, 0, 17, 0, 17, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30} }, | ||
337 | {CCODE_URUGUAY, {'U','Y'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
338 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
339 | {CCODE_UZBEKISTAN, {'U','Z'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
340 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
341 | {CCODE_VENEZUELA, {'V','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0} | ||
342 | , { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0} }, | ||
343 | {CCODE_VIETNAM, {'V','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
344 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
345 | {CCODE_YEMEN, {'Y','E'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
346 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
347 | {CCODE_ZIMBABWE, {'Z','W'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
348 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
349 | {CCODE_JAPAN_W52_W53, {'J','J'}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} | ||
350 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }, | ||
351 | {CCODE_MAX, {'U','N'}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} | ||
352 | , { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } | ||
353 | /* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 */ | ||
354 | }; | ||
355 | |||
356 | /*--------------------- Export Functions --------------------------*/ | ||
357 | |||
358 | /** | ||
359 | * is_channel_valid() - Is Country Channel Valid | ||
360 | * @ChanneIndex: defined as VT3253 MAC channel: | ||
361 | * 1 = 2.4G channel 1 | ||
362 | * 2 = 2.4G channel 2 | ||
363 | * ... | ||
364 | * 14 = 2.4G channel 14 | ||
365 | * 15 = 4.9G channel 183 | ||
366 | * 16 = 4.9G channel 184 | ||
367 | * ..... | ||
368 | * Output: TRUE if the specified 5GHz band is allowed to be used, | ||
369 | * FALSE otherwise. | ||
370 | * 4.9G => Ch 183, 184, 185, 187, 188, 189, 192, 196 (Value:15 ~ 22) | ||
371 | * | ||
372 | * 5G => Ch 7, 8, 9, 11, 12, 16, 34, 36, 38, 40, 42, 44, 46, 48, 52, 56, 60, 64, | ||
373 | * 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 (Value 23 ~ 56) | ||
374 | */ | ||
375 | |||
376 | BOOL is_channel_valid(unsigned int ChannelIndex) | ||
377 | { | ||
378 | BOOL bValid; | ||
379 | |||
380 | bValid = FALSE; | ||
381 | /* | ||
382 | * If Channel Index is invalid, return invalid | ||
383 | */ | ||
384 | if ((ChannelIndex > CB_MAX_CHANNEL) || | ||
385 | (ChannelIndex == 0)) | ||
386 | { | ||
387 | bValid = FALSE; | ||
388 | goto exit; | ||
389 | } | ||
390 | |||
391 | bValid = sChannelTbl[ChannelIndex].bValid; | ||
392 | |||
393 | exit: | ||
394 | return (bValid); | ||
395 | |||
396 | } | ||
397 | |||
398 | /** | ||
399 | * channel_get_list() - Get Available Channel List for a given country | ||
400 | * @CountryCode: The country code defined in country.h | ||
401 | * | ||
402 | * Output: | ||
403 | * pbyChannelTable: (QWORD *) correspondent bit mask | ||
404 | * of available channels | ||
405 | * 0x0000000000000001 means channel 1 is supported | ||
406 | * 0x0000000000000003 means channel 1,2 are supported | ||
407 | * 0x000000000000000F means channel 1,2,..15 are supported | ||
408 | */ | ||
409 | |||
410 | BOOL channel_get_list(unsigned int uCountryCodeIdx, unsigned char *pbyChannelTable) | ||
411 | { | ||
412 | if (uCountryCodeIdx >= CCODE_MAX) | ||
413 | return (FALSE); | ||
414 | |||
415 | memcpy(pbyChannelTable, ChannelRuleTab[uCountryCodeIdx].bChannelIdxList, CB_MAX_CHANNEL); | ||
416 | |||
417 | return (TRUE); | ||
418 | } | ||
419 | |||
420 | void init_channel_table(void *pDeviceHandler) | ||
421 | { | ||
422 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
423 | BOOL bMultiBand = FALSE; | ||
424 | unsigned int ii; | ||
425 | |||
426 | for(ii = 1 ; ii<=CARD_MAX_CHANNEL_TBL ; ii++) { | ||
427 | sChannelTbl[ii].bValid = FALSE; | ||
428 | } | ||
429 | |||
430 | switch (pDevice->byRFType) { | ||
431 | case RF_RFMD2959 : | ||
432 | case RF_AIROHA : | ||
433 | case RF_AL2230S: | ||
434 | case RF_UW2451 : | ||
435 | case RF_VT3226 : | ||
436 | //printk("chester-false\n"); | ||
437 | bMultiBand = FALSE; | ||
438 | break; | ||
439 | case RF_AIROHA7230 : | ||
440 | case RF_UW2452 : | ||
441 | case RF_NOTHING : | ||
442 | default : | ||
443 | bMultiBand = TRUE; | ||
444 | break; | ||
445 | } | ||
446 | |||
447 | if ((pDevice->dwDiagRefCount != 0) || (pDevice->b11hEnable == TRUE)) { | ||
448 | if (bMultiBand == TRUE) { | ||
449 | for(ii = 0 ; ii<CARD_MAX_CHANNEL_TBL ; ii++) { | ||
450 | sChannelTbl[ii+1].bValid = TRUE; | ||
451 | pDevice->abyRegPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
452 | pDevice->abyLocalPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
453 | } | ||
454 | for(ii = 0 ; ii<CHANNEL_MAX_24G ; ii++) { | ||
455 | pDevice->abyRegPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
456 | pDevice->abyLocalPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
457 | } | ||
458 | } else { | ||
459 | for(ii = 0 ; ii<CHANNEL_MAX_24G ; ii++) { | ||
460 | //2008-8-4 <add> by chester | ||
461 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
462 | sChannelTbl[ii+1].bValid = TRUE; | ||
463 | pDevice->abyRegPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
464 | pDevice->abyLocalPwr[ii+1] = pDevice->abyCCKDefaultPwr[ii+1]; | ||
465 | } | ||
466 | } | ||
467 | } | ||
468 | } else if (pDevice->byZoneType <= CCODE_MAX) { | ||
469 | if (bMultiBand == TRUE) { | ||
470 | for(ii = 0 ; ii<CARD_MAX_CHANNEL_TBL ; ii++) { | ||
471 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
472 | sChannelTbl[ii+1].bValid = TRUE; | ||
473 | pDevice->abyRegPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
474 | pDevice->abyLocalPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
475 | } | ||
476 | } | ||
477 | } else { | ||
478 | for(ii = 0 ; ii<CHANNEL_MAX_24G ; ii++) { | ||
479 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
480 | sChannelTbl[ii+1].bValid = TRUE; | ||
481 | pDevice->abyRegPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
482 | pDevice->abyLocalPwr[ii+1] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
483 | } | ||
484 | } | ||
485 | } | ||
486 | } | ||
487 | |||
488 | DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO"Zone=[%d][%c][%c]!!\n",pDevice->byZoneType,ChannelRuleTab[pDevice->byZoneType].chCountryCode[0],ChannelRuleTab[pDevice->byZoneType].chCountryCode[1]); | ||
489 | |||
490 | for(ii = 0 ; ii<CARD_MAX_CHANNEL_TBL ; ii++) { | ||
491 | if (pDevice->abyRegPwr[ii+1] == 0) | ||
492 | pDevice->abyRegPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
493 | if (pDevice->abyLocalPwr[ii+1] == 0) | ||
494 | pDevice->abyLocalPwr[ii+1] = pDevice->abyOFDMDefaultPwr[ii+1]; | ||
495 | } | ||
496 | } | ||
497 | |||
498 | BYTE get_channel_mapping(void *pDeviceHandler, BYTE byChannelNumber, CARD_PHY_TYPE ePhyType) | ||
499 | { | ||
500 | unsigned int ii; | ||
501 | |||
502 | if ((ePhyType == PHY_TYPE_11B) || (ePhyType == PHY_TYPE_11G)) | ||
503 | return (byChannelNumber); | ||
504 | |||
505 | for(ii = (CB_MAX_CHANNEL_24G + 1); ii <= CB_MAX_CHANNEL; ) { | ||
506 | if (sChannelTbl[ii].byChannelNumber == byChannelNumber) | ||
507 | return ((BYTE) ii); | ||
508 | ii++; | ||
509 | } | ||
510 | return 0; | ||
511 | } | ||
512 | |||
513 | BYTE get_channel_number(void *pDeviceHandler, BYTE byChannelIndex) | ||
514 | { | ||
515 | //PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
516 | return(sChannelTbl[byChannelIndex].byChannelNumber); | ||
517 | } | ||
518 | |||
519 | /** | ||
520 | * set_channel() - Set NIC media channel | ||
521 | * | ||
522 | * @pDeviceHandler: The adapter to be set | ||
523 | * @uConnectionChannel: Channel to be set | ||
524 | * | ||
525 | * Return Value: TRUE if succeeded; FALSE if failed. | ||
526 | * | ||
527 | */ | ||
528 | BOOL set_channel (void *pDeviceHandler, unsigned int uConnectionChannel) | ||
529 | { | ||
530 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
531 | BOOL bResult = TRUE; | ||
532 | |||
533 | |||
534 | if (pDevice->byCurrentCh == uConnectionChannel) { | ||
535 | return bResult; | ||
536 | } | ||
537 | |||
538 | if (sChannelTbl[uConnectionChannel].bValid == FALSE) { | ||
539 | return (FALSE); | ||
540 | } | ||
541 | |||
542 | if ((uConnectionChannel > CB_MAX_CHANNEL_24G) && | ||
543 | (pDevice->eCurrentPHYType != PHY_TYPE_11A)) { | ||
544 | CARDbSetPhyParameter(pDevice, PHY_TYPE_11A, 0, 0, NULL, NULL); | ||
545 | } else if ((uConnectionChannel <= CB_MAX_CHANNEL_24G) && | ||
546 | (pDevice->eCurrentPHYType == PHY_TYPE_11A)) { | ||
547 | CARDbSetPhyParameter(pDevice, PHY_TYPE_11G, 0, 0, NULL, NULL); | ||
548 | } | ||
549 | // clear NAV | ||
550 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MACCR, MACCR_CLRNAV); | ||
551 | |||
552 | //{{ RobertYu: 20041202 | ||
553 | //// TX_PE will reserve 3 us for MAX2829 A mode only, it is for better TX throughput | ||
554 | |||
555 | if ( pDevice->byRFType == RF_AIROHA7230 ) | ||
556 | { | ||
557 | RFbAL7230SelectChannelPostProcess(pDevice->PortOffset, pDevice->byCurrentCh, (BYTE)uConnectionChannel); | ||
558 | } | ||
559 | //}} RobertYu | ||
560 | |||
561 | |||
562 | pDevice->byCurrentCh = (BYTE)uConnectionChannel; | ||
563 | bResult &= RFbSelectChannel(pDevice->PortOffset, pDevice->byRFType, (BYTE)uConnectionChannel); | ||
564 | |||
565 | // Init Synthesizer Table | ||
566 | if (pDevice->bEnablePSMode == TRUE) | ||
567 | RFvWriteWakeProgSyn(pDevice->PortOffset, pDevice->byRFType, uConnectionChannel); | ||
568 | |||
569 | |||
570 | //DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"CARDbSetMediaChannel: %d\n", (BYTE)uConnectionChannel); | ||
571 | BBvSoftwareReset(pDevice->PortOffset); | ||
572 | |||
573 | if (pDevice->byLocalID > REV_ID_VT3253_B1) { | ||
574 | // set HW default power register | ||
575 | MACvSelectPage1(pDevice->PortOffset); | ||
576 | RFbSetPower(pDevice, RATE_1M, pDevice->byCurrentCh); | ||
577 | VNSvOutPortB(pDevice->PortOffset + MAC_REG_PWRCCK, pDevice->byCurPwr); | ||
578 | RFbSetPower(pDevice, RATE_6M, pDevice->byCurrentCh); | ||
579 | VNSvOutPortB(pDevice->PortOffset + MAC_REG_PWROFDM, pDevice->byCurPwr); | ||
580 | MACvSelectPage0(pDevice->PortOffset); | ||
581 | } | ||
582 | |||
583 | if (pDevice->eCurrentPHYType == PHY_TYPE_11B) { | ||
584 | #ifdef PLICE_DEBUG | ||
585 | //printk("Func:ChbSetChannel:call RFbSetPower:11B\n"); | ||
586 | #endif | ||
587 | RFbSetPower(pDevice, RATE_1M, pDevice->byCurrentCh); | ||
588 | } else { | ||
589 | #ifdef PLICE_DEBUG | ||
590 | //printk("Func:ChbSetChannel:call RFbSetPower\n"); | ||
591 | #endif | ||
592 | RFbSetPower(pDevice, RATE_6M, pDevice->byCurrentCh); | ||
593 | } | ||
594 | |||
595 | return(bResult); | ||
596 | } | ||
597 | |||
598 | /** | ||
599 | * set_country_info() - Set Channel Info of Country | ||
600 | * | ||
601 | * Return Value: none. | ||
602 | * | ||
603 | */ | ||
604 | |||
605 | void set_country_info(void *pDeviceHandler, CARD_PHY_TYPE ePHYType, void *pIE) | ||
606 | { | ||
607 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
608 | unsigned int ii = 0; | ||
609 | unsigned int uu = 0; | ||
610 | unsigned int step = 0; | ||
611 | unsigned int uNumOfCountryInfo = 0; | ||
612 | BYTE byCh = 0; | ||
613 | PWLAN_IE_COUNTRY pIE_Country = (PWLAN_IE_COUNTRY) pIE; | ||
614 | |||
615 | |||
616 | uNumOfCountryInfo = (pIE_Country->len - 3); | ||
617 | uNumOfCountryInfo /= 3; | ||
618 | |||
619 | if (ePHYType == PHY_TYPE_11A) { | ||
620 | pDevice->bCountryInfo5G = TRUE; | ||
621 | for(ii = CB_MAX_CHANNEL_24G + 1 ; ii <= CARD_MAX_CHANNEL_TBL ; ii++) { | ||
622 | sChannelTbl[ii].bValid = FALSE; | ||
623 | } | ||
624 | step = 4; | ||
625 | } else { | ||
626 | pDevice->bCountryInfo24G = TRUE; | ||
627 | for(ii = 1 ; ii <= CB_MAX_CHANNEL_24G ; ii++) { | ||
628 | sChannelTbl[ii].bValid = FALSE; | ||
629 | } | ||
630 | step = 1; | ||
631 | } | ||
632 | pDevice->abyCountryCode[0] = pIE_Country->abyCountryString[0]; | ||
633 | pDevice->abyCountryCode[1] = pIE_Country->abyCountryString[1]; | ||
634 | pDevice->abyCountryCode[2] = pIE_Country->abyCountryString[2]; | ||
635 | |||
636 | for(ii = 0 ; ii < uNumOfCountryInfo ; ii++) { | ||
637 | for(uu = 0 ; uu < pIE_Country->abyCountryInfo[ii*3+1] ; uu++) { | ||
638 | byCh = get_channel_mapping(pDevice, (BYTE)(pIE_Country->abyCountryInfo[ii*3]+step*uu), ePHYType); | ||
639 | sChannelTbl[byCh].bValid = TRUE; | ||
640 | pDevice->abyRegPwr[byCh] = pIE_Country->abyCountryInfo[ii*3+2]; | ||
641 | } | ||
642 | } | ||
643 | } | ||
644 | |||
645 | /** | ||
646 | * | ||
647 | * set_support_channels() - Set Support Channels IE defined in 802.11h | ||
648 | * | ||
649 | * @hDeviceContext: device structure point | ||
650 | * | ||
651 | * Return Value: none. | ||
652 | * | ||
653 | */ | ||
654 | |||
655 | BYTE set_support_channels(void *pDeviceHandler, unsigned char *pbyIEs) | ||
656 | { | ||
657 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
658 | unsigned int ii; | ||
659 | BYTE byCount; | ||
660 | PWLAN_IE_SUPP_CH pIE = (PWLAN_IE_SUPP_CH) pbyIEs; | ||
661 | unsigned char *pbyChTupple; | ||
662 | BYTE byLen = 0; | ||
663 | |||
664 | |||
665 | pIE->byElementID = WLAN_EID_SUPP_CH; | ||
666 | pIE->len = 0; | ||
667 | pbyChTupple = pIE->abyChannelTuple; | ||
668 | byLen = 2; | ||
669 | // lower band | ||
670 | byCount = 0; | ||
671 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[28] == TRUE) { | ||
672 | for (ii = 28 ; ii < 36 ; ii+= 2) { | ||
673 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
674 | byCount++; | ||
675 | } | ||
676 | } | ||
677 | *pbyChTupple++ = 34; | ||
678 | *pbyChTupple++ = byCount; | ||
679 | byLen += 2; | ||
680 | } else if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[29] == TRUE) { | ||
681 | for (ii = 29 ; ii < 36 ; ii+= 2) { | ||
682 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
683 | byCount++; | ||
684 | } | ||
685 | } | ||
686 | *pbyChTupple++ = 36; | ||
687 | *pbyChTupple++ = byCount; | ||
688 | byLen += 2; | ||
689 | } | ||
690 | // middle band | ||
691 | byCount = 0; | ||
692 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[36] == TRUE) { | ||
693 | for (ii = 36 ; ii < 40 ; ii++) { | ||
694 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
695 | byCount++; | ||
696 | } | ||
697 | } | ||
698 | *pbyChTupple++ = 52; | ||
699 | *pbyChTupple++ = byCount; | ||
700 | byLen += 2; | ||
701 | } | ||
702 | // higher band | ||
703 | byCount = 0; | ||
704 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[40] == TRUE) { | ||
705 | for (ii = 40 ; ii < 51 ; ii++) { | ||
706 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
707 | byCount++; | ||
708 | } | ||
709 | } | ||
710 | *pbyChTupple++ = 100; | ||
711 | *pbyChTupple++ = byCount; | ||
712 | byLen += 2; | ||
713 | } else if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[51] == TRUE) { | ||
714 | for (ii = 51 ; ii < 56 ; ii++) { | ||
715 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] == TRUE) { | ||
716 | byCount++; | ||
717 | } | ||
718 | } | ||
719 | *pbyChTupple++ = 149; | ||
720 | *pbyChTupple++ = byCount; | ||
721 | byLen += 2; | ||
722 | } | ||
723 | pIE->len += (byLen - 2); | ||
724 | return (byLen); | ||
725 | } | ||
726 | |||
727 | void set_country_IE(void *pDeviceHandler, void *pIE) | ||
728 | { | ||
729 | PSDevice pDevice = (PSDevice) pDeviceHandler; | ||
730 | unsigned int ii; | ||
731 | PWLAN_IE_COUNTRY pIECountry = (PWLAN_IE_COUNTRY) pIE; | ||
732 | |||
733 | pIECountry->byElementID = WLAN_EID_COUNTRY; | ||
734 | pIECountry->len = 0; | ||
735 | pIECountry->abyCountryString[0] = ChannelRuleTab[pDevice->byZoneType].chCountryCode[0]; | ||
736 | pIECountry->abyCountryString[1] = ChannelRuleTab[pDevice->byZoneType].chCountryCode[1]; | ||
737 | pIECountry->abyCountryString[2] = ' '; | ||
738 | for (ii = CB_MAX_CHANNEL_24G; ii < CB_MAX_CHANNEL; ii++ ) { | ||
739 | if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) { | ||
740 | pIECountry->abyCountryInfo[pIECountry->len++] = sChannelTbl[ii+1].byChannelNumber; | ||
741 | pIECountry->abyCountryInfo[pIECountry->len++] = 1; | ||
742 | pIECountry->abyCountryInfo[pIECountry->len++] = ChannelRuleTab[pDevice->byZoneType].byPower[ii]; | ||
743 | } | ||
744 | } | ||
745 | pIECountry->len += 3; | ||
746 | } | ||
747 | |||
748 | BOOL get_channel_map_info(void *pDeviceHandler, unsigned int uChannelIndex, | ||
749 | unsigned char *pbyChannelNumber, unsigned char *pbyMap) | ||
750 | { | ||
751 | |||
752 | if (uChannelIndex > CB_MAX_CHANNEL) { | ||
753 | return FALSE; | ||
754 | } | ||
755 | *pbyChannelNumber = sChannelTbl[uChannelIndex].byChannelNumber; | ||
756 | *pbyMap = sChannelTbl[uChannelIndex].byMAP; | ||
757 | return sChannelTbl[uChannelIndex].bValid; | ||
758 | } | ||
759 | |||
760 | void set_channel_map_info(void *pDeviceHandler, unsigned int uChannelIndex, | ||
761 | BYTE byMap) | ||
762 | { | ||
763 | |||
764 | if (uChannelIndex > CB_MAX_CHANNEL) { | ||
765 | return; | ||
766 | } | ||
767 | sChannelTbl[uChannelIndex].byMAP |= byMap; | ||
768 | } | ||
769 | |||
770 | void clear_channel_map_info(void *pDeviceHandler) | ||
771 | { | ||
772 | unsigned int ii = 0; | ||
773 | |||
774 | for (ii = 1; ii <= CB_MAX_CHANNEL; ii++) { | ||
775 | sChannelTbl[ii].byMAP = 0; | ||
776 | } | ||
777 | } | ||
778 | |||
779 | BYTE auto_channel_select(void *pDeviceHandler, CARD_PHY_TYPE ePHYType) | ||
780 | { | ||
781 | unsigned int ii = 0; | ||
782 | BYTE byOptionChannel = 0; | ||
783 | int aiWeight[CB_MAX_CHANNEL_24G+1] = {-1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; | ||
784 | |||
785 | if (ePHYType == PHY_TYPE_11A) { | ||
786 | for(ii = CB_MAX_CHANNEL_24G + 1 ; ii <= CB_MAX_CHANNEL ; ii++) { | ||
787 | if (sChannelTbl[ii].bValid == TRUE) { | ||
788 | if (byOptionChannel == 0) { | ||
789 | byOptionChannel = (BYTE) ii; | ||
790 | } | ||
791 | if (sChannelTbl[ii].byMAP == 0) { | ||
792 | return ((BYTE) ii); | ||
793 | } else if ( !(sChannelTbl[ii].byMAP & 0x08)) { | ||
794 | byOptionChannel = (BYTE) ii; | ||
795 | } | ||
796 | } | ||
797 | } | ||
798 | } else { | ||
799 | byOptionChannel = 0; | ||
800 | for(ii = 1 ; ii <= CB_MAX_CHANNEL_24G ; ii++) { | ||
801 | if (sChannelTbl[ii].bValid == TRUE) { | ||
802 | if (sChannelTbl[ii].byMAP == 0) { | ||
803 | aiWeight[ii] += 100; | ||
804 | } else if (sChannelTbl[ii].byMAP & 0x01) { | ||
805 | if (ii > 3) { | ||
806 | aiWeight[ii-3] -= 10; | ||
807 | } | ||
808 | if (ii > 2) { | ||
809 | aiWeight[ii-2] -= 20; | ||
810 | } | ||
811 | if (ii > 1) { | ||
812 | aiWeight[ii-1] -= 40; | ||
813 | } | ||
814 | aiWeight[ii] -= 80; | ||
815 | if (ii < CB_MAX_CHANNEL_24G) { | ||
816 | aiWeight[ii+1] -= 40; | ||
817 | } | ||
818 | if (ii < (CB_MAX_CHANNEL_24G - 1)) { | ||
819 | aiWeight[ii+2] -= 20; | ||
820 | } | ||
821 | if (ii < (CB_MAX_CHANNEL_24G - 2)) { | ||
822 | aiWeight[ii+3] -= 10; | ||
823 | } | ||
824 | } | ||
825 | } | ||
826 | } | ||
827 | for(ii = 1 ; ii <= CB_MAX_CHANNEL_24G ; ii++) { | ||
828 | if ((sChannelTbl[ii].bValid == TRUE) && | ||
829 | (aiWeight[ii] > aiWeight[byOptionChannel])) { | ||
830 | byOptionChannel = (BYTE) ii; | ||
831 | } | ||
832 | } | ||
833 | } | ||
834 | return (byOptionChannel); | ||
835 | } | ||
diff --git a/drivers/staging/vt6655/channel.h b/drivers/staging/vt6655/channel.h new file mode 100644 index 00000000000..ff338f63d6e --- /dev/null +++ b/drivers/staging/vt6655/channel.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. | ||
3 | * All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along | ||
16 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
18 | * | ||
19 | * File: channel.h | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #ifndef _CHANNEL_H_ | ||
24 | #define _CHANNEL_H_ | ||
25 | |||
26 | #include "ttype.h" | ||
27 | #include "card.h" | ||
28 | |||
29 | /*--------------------- Export Classes ----------------------------*/ | ||
30 | |||
31 | typedef struct tagSChannelTblElement { | ||
32 | BYTE byChannelNumber; | ||
33 | unsigned int uFrequency; | ||
34 | BOOL bValid; | ||
35 | BYTE byMAP; | ||
36 | }SChannelTblElement, *PSChannelTblElement; | ||
37 | |||
38 | |||
39 | /*--------------------- Export Functions --------------------------*/ | ||
40 | |||
41 | BOOL is_channel_valid(unsigned int CountryCode); | ||
42 | void init_channel_table(void *pDeviceHandler); | ||
43 | BYTE get_channel_mapping(void *pDeviceHandler, BYTE byChannelNumber, CARD_PHY_TYPE ePhyType); | ||
44 | BOOL channel_get_list(unsigned int uCountryCodeIdx, unsigned char *pbyChannelTable); | ||
45 | BYTE get_channel_number(void *pDeviceHandler, BYTE byChannelIndex); | ||
46 | BOOL set_channel(void *pDeviceHandler, unsigned int uConnectionChannel); | ||
47 | void set_country_info(void *pDeviceHandler, CARD_PHY_TYPE ePHYType, void *pIE); | ||
48 | BYTE set_support_channels(void *pDeviceHandler, unsigned char *pbyIEs); | ||
49 | void set_country_IE(void *pDeviceHandler, void *pIE); | ||
50 | BOOL get_channel_map_info(void *pDeviceHandler, unsigned int uChannelIndex, | ||
51 | unsigned char *pbyChannelNumber, unsigned char *pbyMap); | ||
52 | void set_channel_map_info(void *pDeviceHandler, unsigned int uChannelIndex, | ||
53 | BYTE byMap); | ||
54 | void clear_channel_map_info(void *pDeviceHandler); | ||
55 | BYTE auto_channel_select(void *pDeviceHandler, CARD_PHY_TYPE ePHYType); | ||
56 | |||
57 | |||
58 | #endif /* _CHANNEL_H_ */ | ||
diff --git a/drivers/staging/vt6655/country.h b/drivers/staging/vt6655/country.h index 3206feec8b3..05fda410420 100644 --- a/drivers/staging/vt6655/country.h +++ b/drivers/staging/vt6655/country.h | |||
@@ -159,19 +159,4 @@ typedef enum _COUNTRY_CODE { | |||
159 | CCODE_MAX | 159 | CCODE_MAX |
160 | } COUNTRY_CODE; | 160 | } COUNTRY_CODE; |
161 | 161 | ||
162 | typedef struct tagSCountryTable | ||
163 | { | ||
164 | BYTE byChannelCountryCode; /* The country code */ | ||
165 | char chCountryCode[2]; | ||
166 | BYTE bChannelIdxList[CB_MAX_CHANNEL]; /* Available channels Index */ | ||
167 | BYTE byPower[CB_MAX_CHANNEL]; | ||
168 | } SCountryTable, *PSCountryTable; | ||
169 | |||
170 | /*--------------------- Export Classes ----------------------------*/ | ||
171 | |||
172 | /*--------------------- Export Variables --------------------------*/ | ||
173 | extern SCountryTable ChannelRuleTab[CCODE_MAX+1]; | ||
174 | |||
175 | /*--------------------- Export Functions --------------------------*/ | ||
176 | |||
177 | #endif /* __COUNTRY_H__ */ | 162 | #endif /* __COUNTRY_H__ */ |
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index bd27a959add..090cc94b250 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c | |||
@@ -62,6 +62,7 @@ | |||
62 | 62 | ||
63 | #include "device.h" | 63 | #include "device.h" |
64 | #include "card.h" | 64 | #include "card.h" |
65 | #include "channel.h" | ||
65 | #include "baseband.h" | 66 | #include "baseband.h" |
66 | #include "mac.h" | 67 | #include "mac.h" |
67 | #include "tether.h" | 68 | #include "tether.h" |
@@ -730,7 +731,7 @@ else | |||
730 | pDevice->abyOFDMPwrTbl[ii+CB_MAX_CHANNEL_24G+1] = SROMbyReadEmbedded(pDevice->PortOffset, (BYTE)(ii + EEP_OFS_OFDMA_PWR_TBL)); | 731 | pDevice->abyOFDMPwrTbl[ii+CB_MAX_CHANNEL_24G+1] = SROMbyReadEmbedded(pDevice->PortOffset, (BYTE)(ii + EEP_OFS_OFDMA_PWR_TBL)); |
731 | pDevice->abyOFDMDefaultPwr[ii+CB_MAX_CHANNEL_24G+1] = SROMbyReadEmbedded(pDevice->PortOffset, (BYTE)(ii + EEP_OFS_OFDMA_PWR_dBm)); | 732 | pDevice->abyOFDMDefaultPwr[ii+CB_MAX_CHANNEL_24G+1] = SROMbyReadEmbedded(pDevice->PortOffset, (BYTE)(ii + EEP_OFS_OFDMA_PWR_dBm)); |
732 | } | 733 | } |
733 | CARDvInitChannelTable((void *)pDevice); | 734 | init_channel_table((void *)pDevice); |
734 | 735 | ||
735 | 736 | ||
736 | if (pDevice->byLocalID > REV_ID_VT3253_B1) { | 737 | if (pDevice->byLocalID > REV_ID_VT3253_B1) { |
@@ -2749,7 +2750,7 @@ static irqreturn_t device_intr(int irq, void *dev_instance) { | |||
2749 | MACvSelectPage0(pDevice->PortOffset); | 2750 | MACvSelectPage0(pDevice->PortOffset); |
2750 | //xxxx | 2751 | //xxxx |
2751 | // WCMDbFlushCommandQueue(pDevice->pMgmt, TRUE); | 2752 | // WCMDbFlushCommandQueue(pDevice->pMgmt, TRUE); |
2752 | if (CARDbSetChannel(pDevice, pDevice->pCurrMeasureEID->sReq.byChannel) == TRUE) { | 2753 | if (set_channel(pDevice, pDevice->pCurrMeasureEID->sReq.byChannel) == TRUE) { |
2753 | pDevice->bMeasureInProgress = TRUE; | 2754 | pDevice->bMeasureInProgress = TRUE; |
2754 | MACvSelectPage1(pDevice->PortOffset); | 2755 | MACvSelectPage1(pDevice->PortOffset); |
2755 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_READY); | 2756 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_READY); |
@@ -2784,7 +2785,7 @@ static irqreturn_t device_intr(int irq, void *dev_instance) { | |||
2784 | // clear measure control | 2785 | // clear measure control |
2785 | MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_EN); | 2786 | MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_EN); |
2786 | MACvSelectPage0(pDevice->PortOffset); | 2787 | MACvSelectPage0(pDevice->PortOffset); |
2787 | CARDbSetChannel(pDevice, pDevice->byOrgChannel); | 2788 | set_channel(pDevice, pDevice->byOrgChannel); |
2788 | // WCMDbResetCommandQueue(pDevice->pMgmt); | 2789 | // WCMDbResetCommandQueue(pDevice->pMgmt); |
2789 | MACvSelectPage1(pDevice->PortOffset); | 2790 | MACvSelectPage1(pDevice->PortOffset); |
2790 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); | 2791 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); |
@@ -2819,7 +2820,7 @@ static irqreturn_t device_intr(int irq, void *dev_instance) { | |||
2819 | pDevice->byChannelSwitchCount--; | 2820 | pDevice->byChannelSwitchCount--; |
2820 | if (pDevice->byChannelSwitchCount == 0) { | 2821 | if (pDevice->byChannelSwitchCount == 0) { |
2821 | pDevice->bChannelSwitch = FALSE; | 2822 | pDevice->bChannelSwitch = FALSE; |
2822 | CARDbSetChannel(pDevice, pDevice->byNewChannel); | 2823 | set_channel(pDevice, pDevice->byNewChannel); |
2823 | VNTWIFIbChannelSwitch(pDevice->pMgmt, pDevice->byNewChannel); | 2824 | VNTWIFIbChannelSwitch(pDevice->pMgmt, pDevice->byNewChannel); |
2824 | MACvSelectPage1(pDevice->PortOffset); | 2825 | MACvSelectPage1(pDevice->PortOffset); |
2825 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); | 2826 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); |
@@ -2905,7 +2906,7 @@ static irqreturn_t device_intr(int irq, void *dev_instance) { | |||
2905 | pDevice->byChannelSwitchCount--; | 2906 | pDevice->byChannelSwitchCount--; |
2906 | if (pDevice->byChannelSwitchCount == 0) { | 2907 | if (pDevice->byChannelSwitchCount == 0) { |
2907 | pDevice->bChannelSwitch = FALSE; | 2908 | pDevice->bChannelSwitch = FALSE; |
2908 | CARDbSetChannel(pDevice, pDevice->byNewChannel); | 2909 | set_channel(pDevice, pDevice->byNewChannel); |
2909 | VNTWIFIbChannelSwitch(pDevice->pMgmt, pDevice->byNewChannel); | 2910 | VNTWIFIbChannelSwitch(pDevice->pMgmt, pDevice->byNewChannel); |
2910 | MACvSelectPage1(pDevice->PortOffset); | 2911 | MACvSelectPage1(pDevice->PortOffset); |
2911 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); | 2912 | MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL+1, MSRCTL1_TXPAUSE); |
diff --git a/drivers/staging/vt6655/wcmd.c b/drivers/staging/vt6655/wcmd.c index 1eb4f6b596f..72912d79237 100644 --- a/drivers/staging/vt6655/wcmd.c +++ b/drivers/staging/vt6655/wcmd.c | |||
@@ -52,6 +52,7 @@ | |||
52 | #include "rxtx.h" | 52 | #include "rxtx.h" |
53 | #include "rf.h" | 53 | #include "rf.h" |
54 | #include "iowpa.h" | 54 | #include "iowpa.h" |
55 | #include "channel.h" | ||
55 | 56 | ||
56 | /*--------------------- Static Definitions -------------------------*/ | 57 | /*--------------------- Static Definitions -------------------------*/ |
57 | 58 | ||
@@ -396,7 +397,7 @@ vCommandTimer ( | |||
396 | 397 | ||
397 | // Set Baseband's sensitivity back. | 398 | // Set Baseband's sensitivity back. |
398 | // Set channel back | 399 | // Set channel back |
399 | CARDbSetChannel(pMgmt->pAdapter, pMgmt->uCurrChannel); | 400 | set_channel(pMgmt->pAdapter, pMgmt->uCurrChannel); |
400 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning, set back to channel: [%d]\n", pMgmt->uCurrChannel); | 401 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning, set back to channel: [%d]\n", pMgmt->uCurrChannel); |
401 | if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) { | 402 | if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) { |
402 | CARDbSetBSSID(pMgmt->pAdapter, pMgmt->abyCurrBSSID, OP_MODE_ADHOC); | 403 | CARDbSetBSSID(pMgmt->pAdapter, pMgmt->abyCurrBSSID, OP_MODE_ADHOC); |
@@ -408,7 +409,7 @@ vCommandTimer ( | |||
408 | 409 | ||
409 | } else { | 410 | } else { |
410 | //2008-8-4 <add> by chester | 411 | //2008-8-4 <add> by chester |
411 | if (!ChannelValid(pMgmt->uScanChannel)) { | 412 | if (!is_channel_valid(pMgmt->uScanChannel)) { |
412 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Invalid channel pMgmt->uScanChannel = %d \n",pMgmt->uScanChannel); | 413 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Invalid channel pMgmt->uScanChannel = %d \n",pMgmt->uScanChannel); |
413 | s_bCommandComplete(pDevice); | 414 | s_bCommandComplete(pDevice); |
414 | return; | 415 | return; |
@@ -431,7 +432,7 @@ vCommandTimer ( | |||
431 | 432 | ||
432 | vAdHocBeaconStop(pDevice); | 433 | vAdHocBeaconStop(pDevice); |
433 | 434 | ||
434 | if (CARDbSetChannel(pMgmt->pAdapter, pMgmt->uScanChannel) == TRUE) { | 435 | if (set_channel(pMgmt->pAdapter, pMgmt->uScanChannel) == TRUE) { |
435 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"SCAN Channel: %d\n", pMgmt->uScanChannel); | 436 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"SCAN Channel: %d\n", pMgmt->uScanChannel); |
436 | } else { | 437 | } else { |
437 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"SET SCAN Channel Fail: %d\n", pMgmt->uScanChannel); | 438 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"SET SCAN Channel Fail: %d\n", pMgmt->uScanChannel); |
@@ -441,7 +442,7 @@ vCommandTimer ( | |||
441 | // printk("chester-ch=%d\n",pMgmt->uScanChannel); | 442 | // printk("chester-ch=%d\n",pMgmt->uScanChannel); |
442 | pMgmt->uScanChannel++; | 443 | pMgmt->uScanChannel++; |
443 | //2008-8-4 <modify> by chester | 444 | //2008-8-4 <modify> by chester |
444 | if (!ChannelValid(pMgmt->uScanChannel) && | 445 | if (!is_channel_valid(pMgmt->uScanChannel) && |
445 | pMgmt->uScanChannel <= pDevice->byMaxChannel ){ | 446 | pMgmt->uScanChannel <= pDevice->byMaxChannel ){ |
446 | pMgmt->uScanChannel=pDevice->byMaxChannel+1; | 447 | pMgmt->uScanChannel=pDevice->byMaxChannel+1; |
447 | pMgmt->eCommandState = WLAN_CMD_SCAN_END; | 448 | pMgmt->eCommandState = WLAN_CMD_SCAN_END; |
@@ -469,7 +470,7 @@ vCommandTimer ( | |||
469 | 470 | ||
470 | // Set Baseband's sensitivity back. | 471 | // Set Baseband's sensitivity back. |
471 | // Set channel back | 472 | // Set channel back |
472 | CARDbSetChannel(pMgmt->pAdapter, pMgmt->uCurrChannel); | 473 | set_channel(pMgmt->pAdapter, pMgmt->uCurrChannel); |
473 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning, set back to channel: [%d]\n", pMgmt->uCurrChannel); | 474 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning, set back to channel: [%d]\n", pMgmt->uCurrChannel); |
474 | if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) { | 475 | if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) { |
475 | CARDbSetBSSID(pMgmt->pAdapter, pMgmt->abyCurrBSSID, OP_MODE_ADHOC); | 476 | CARDbSetBSSID(pMgmt->pAdapter, pMgmt->abyCurrBSSID, OP_MODE_ADHOC); |
diff --git a/drivers/staging/vt6655/wmgr.c b/drivers/staging/vt6655/wmgr.c index 231a3e70436..d657beb0278 100644 --- a/drivers/staging/vt6655/wmgr.c +++ b/drivers/staging/vt6655/wmgr.c | |||
@@ -65,6 +65,7 @@ | |||
65 | #include "desc.h" | 65 | #include "desc.h" |
66 | #include "device.h" | 66 | #include "device.h" |
67 | #include "card.h" | 67 | #include "card.h" |
68 | #include "channel.h" | ||
68 | #include "80211hdr.h" | 69 | #include "80211hdr.h" |
69 | #include "80211mgr.h" | 70 | #include "80211mgr.h" |
70 | #include "wmgr.h" | 71 | #include "wmgr.h" |
@@ -1917,7 +1918,7 @@ s_vMgrRxBeacon( | |||
1917 | if (sFrame.pDSParms != NULL) { | 1918 | if (sFrame.pDSParms != NULL) { |
1918 | if (byCurrChannel > CB_MAX_CHANNEL_24G) { | 1919 | if (byCurrChannel > CB_MAX_CHANNEL_24G) { |
1919 | // channel remapping to | 1920 | // channel remapping to |
1920 | byIEChannel = CARDbyGetChannelMapping(pDevice, sFrame.pDSParms->byCurrChannel, PHY_TYPE_11A); | 1921 | byIEChannel = get_channel_mapping(pDevice, sFrame.pDSParms->byCurrChannel, PHY_TYPE_11A); |
1921 | } else { | 1922 | } else { |
1922 | byIEChannel = sFrame.pDSParms->byCurrChannel; | 1923 | byIEChannel = sFrame.pDSParms->byCurrChannel; |
1923 | } | 1924 | } |
@@ -2122,12 +2123,12 @@ if(ChannelExceedZoneType(pDevice,byCurrChannel)==TRUE) | |||
2122 | if (sFrame.pIE_CHSW != NULL) { | 2123 | if (sFrame.pIE_CHSW != NULL) { |
2123 | CARDbChannelSwitch( pMgmt->pAdapter, | 2124 | CARDbChannelSwitch( pMgmt->pAdapter, |
2124 | sFrame.pIE_CHSW->byMode, | 2125 | sFrame.pIE_CHSW->byMode, |
2125 | CARDbyGetChannelMapping(pMgmt->pAdapter, sFrame.pIE_CHSW->byMode, pMgmt->eCurrentPHYMode), | 2126 | get_channel_mapping(pMgmt->pAdapter, sFrame.pIE_CHSW->byMode, pMgmt->eCurrentPHYMode), |
2126 | sFrame.pIE_CHSW->byCount | 2127 | sFrame.pIE_CHSW->byCount |
2127 | ); | 2128 | ); |
2128 | 2129 | ||
2129 | } else if (bIsChannelEqual == FALSE) { | 2130 | } else if (bIsChannelEqual == FALSE) { |
2130 | CARDbSetChannel(pMgmt->pAdapter, pBSSList->uChannel); | 2131 | set_channel(pMgmt->pAdapter, pBSSList->uChannel); |
2131 | } | 2132 | } |
2132 | } | 2133 | } |
2133 | } | 2134 | } |
@@ -2611,7 +2612,7 @@ vMgrCreateOwnIBSS( | |||
2611 | 2612 | ||
2612 | CARDbSetBeaconPeriod(pMgmt->pAdapter, pMgmt->wIBSSBeaconPeriod); | 2613 | CARDbSetBeaconPeriod(pMgmt->pAdapter, pMgmt->wIBSSBeaconPeriod); |
2613 | // set channel and clear NAV | 2614 | // set channel and clear NAV |
2614 | CARDbSetChannel(pMgmt->pAdapter, pMgmt->uIBSSChannel); | 2615 | set_channel(pMgmt->pAdapter, pMgmt->uIBSSChannel); |
2615 | pMgmt->uCurrChannel = pMgmt->uIBSSChannel; | 2616 | pMgmt->uCurrChannel = pMgmt->uIBSSChannel; |
2616 | 2617 | ||
2617 | if (CARDbIsShortPreamble(pMgmt->pAdapter)) { | 2618 | if (CARDbIsShortPreamble(pMgmt->pAdapter)) { |
@@ -3051,7 +3052,7 @@ s_vMgrSynchBSS ( | |||
3051 | return; | 3052 | return; |
3052 | } | 3053 | } |
3053 | // set channel and clear NAV | 3054 | // set channel and clear NAV |
3054 | if (CARDbSetChannel(pMgmt->pAdapter, pCurr->uChannel) == FALSE) { | 3055 | if (set_channel(pMgmt->pAdapter, pCurr->uChannel) == FALSE) { |
3055 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "<----s_bSynchBSS Set Channel [%d]\n", pCurr->uChannel); | 3056 | DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "<----s_bSynchBSS Set Channel [%d]\n", pCurr->uChannel); |
3056 | return; | 3057 | return; |
3057 | } | 3058 | } |
@@ -3343,8 +3344,8 @@ s_MgrMakeBeacon( | |||
3343 | (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) { | 3344 | (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) { |
3344 | // Country IE | 3345 | // Country IE |
3345 | pbyBuffer = (unsigned char *)(sFrame.pBuf + sFrame.len); | 3346 | pbyBuffer = (unsigned char *)(sFrame.pBuf + sFrame.len); |
3346 | CARDvSetCountryIE(pMgmt->pAdapter, pbyBuffer); | 3347 | set_country_IE(pMgmt->pAdapter, pbyBuffer); |
3347 | CARDvSetCountryInfo(pMgmt->pAdapter, PHY_TYPE_11A, pbyBuffer); | 3348 | set_country_info(pMgmt->pAdapter, PHY_TYPE_11A, pbyBuffer); |
3348 | uLength += ((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN; | 3349 | uLength += ((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN; |
3349 | pbyBuffer += (((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN); | 3350 | pbyBuffer += (((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN); |
3350 | // Power Constrain IE | 3351 | // Power Constrain IE |
@@ -3358,7 +3359,7 @@ s_MgrMakeBeacon( | |||
3358 | ((PWLAN_IE_CH_SW) pbyBuffer)->byElementID = WLAN_EID_CH_SWITCH; | 3359 | ((PWLAN_IE_CH_SW) pbyBuffer)->byElementID = WLAN_EID_CH_SWITCH; |
3359 | ((PWLAN_IE_CH_SW) pbyBuffer)->len = 3; | 3360 | ((PWLAN_IE_CH_SW) pbyBuffer)->len = 3; |
3360 | ((PWLAN_IE_CH_SW) pbyBuffer)->byMode = 1; | 3361 | ((PWLAN_IE_CH_SW) pbyBuffer)->byMode = 1; |
3361 | ((PWLAN_IE_CH_SW) pbyBuffer)->byChannel = CARDbyGetChannelNumber(pMgmt->pAdapter, pMgmt->byNewChannel); | 3362 | ((PWLAN_IE_CH_SW) pbyBuffer)->byChannel = get_channel_number(pMgmt->pAdapter, pMgmt->byNewChannel); |
3362 | ((PWLAN_IE_CH_SW) pbyBuffer)->byCount = 0; | 3363 | ((PWLAN_IE_CH_SW) pbyBuffer)->byCount = 0; |
3363 | pbyBuffer += (3) + WLAN_IEHDR_LEN; | 3364 | pbyBuffer += (3) + WLAN_IEHDR_LEN; |
3364 | uLength += (3) + WLAN_IEHDR_LEN; | 3365 | uLength += (3) + WLAN_IEHDR_LEN; |
@@ -3382,7 +3383,7 @@ s_MgrMakeBeacon( | |||
3382 | pbyBuffer += (7) + WLAN_IEHDR_LEN; | 3383 | pbyBuffer += (7) + WLAN_IEHDR_LEN; |
3383 | uLength += (7) + WLAN_IEHDR_LEN; | 3384 | uLength += (7) + WLAN_IEHDR_LEN; |
3384 | for(ii=CB_MAX_CHANNEL_24G+1; ii<=CB_MAX_CHANNEL; ii++ ) { | 3385 | for(ii=CB_MAX_CHANNEL_24G+1; ii<=CB_MAX_CHANNEL; ii++ ) { |
3385 | if (CARDbGetChannelMapInfo(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1) == TRUE) { | 3386 | if (get_channel_map_info(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1) == TRUE) { |
3386 | pbyBuffer += 2; | 3387 | pbyBuffer += 2; |
3387 | uLength += 2; | 3388 | uLength += 2; |
3388 | pIBSSDFS->len += 2; | 3389 | pIBSSDFS->len += 2; |
@@ -3547,8 +3548,8 @@ s_MgrMakeProbeResponse( | |||
3547 | (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) { | 3548 | (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) { |
3548 | // Country IE | 3549 | // Country IE |
3549 | pbyBuffer = (unsigned char *)(sFrame.pBuf + sFrame.len); | 3550 | pbyBuffer = (unsigned char *)(sFrame.pBuf + sFrame.len); |
3550 | CARDvSetCountryIE(pMgmt->pAdapter, pbyBuffer); | 3551 | set_country_IE(pMgmt->pAdapter, pbyBuffer); |
3551 | CARDvSetCountryInfo(pMgmt->pAdapter, PHY_TYPE_11A, pbyBuffer); | 3552 | set_country_info(pMgmt->pAdapter, PHY_TYPE_11A, pbyBuffer); |
3552 | uLength += ((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN; | 3553 | uLength += ((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN; |
3553 | pbyBuffer += (((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN); | 3554 | pbyBuffer += (((PWLAN_IE_COUNTRY) pbyBuffer)->len + WLAN_IEHDR_LEN); |
3554 | // Power Constrain IE | 3555 | // Power Constrain IE |
@@ -3562,7 +3563,7 @@ s_MgrMakeProbeResponse( | |||
3562 | ((PWLAN_IE_CH_SW) pbyBuffer)->byElementID = WLAN_EID_CH_SWITCH; | 3563 | ((PWLAN_IE_CH_SW) pbyBuffer)->byElementID = WLAN_EID_CH_SWITCH; |
3563 | ((PWLAN_IE_CH_SW) pbyBuffer)->len = 3; | 3564 | ((PWLAN_IE_CH_SW) pbyBuffer)->len = 3; |
3564 | ((PWLAN_IE_CH_SW) pbyBuffer)->byMode = 1; | 3565 | ((PWLAN_IE_CH_SW) pbyBuffer)->byMode = 1; |
3565 | ((PWLAN_IE_CH_SW) pbyBuffer)->byChannel = CARDbyGetChannelNumber(pMgmt->pAdapter, pMgmt->byNewChannel); | 3566 | ((PWLAN_IE_CH_SW) pbyBuffer)->byChannel = get_channel_number(pMgmt->pAdapter, pMgmt->byNewChannel); |
3566 | ((PWLAN_IE_CH_SW) pbyBuffer)->byCount = 0; | 3567 | ((PWLAN_IE_CH_SW) pbyBuffer)->byCount = 0; |
3567 | pbyBuffer += (3) + WLAN_IEHDR_LEN; | 3568 | pbyBuffer += (3) + WLAN_IEHDR_LEN; |
3568 | uLength += (3) + WLAN_IEHDR_LEN; | 3569 | uLength += (3) + WLAN_IEHDR_LEN; |
@@ -3586,7 +3587,7 @@ s_MgrMakeProbeResponse( | |||
3586 | pbyBuffer += (7) + WLAN_IEHDR_LEN; | 3587 | pbyBuffer += (7) + WLAN_IEHDR_LEN; |
3587 | uLength += (7) + WLAN_IEHDR_LEN; | 3588 | uLength += (7) + WLAN_IEHDR_LEN; |
3588 | for(ii=CB_MAX_CHANNEL_24G+1; ii<=CB_MAX_CHANNEL; ii++ ) { | 3589 | for(ii=CB_MAX_CHANNEL_24G+1; ii<=CB_MAX_CHANNEL; ii++ ) { |
3589 | if (CARDbGetChannelMapInfo(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1) == TRUE) { | 3590 | if (get_channel_map_info(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1) == TRUE) { |
3590 | pbyBuffer += 2; | 3591 | pbyBuffer += 2; |
3591 | uLength += 2; | 3592 | uLength += 2; |
3592 | pIBSSDFS->len += 2; | 3593 | pIBSSDFS->len += 2; |
@@ -3722,7 +3723,7 @@ s_MgrMakeAssocRequest( | |||
3722 | } | 3723 | } |
3723 | if (sFrame.pCurrSuppCh == NULL) { | 3724 | if (sFrame.pCurrSuppCh == NULL) { |
3724 | sFrame.pCurrSuppCh = (PWLAN_IE_SUPP_CH)(sFrame.pBuf + sFrame.len); | 3725 | sFrame.pCurrSuppCh = (PWLAN_IE_SUPP_CH)(sFrame.pBuf + sFrame.len); |
3725 | sFrame.len += CARDbySetSupportChannels(pMgmt->pAdapter,(unsigned char *)sFrame.pCurrSuppCh); | 3726 | sFrame.len += set_support_channels(pMgmt->pAdapter,(unsigned char *)sFrame.pCurrSuppCh); |
3726 | } | 3727 | } |
3727 | } | 3728 | } |
3728 | 3729 | ||
@@ -4350,7 +4351,7 @@ s_vMgrRxProbeResponse( | |||
4350 | if (sFrame.pDSParms != 0) { | 4351 | if (sFrame.pDSParms != 0) { |
4351 | if (byCurrChannel > CB_MAX_CHANNEL_24G) { | 4352 | if (byCurrChannel > CB_MAX_CHANNEL_24G) { |
4352 | // channel remapping to | 4353 | // channel remapping to |
4353 | byIEChannel = CARDbyGetChannelMapping(pMgmt->pAdapter, sFrame.pDSParms->byCurrChannel, PHY_TYPE_11A); | 4354 | byIEChannel = get_channel_mapping(pMgmt->pAdapter, sFrame.pDSParms->byCurrChannel, PHY_TYPE_11A); |
4354 | } else { | 4355 | } else { |
4355 | byIEChannel = sFrame.pDSParms->byCurrChannel; | 4356 | byIEChannel = sFrame.pDSParms->byCurrChannel; |
4356 | } | 4357 | } |