CMS 3D CMS Logo

HFFibreFiducial.cc
Go to the documentation of this file.
3 
4 #include <CLHEP/Units/PhysicalConstants.h>
5 #include <CLHEP/Units/SystemOfUnits.h>
6 
7 //#define EDM_ML_DEBUG
8 
9 int HFFibreFiducial::PMTNumber(const G4ThreeVector& pe_effect) {
10  double xv = pe_effect.x(); // X in global system
11  double yv = pe_effect.y(); // Y in global system
12  double phi = atan2(yv, xv); // In global system
13  if (phi < 0.)
14  phi += CLHEP::pi; // Just for security
15  double dph = CLHEP::pi / 18; // 10 deg = a half sector width
16  double sph = dph + dph; // 20 deg = a sector width
17  int nphi = phi / dph; // 10 deg sector #
18 #ifdef EDM_ML_DEBUG
19  edm::LogVerbatim("HFShower") << "HFFibreFiducial:***> P = " << pe_effect << ", phi = " << phi / CLHEP::deg;
20 #endif
21  if (nphi > 35)
22  nphi = 35; // Just for security
23  double xl = 0.; // local sector coordinates (left/right)
24  double yl = 0.; // local sector coordinates (down/up)
25  int nwid = 0; // CMS widget number (@@ not used now M.K.)
26  double phir = 0.; // phi for rotation to the sector system
27  if (nphi == 0 || nphi == 35) {
28  yl = xv;
29  xl = yv;
30  nwid = 6;
31  } else if (nphi == 17 || nphi == 18) {
32  yl = -xv;
33  xl = -yv;
34  nwid = 15;
35  phir = CLHEP::pi; // nr=9 ?
36  } else {
37  int nr = (nphi + 1) / 2; // a sector # (@@ internal definition)
38  nwid = 6 - nr;
39  if (nwid <= 0)
40  nwid += 18; // @@ +z || -z M.K. to be improved
41  phir = sph * nr; // nontrivial phi for rotation to the sector system
42  double cosr = cos(phir);
43  double sinr = sin(phir);
44  yl = xv * cosr + yv * sinr;
45  xl = yv * cosr - xv * sinr;
46 #ifdef EDM_ML_DEBUG
47  edm::LogVerbatim("HFShower") << "HFFibreFiducial: nr " << nr << " phi " << phir / CLHEP::deg;
48 #endif
49  }
50  if (yl < 0)
51  yl = -yl;
52 #ifdef EDM_ML_DEBUG
53  edm::LogVerbatim("HFShower") << "HFFibreFiducial: Global Point " << pe_effect << " nphi " << nphi
54  << " Local Sector Coordinates (" << xl << ", " << yl << "), widget # " << nwid;
55 #endif
56  // Provides a PMT # for the (x,y) hit in the widget # nwid (M. Kosov, 11.2010)
57  // Send comments/questions to Mikhail.Kossov@cern.ch
58  // nwid = 1-18 for Forward HF, 19-36 for Backward HF (all equal now)
59  // npmt = 0 for No Hit, 1-24 for H(Long) PMT, 25-48 for E(Short) PMT, negative for souces
60 
61  static const int nWidM = 36;
62  if (nwid > nWidM || nwid <= 0) {
63 #ifdef EDM_ML_DEBUG
64  edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: " << nwid << " == wrong widget number";
65 #endif
66  return 0;
67  }
68  static const double yMin = 13.1 * CLHEP::cm; // start of the active area (Conv to mm?)
69  static const double yMax = 129.6 * CLHEP::cm; // finish of the active area (Conv to mm?)
70  if (yl < yMin || yl >= yMax) {
71 #ifdef EDM_ML_DEBUG
72  edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
73  << "Point with y = " << yl << " outside acceptance [" << yMin << ":" << yMax
74  << "], X = " << xv << ", Y = " << yv << ", x = " << xl << ", nW = " << nwid
75  << ", phi = " << phi / CLHEP::deg << ", phir = " << phir / CLHEP::deg;
76 #endif
77  return 0; // ===> out of the acceptance
78  }
79  bool left = true; // flag of the left part of the widget
80  double r = xl / yl; // for the widget acceptance check
81  if (r < 0) {
82  r = -r;
83  left = false;
84  }
85  static const double tg10 = .17632698070847; // phi-angular acceptance of the widget
86  if (r > tg10) {
87 #ifdef EDM_ML_DEBUG
88  edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: (x = " << xl << ", y = " << yl
89  << ", tg = " << r << ") out of the widget acceptance tg(10) " << tg10;
90 #endif
91  return 0;
92  }
93 
94  static const int nLay = 233; // a # of the sensetive layers in the widget
95  static const int nL001 = 4;
96  static const int nL002 = 4;
97  static const int nL003 = 5;
98  static const int nL004 = 5;
99  static const int nL005 = 5; // (5)
100  static const int nL006 = 5;
101  static const int nL007 = 5;
102  static const int nL008 = 6;
103  static const int nL009 = 6;
104  static const int nL010 = 6; // (6)
105  static const int nL011 = 6;
106  static const int nL012 = 6;
107  static const int nL013 = 6;
108  static const int nL014 = 7;
109  static const int nL015 = 7;
110  static const int nL016 = 7; // (6)
111  static const int nL017 = 7;
112  static const int nL018 = 7;
113  static const int nL019 = 7;
114  static const int nL020 = 8;
115  static const int nL021 = 8;
116  static const int nL022 = 8; // (5)
117  static const int nL023 = 8;
118  static const int nL024 = 8;
119  static const int nL025 = 9;
120  static const int nL026 = 9;
121  static const int nL027 = 9; // (6)
122  static const int nL028 = 9;
123  static const int nL029 = 9;
124  static const int nL030 = 9;
125  static const int nL031 = 10;
126  static const int nL032 = 10;
127  static const int nL033 = 10; // (6)
128  static const int nL034 = 10;
129  static const int nL035 = 10;
130  static const int nL036 = 10;
131  static const int nL037 = 11;
132  static const int nL038 = 11; // (5)
133  static const int nL039 = 11;
134  static const int nL040 = 11;
135  static const int nL041 = 11;
136  static const int nL042 = 12;
137  static const int nL043 = 12;
138  static const int nL044 = 12;
139  static const int nL045 = 12; // (6)
140  static const int nL046 = 12;
141  static const int nL047 = 12;
142  static const int nL048 = 13;
143  static const int nL049 = 13;
144  static const int nL050 = 13; // (6)
145  static const int nL051 = 13;
146  static const int nL052 = 13;
147  static const int nL053 = 13;
148  static const int nL054 = 14;
149  static const int nL055 = 14;
150  static const int nL056 = 14; // (5)
151  static const int nL057 = 14;
152  static const int nL058 = 14;
153  static const int nL059 = 15;
154  static const int nL060 = 15;
155  static const int nL061 = 15; // (6)
156  static const int nL062 = 15;
157  static const int nL063 = 15;
158  static const int nL064 = 15;
159  static const int nL065 = 16;
160  static const int nL066 = 16;
161  static const int nL067 = 16; // (6)
162  static const int nL068 = 16;
163  static const int nL069 = 16;
164  static const int nL070 = 16;
165  static const int nL071 = 17;
166  static const int nL072 = 17;
167  static const int nL073 = 17; // (5)
168  static const int nL074 = 17;
169  static const int nL075 = 17;
170  static const int nL076 = 18;
171  static const int nL077 = 18;
172  static const int nL078 = 18; // (6)
173  static const int nL079 = 18;
174  static const int nL080 = 18;
175  static const int nL081 = 18;
176  static const int nL082 = 19;
177  static const int nL083 = 19; // (6)
178  static const int nL084 = 19;
179  static const int nL085 = 19;
180  static const int nL086 = 19;
181  static const int nL087 = 19;
182  static const int nL088 = 20;
183  static const int nL089 = 20;
184  static const int nL090 = 20; // (5)
185  static const int nL091 = 20;
186  static const int nL092 = 20;
187  static const int nL093 = 21;
188  static const int nL094 = 21;
189  static const int nL095 = 21; // (6)
190  static const int nL096 = 21;
191  static const int nL097 = 21;
192  static const int nL098 = 21;
193  static const int nL099 = 22;
194  static const int nL100 = 22;
195  static const int nL101 = 22; // (6)
196  static const int nL102 = 22;
197  static const int nL103 = 22;
198  static const int nL104 = 22;
199  static const int nL105 = 23;
200  static const int nL106 = 23;
201  static const int nL107 = 23; // (5)
202  static const int nL108 = 23;
203  static const int nL109 = 23;
204  static const int nL110 = 24;
205  static const int nL111 = 24;
206  static const int nL112 = 24; // (6)
207  static const int nL113 = 24;
208  static const int nL114 = 24;
209  static const int nL115 = 24;
210  static const int nL116 = 25;
211  static const int nL117 = 25;
212  static const int nL118 = 25; // (6)
213  static const int nL119 = 25;
214  static const int nL120 = 25;
215  static const int nL121 = 25;
216  static const int nL122 = 26;
217  static const int nL123 = 26;
218  static const int nL124 = 26; // (5)
219  static const int nL125 = 26;
220  static const int nL126 = 26;
221  static const int nL127 = 27;
222  static const int nL128 = 27;
223  static const int nL129 = 27; // (6)
224  static const int nL130 = 27;
225  static const int nL131 = 27;
226  static const int nL132 = 27;
227  static const int nL133 = 28;
228  static const int nL134 = 28;
229  static const int nL135 = 28; // (6)
230  static const int nL136 = 28;
231  static const int nL137 = 28;
232  static const int nL138 = 28;
233  static const int nL139 = 29;
234  static const int nL140 = 29;
235  static const int nL141 = 29; // (5)
236  static const int nL142 = 29;
237  static const int nL143 = 29;
238  static const int nL144 = 30;
239  static const int nL145 = 30;
240  static const int nL146 = 30; // (6)
241  static const int nL147 = 30;
242  static const int nL148 = 30;
243  static const int nL149 = 30;
244  static const int nL150 = 31;
245  static const int nL151 = 31;
246  static const int nL152 = 31; // (6)
247  static const int nL153 = 31;
248  static const int nL154 = 31;
249  static const int nL155 = 31;
250  static const int nL156 = 32;
251  static const int nL157 = 32; // (5)
252  static const int nL158 = 32;
253  static const int nL159 = 32;
254  static const int nL160 = 32;
255  static const int nL161 = 33;
256  static const int nL162 = 33; // (6)
257  static const int nL163 = 33;
258  static const int nL164 = 33;
259  static const int nL165 = 33;
260  static const int nL166 = 33;
261  static const int nL167 = 34;
262  static const int nL168 = 34;
263  static const int nL169 = 34; // (6)
264  static const int nL170 = 34;
265  static const int nL171 = 34;
266  static const int nL172 = 34;
267  static const int nL173 = 35;
268  static const int nL174 = 35;
269  static const int nL175 = 35; // (5)
270  static const int nL176 = 35;
271  static const int nL177 = 35;
272  static const int nL178 = 36;
273  static const int nL179 = 36;
274  static const int nL180 = 36; // (6)
275  static const int nL181 = 36;
276  static const int nL182 = 36;
277  static const int nL183 = 36;
278  static const int nL184 = 37;
279  static const int nL185 = 37;
280  static const int nL186 = 37; // (6)
281  static const int nL187 = 37;
282  static const int nL188 = 37;
283  static const int nL189 = 37;
284  static const int nL190 = 38;
285  static const int nL191 = 38;
286  static const int nL192 = 38; // (5)
287  static const int nL193 = 38;
288  static const int nL194 = 38;
289  static const int nL195 = 39;
290  static const int nL196 = 39;
291  static const int nL197 = 39;
292  static const int nL198 = 39; // (6)
293  static const int nL199 = 39;
294  static const int nL200 = 39;
295  static const int nL201 = 40;
296  static const int nL202 = 40;
297  static const int nL203 = 40; // (6)
298  static const int nL204 = 40;
299  static const int nL205 = 40;
300  static const int nL206 = 40;
301  static const int nL207 = 41;
302  static const int nL208 = 41;
303  static const int nL209 = 41; // (5)
304  static const int nL210 = 41;
305  static const int nL211 = 41;
306  static const int nL212 = 42;
307  static const int nL213 = 42;
308  static const int nL214 = 42;
309  static const int nL215 = 42; // (6)
310  static const int nL216 = 42;
311  static const int nL217 = 42;
312  static const int nL218 = 43;
313  static const int nL219 = 43;
314  static const int nL220 = 43; // (6)
315  static const int nL221 = 43;
316  static const int nL222 = 43;
317  static const int nL223 = 43;
318  static const int nL224 = 44;
319  static const int nL225 = 44;
320  static const int nL226 = 44; // (5)
321  static const int nL227 = 44;
322  static const int nL228 = 44;
323  static const int nL229 = 45;
324  static const int nL230 = 45;
325  static const int nL231 = 45; // (5+1=6)
326  static const int nL232 = 45;
327  static const int nL233 = 45;
328  //------------------------------------------------------------------------------------
329  // Mean numbers of fibers in the layer is used. In some widgets it's bigger ***
330  // (if the fiber passed throug the hole closer to the edge) and sometimes it ***
331  // is smaller (if in some holes of the layer fibers did not pass throug). ***
332  // The real presence of fibers in the holes is now unknown (not documented), ***
333  // but the narrow electron showers can be used for revealing of the missing ***
334  // or additional fibers in the widget, because the missing fibers reduce the ***
335  // response and additional fibers increas it. So the tables can be improved ***
336  // to be individual for widgets and the FXX/BXX sources-tables can be used. ***
337  // ********************** M.Kosov, Mikhail.Kosssov@cern.ch *********************
338  // NNI, NN=tower#(1-24), i=0: dead; i=1: E(L); i=2: H(S); i=3: ESource; i=4: HSource
339  static const int tR001[nL001] = {132, 131, 132, 131}; // Left Part of the widget (-phi)
340  static const int tR002[nL002] = {131, 132, 131, 132};
341  static const int tR003[nL003] = {132, 131, 132, 131, 132};
342  static const int tR004[nL004] = {133, 132, 131, 132, 131}; // (5)
343  static const int tR005[nL005] = {132, 131, 132, 131, 132};
344  static const int tR006[nL006] = {131, 132, 131, 132, 131};
345  static const int tR007[nL007] = {132, 131, 132, 131, 132};
346  static const int tR008[nL008] = {131, 132, 131, 132, 131, 132}; // _______________________13_
347  static const int tR009[nL009] = {122, 121, 122, 121, 122, 121};
348  static const int tR010[nL010] = {121, 122, 121, 122, 123, 122}; // (6) (A)
349  static const int tR011[nL011] = {122, 121, 122, 121, 122, 121};
350  static const int tR012[nL012] = {121, 122, 121, 122, 121, 122};
351  static const int tR013[nL013] = {122, 121, 122, 121, 122, 121};
352  static const int tR014[nL014] = {121, 122, 121, 122, 121, 122, 121}; //____________________12_
353  static const int tR015[nL015] = {122, 121, 242, 241, 242, 241, 242}; // (6)
354  static const int tR016[nL016] = {241, 242, 241, 242, 241, 242, 241};
355  static const int tR017[nL017] = {242, 241, 242, 241, 242, 241, 242};
356  static const int tR018[nL018] = {241, 242, 241, 242, 243, 242, 241};
357  static const int tR019[nL019] = {242, 241, 242, 241, 242, 241, 242};
358  static const int tR020[nL020] = {241, 242, 241, 242, 241, 242, 241, 242};
359  static const int tR021[nL021] = {242, 241, 242, 241, 242, 241, 242, 241}; // (5)
360  static const int tR022[nL022] = {241, 242, 241, 242, 241, 242, 241, 242}; //________________24_
361  static const int tR023[nL023] = {232, 231, 232, 231, 232, 231, 232, 231};
362  static const int tR024[nL024] = {231, 232, 231, 232, 231, 232, 231, 232};
363  static const int tR025[nL025] = {232, 231, 232, 231, 232, 231, 232, 231, 232};
364  static const int tR026[nL026] = {231, 232, 231, 232, 233, 232, 231, 232, 231};
365  static const int tR027[nL027] = {232, 231, 232, 231, 232, 231, 232, 231, 232}; // (6)
366  static const int tR028[nL028] = {231, 232, 231, 232, 231, 232, 231, 232, 231};
367  static const int tR029[nL029] = {232, 231, 232, 231, 232, 231, 232, 231, 232};
368  static const int tR030[nL030] = {231, 232, 231, 232, 231, 232, 231, 232, 231};
369  static const int tR031[nL031] = {232, 231, 232, 231, 232, 231, 232, 231, 232, 231}; //________23_
370  static const int tR032[nL032] = {231, 232, 231, 222, 221, 222, 221, 222, 221, 222};
371  static const int tR033[nL033] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221}; // (6)
372  static const int tR034[nL034] = {221, 222, 221, 222, 221, 222, 221, 222, 221, 222};
373  static const int tR035[nL035] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221};
374  static const int tR036[nL036] = {221, 222, 221, 222, 223, 222, 221, 222, 221, 222};
375  static const int tR037[nL037] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221, 222};
376  static const int tR038[nL038] = {221, 222, 221, 222, 221, 222, 221, 222, 221, 222, 221};
377  static const int tR039[nL039] = {222, 221, 222, 221, 222, 221, 222, 221, 222, 221, 222}; // (5)
378  static const int tR040[nL040] = {221, 222, 221, 222, 221, 222, 221, 222, 221, 222, 221}; //_____22_
379  static const int tR041[nL041] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
380  static const int tR042[nL042] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
381  static const int tR043[nL043] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
382  static const int tR044[nL044] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
383  static const int tR045[nL045] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211}; //(6)
384  static const int tR046[nL046] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
385  static const int tR047[nL047] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
386  static const int tR048[nL048] = {211, 212, 211, 212, 211, 212, 211, 214, 211, 212, 211, 212, 211};
387  static const int tR049[nL049] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
388  static const int tR050[nL050] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
389  static const int tR051[nL051] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212}; //(6)
390  static const int tR052[nL052] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
391  static const int tR053[nL053] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
392  static const int tR054[nL054] = {211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212};
393  static const int tR055[nL055] = {212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211, 212, 211};
394  // _______________________________________________________________________________21_ (5)
395  static const int tR056[nL056] = {211, 212, 211, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
396  static const int tR057[nL057] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
397  static const int tR058[nL058] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
398  static const int tR059[nL059] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
399  static const int tR060[nL060] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
400  static const int tR061[nL061] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202}; // (6)
401  static const int tR062[nL062] = {201, 202, 201, 202, 201, 202, 201, 204, 201, 202, 201, 202, 201, 202, 201};
402  static const int tR063[nL063] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
403  static const int tR064[nL064] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
404  static const int tR065[nL065] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
405  static const int tR066[nL066] = {
406  201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202}; // (6)
407  static const int tR067[nL067] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
408  static const int tR068[nL068] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
409  static const int tR069[nL069] = {202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201};
410  static const int tR070[nL070] = {201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202, 201, 202};
411  static const int tR071[nL071] = {202,
412  201,
413  202,
414  201,
415  202,
416  201,
417  202,
418  201,
419  202,
420  201,
421  192,
422  191,
423  192,
424  191,
425  192,
426  191,
427  192}; // ___________________________________20_
428  static const int tR072[nL072] = {191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
429  static const int tR073[nL073] = {
430  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192}; // (5)
431  static const int tR074[nL074] = {191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
432  static const int tR075[nL075] = {192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
433  static const int tR076[nL076] = {
434  191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
435  static const int tR077[nL077] = {
436  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
437  static const int tR078[nL078] = {
438  191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192}; // (6)
439  static const int tR079[nL079] = {
440  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
441  static const int tR080[nL080] = {
442  191, 192, 191, 192, 191, 192, 191, 194, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
443  static const int tR081[nL081] = {
444  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
445  static const int tR082[nL082] = {
446  191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
447  static const int tR083[nL083] = {
448  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
449  static const int tR084[nL084] = {
450  191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191}; // (6)
451  static const int tR085[nL085] = {
452  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
453  static const int tR086[nL086] = {
454  191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191};
455  static const int tR087[nL087] = {
456  192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192, 191, 192};
457  static const int tR088[nL088] = {191, 192, 191, 192, 191, 192, 191, 192, 191, 192,
458  191, 192, 191, 192, 191, 192, 181, 182, 181, 182}; // _______________________19_
459  // ------------------------------------------------------------------------------------
460  static const int tR089[nL089] = {192, 191, 192, 191, 182, 181, 182, 181, 182, 181,
461  182, 181, 182, 181, 182, 181, 182, 181, 182, 181}; // (5)
462  static const int tR090[nL090] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
463  181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
464  static const int tR091[nL091] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
465  182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
466  static const int tR092[nL092] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
467  181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
468  static const int tR093[nL093] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
469  181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
470  static const int tR094[nL094] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
471  182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
472  static const int tR095[nL095] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
473  181, 182, 181, 182, 181, 182, 181, 182, 181, 182}; // (6)
474  static const int tR096[nL096] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
475  182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
476  static const int tR097[nL097] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
477  181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
478  static const int tR098[nL098] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
479  182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
480  static const int tR099[nL099] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
481  181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
482  static const int tR100[nL100] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
483  182, 183, 182, 181, 182, 181, 182, 181, 182, 181, 182}; // (6)
484  static const int tR101[nL101] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
485  181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
486  static const int tR102[nL102] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
487  182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
488  static const int tR103[nL103] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
489  181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
490  static const int tR104[nL104] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
491  182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
492  static const int tR105[nL105] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
493  182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
494  static const int tR106[nL106] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
495  181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
496  static const int tR107[nL107] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
497  182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182}; // (5)
498  static const int tR108[nL108] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
499  181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181};
500  static const int tR109[nL109] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
501  182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
502  static const int tR110[nL110] = {181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182,
503  181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182};
504  static const int tR111[nL111] = {182, 181, 182, 181, 182, 181, 182, 181, 182, 181, 182, 181,
505  182, 181, 182, 181, 182, 171, 172, 171, 172, 171, 172, 171}; // _________4_
506  static const int tR112[nL112] = {181, 182, 181, 182, 171, 172, 171, 172, 171, 172, 171, 172,
507  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172}; // (6)
508  static const int tR113[nL113] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
509  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
510  static const int tR114[nL114] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
511  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
512  static const int tR115[nL115] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
513  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
514  static const int tR116[nL116] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
515  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
516  static const int tR117[nL117] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
517  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
518  static const int tR118[nL118] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
519  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
520  static const int tR119[nL119] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
521  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172}; // (6)
522  static const int tR120[nL120] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
523  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
524  static const int tR121[nL121] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
525  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
526  static const int tR122[nL122] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
527  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
528  static const int tR123[nL123] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
529  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
530  static const int tR124[nL124] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 173,
531  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172}; // (5)
532  static const int tR125[nL125] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
533  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
534  static const int tR126[nL126] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
535  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
536  static const int tR127[nL127] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
537  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
538  static const int tR128[nL128] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
539  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
540  static const int tR129[nL129] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
541  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
542  static const int tR130[nL130] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
543  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171}; //(6)
544  static const int tR131[nL131] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
545  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
546  static const int tR132[nL132] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
547  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
548  static const int tR133[nL133] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
549  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
550  static const int tR134[nL134] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
551  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
552  static const int tR135[nL135] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
553  172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171};
554  static const int tR136[nL136] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172,
555  171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172};
556  static const int tR137[nL137] = {172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171,
557  172, 171, 172, 171, 172, 171, 172, 171, 162, 161, 162, 161, 162, 161};
558  // ____________________________________________________________________________(6)___3_
559  static const int tR138[nL138] = {171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 171, 172, 161, 162,
560  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
561  static const int tR139[nL139] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
562  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
563  static const int tR140[nL140] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
564  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
565  static const int tR141[nL141] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
566  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162}; // (5)
567  static const int tR142[nL142] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
568  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
569  static const int tR143[nL143] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
570  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
571  static const int tR144[nL144] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
572  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
573  static const int tR145[nL145] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
574  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
575  static const int tR146[nL146] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
576  162, 163, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
577  static const int tR147[nL147] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
578  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161}; // (6)
579  static const int tR148[nL148] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
580  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
581  static const int tR149[nL149] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
582  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
583  static const int tR150[nL150] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
584  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
585  static const int tR151[nL151] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
586  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
587  static const int tR152[nL152] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
588  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161}; // (6)
589  static const int tR153[nL153] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
590  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
591  static const int tR154[nL154] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
592  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
593  static const int tR155[nL155] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
594  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
595  static const int tR156[nL156] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
596  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
597  static const int tR157[nL157] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
598  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
599  static const int tR158[nL158] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
600  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162}; // (5)
601  static const int tR159[nL159] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
602  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
603  static const int tR160[nL160] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
604  163, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
605  static const int tR161[nL161] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
606  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
607  static const int tR162[nL162] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
608  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
609  static const int tR163[nL163] = {
610  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
611  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162}; // (6)
612  static const int tR164[nL164] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
613  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
614  static const int tR165[nL165] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
615  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162};
616  static const int tR166[nL166] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
617  162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
618  static const int tR167[nL167] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
619  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161};
620  static const int tR168[nL168] = {161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
621  161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162,
622  161, 162, 161, 152, 151, 152, 151, 152, 151, 152}; // _________________________2_
623  static const int tR169[nL169] = {162, 161, 162, 161, 162, 161, 162, 161, 162, 161, 162, 161,
624  162, 161, 162, 161, 162, 161, 152, 151, 152, 151, 152, 151,
625  152, 151, 152, 151, 152, 151, 152, 151, 152, 151}; // (6)
626  static const int tR170[nL170] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
627  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
628  static const int tR171[nL171] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
629  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
630  static const int tR172[nL172] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
631  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
632  static const int tR173[nL173] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
633  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
634  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
635  static const int tR174[nL174] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
636  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
637  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
638  static const int tR175[nL175] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
639  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
640  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152}; // (5)
641  static const int tR176[nL176] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
642  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
643  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
644  static const int tR177[nL177] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
645  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
646  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
647  static const int tR178[nL178] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
648  151, 152, 151, 152, 153, 152, 151, 152, 151, 152, 151, 152,
649  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
650  static const int tR179[nL179] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
651  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
652  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
653  static const int tR180[nL180] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
654  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
655  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152}; // (6)
656  static const int tR181[nL181] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
657  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
658  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
659  static const int tR182[nL182] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
660  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
661  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
662  static const int tR183[nL183] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
663  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
664  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
665  static const int tR184[nL184] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
666  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
667  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
668  static const int tR185[nL185] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
669  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
670  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
671  static const int tR186[nL186] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
672  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
673  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
674  static const int tR187[nL187] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
675  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
676  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152}; // (6)
677  static const int tR188[nL188] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
678  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
679  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
680  static const int tR189[nL189] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
681  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
682  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
683  static const int tR190[nL190] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
684  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
685  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
686  static const int tR191[nL191] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
687  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
688  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
689  static const int tR192[nL192] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
690  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
691  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152}; // (5)
692  static const int tR193[nL193] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
693  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
694  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
695  static const int tR194[nL194] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
696  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
697  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
698  static const int tR195[nL195] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
699  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
700  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
701  static const int tR196[nL196] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
702  152, 151, 152, 151, 152, 151, 152, 153, 152, 151, 152, 151, 152,
703  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
704  static const int tR197[nL197] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
705  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
706  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152}; // (6)
707  static const int tR198[nL198] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
708  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
709  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
710  static const int tR199[nL199] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
711  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
712  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
713  static const int tR200[nL200] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
714  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
715  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
716  static const int tR201[nL201] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
717  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
718  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151};
719  static const int tR202[nL202] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
720  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
721  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
722  static const int tR203[nL203] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
723  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
724  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151}; //(6)
725  static const int tR204[nL204] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
726  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
727  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152};
728  static const int tR205[nL205] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
729  152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151,
730  152, 151, 152, 151, 142, 141, 142, 141, 142, 141, 142, 141};
731  static const int tR206[nL206] = {151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152,
732  151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 141, 142, 141, 142,
733  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142}; //__1_
734  static const int tR207[nL207] = {152, 151, 152, 151, 152, 151, 152, 151, 152, 151, 152, 141, 142, 141,
735  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
736  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
737  static const int tR208[nL208] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
738  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
739  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
740  static const int tR209[nL209] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
741  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
742  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142}; //(5)
743  static const int tR210[nL210] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
744  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
745  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
746  static const int tR211[nL211] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
747  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
748  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
749  static const int tR212[nL212] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
750  141, 142, 141, 142, 141, 142, 143, 142, 141, 142, 141, 142, 141, 142,
751  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
752  static const int tR213[nL213] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
753  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
754  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
755  static const int tR214[nL214] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
756  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
757  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
758  static const int tR215[nL215] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
759  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
760  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
761  static const int tR216[nL216] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
762  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
763  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
764  static const int tR217[nL217] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
765  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
766  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
767  static const int tR218[nL218] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
768  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
769  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
770  static const int tR219[nL219] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
771  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
772  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
773  static const int tR220[nL220] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
774  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
775  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
776  static const int tR221[nL221] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
777  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
778  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142}; // (6)
779  static const int tR222[nL222] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
780  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
781  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
782  static const int tR223[nL223] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
783  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
784  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
785  static const int tR224[nL224] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
786  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
787  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
788  static const int tR225[nL225] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
789  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
790  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
791  static const int tR226[nL226] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
792  142, 141, 142, 141, 142, 143, 142, 141, 142, 141, 142, 141, 142, 141, 142,
793  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142}; // (5)
794  static const int tR227[nL227] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
795  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
796  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
797  static const int tR228[nL228] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
798  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
799  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
800  static const int tR229[nL229] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
801  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
802  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142};
803  static const int tR230[nL230] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
804  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
805  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141};
806  static const int tR231[nL231] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
807  141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
808  142, 141, 142, 141, 142, 141, 142, 141, 142, 0, 0, 0, 0, 0, 0}; // (5+1=6)
809  static const int tR232[nL232] = {141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141,
810  142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
811  141, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
812  static const int tR233[nL233] = {142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, 142,
813  141, 142, 141, 142, 141, 142, 141, 0, 0, 0, 0, 0, 0, 0, 0,
814  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
815  //------------------------------------------------------------------------------------
816  static const int tL001[nL001] = {131, 132, 131, 132}; // Left Part of the widget (-phi)
817  static const int tL002[nL002] = {132, 131, 132, 131};
818  static const int tL003[nL003] = {131, 132, 131, 132, 131};
819  static const int tL004[nL004] = {132, 131, 132, 131, 132}; // (5)
820  static const int tL005[nL005] = {131, 132, 131, 132, 131};
821  static const int tL006[nL006] = {132, 131, 132, 131, 132};
822  static const int tL007[nL007] = {131, 132, 131, 132, 131};
823  static const int tL008[nL008] = {132, 131, 132, 131, 132, 131}; // ______________________13_
824  static const int tL009[nL009] = {121, 122, 121, 122, 121, 122};
825  static const int tL010[nL010] = {122, 121, 122, 121, 124, 121};
826  static const int tL011[nL011] = {121, 122, 121, 122, 121, 122}; // (6) (B)
827  static const int tL012[nL012] = {122, 121, 122, 121, 122, 121};
828  static const int tL013[nL013] = {121, 122, 121, 122, 121, 122};
829  static const int tL014[nL014] = {122, 121, 122, 121, 122, 121, 122}; //___________________12_
830  static const int tL015[nL015] = {121, 122, 111, 112, 111, 112, 111};
831  static const int tL016[nL016] = {112, 111, 112, 111, 112, 111, 112};
832  static const int tL017[nL017] = {111, 112, 111, 112, 111, 112, 111}; // (6)
833  static const int tL018[nL018] = {112, 111, 112, 111, 114, 111, 112};
834  static const int tL019[nL019] = {111, 112, 111, 112, 111, 112, 111};
835  static const int tL020[nL020] = {112, 111, 112, 111, 112, 111, 112, 111};
836  static const int tL021[nL021] = {111, 112, 111, 112, 111, 112, 111, 112}; // (5)
837  static const int tL022[nL022] = {112, 111, 112, 111, 112, 111, 112, 111}; //_______________11_
838  static const int tL023[nL023] = {101, 102, 101, 102, 101, 102, 101, 102};
839  static const int tL024[nL024] = {102, 101, 102, 101, 102, 101, 102, 101};
840  static const int tL025[nL025] = {101, 102, 101, 102, 101, 102, 101, 102, 101};
841  static const int tL026[nL026] = {102, 101, 102, 101, 104, 101, 102, 101, 102};
842  static const int tL027[nL027] = {101, 102, 101, 102, 101, 102, 101, 102, 101}; // (6)
843  static const int tL028[nL028] = {102, 101, 102, 101, 102, 101, 102, 101, 102};
844  static const int tL029[nL029] = {101, 102, 101, 102, 101, 102, 101, 102, 101};
845  static const int tL030[nL030] = {102, 101, 102, 101, 102, 101, 102, 101, 102};
846  static const int tL031[nL031] = {101, 102, 101, 102, 101, 102, 101, 102, 101, 102}; //_______10_
847  static const int tL032[nL032] = {102, 101, 102, 91, 92, 91, 92, 91, 92, 91};
848  static const int tL033[nL033] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92}; // (6)
849  static const int tL034[nL034] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
850  static const int tL035[nL035] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
851  static const int tL036[nL036] = {92, 91, 92, 91, 94, 91, 92, 91, 92, 91};
852  static const int tL037[nL037] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
853  static const int tL038[nL038] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
854  static const int tL039[nL039] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91}; // (5)
855  static const int tL040[nL040] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92};
856  static const int tL041[nL041] = {91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91};
857  static const int tL042[nL042] = {92, 91, 92, 91, 92, 91, 92, 91, 92, 91, 92, 91}; //_9_
858  static const int tL043[nL043] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
859  static const int tL044[nL044] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
860  static const int tL045[nL045] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82}; //(6)
861  static const int tL046[nL046] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
862  static const int tL047[nL047] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
863  static const int tL048[nL048] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
864  static const int tL049[nL049] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
865  static const int tL050[nL050] = {82, 81, 82, 81, 82, 81, 82, 81, 84, 81, 82, 81, 82}; //(6)
866  static const int tL051[nL051] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
867  static const int tL052[nL052] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
868  static const int tL053[nL053] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
869  static const int tL054[nL054] = {82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81};
870  static const int tL055[nL055] = {81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82, 81, 82};
871  // ________________________________________________________________________________8_ (5)
872  static const int tL056[nL056] = {82, 81, 82, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
873  static const int tL057[nL057] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
874  static const int tL058[nL058] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
875  static const int tL059[nL059] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
876  static const int tL060[nL060] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
877  static const int tL061[nL061] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71}; // (6)
878  static const int tL062[nL062] = {72, 71, 72, 71, 72, 71, 72, 71, 74, 71, 72, 71, 72, 71, 71};
879  static const int tL063[nL063] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
880  static const int tL064[nL064] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
881  static const int tL065[nL065] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
882  static const int tL066[nL066] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71}; // (6)
883  static const int tL067[nL067] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
884  static const int tL068[nL068] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
885  static const int tL069[nL069] = {71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72};
886  static const int tL070[nL070] = {72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 71};
887  static const int tL071[nL071] = {
888  71, 72, 71, 72, 71, 72, 71, 72, 71, 72, 61, 62, 61, 62, 61, 62, 61}; // _____________________________________7_
889  static const int tL072[nL072] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
890  static const int tL073[nL073] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61}; // (5)
891  static const int tL074[nL074] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
892  static const int tL075[nL075] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
893  static const int tL076[nL076] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
894  static const int tL077[nL077] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
895  static const int tL078[nL078] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61}; // (6)
896  static const int tL079[nL079] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
897  static const int tL080[nL080] = {62, 61, 62, 61, 62, 61, 62, 61, 64, 61, 62, 61, 62, 61, 62, 61, 62, 61};
898  static const int tL081[nL081] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
899  static const int tL082[nL082] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
900  static const int tL083[nL083] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61}; // (6)
901  static const int tL084[nL084] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
902  static const int tL085[nL085] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
903  static const int tL086[nL086] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62};
904  static const int tL087[nL087] = {61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61};
905  static const int tL088[nL088] = {62, 61, 62, 61, 62, 61, 62, 61, 62, 61,
906  62, 61, 62, 61, 62, 61, 52, 51, 52, 51}; // _________________________6_
907  //-------------------------------------------------------------------------------------
908  static const int tL089[nL089] = {61, 62, 61, 62, 51, 52, 51, 52, 51, 52,
909  51, 52, 51, 52, 51, 52, 51, 52, 51, 52}; // (5)
910  static const int tL090[nL090] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
911  static const int tL091[nL091] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
912  static const int tL092[nL092] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
913  static const int tL093[nL093] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
914  static const int tL094[nL094] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
915  static const int tL095[nL095] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
916  52, 51, 52, 51, 52, 51, 52, 51, 52, 51}; // (6)
917  static const int tL096[nL096] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
918  static const int tL097[nL097] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
919  static const int tL098[nL098] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
920  static const int tL099[nL099] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
921  52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
922  static const int tL100[nL100] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
923  53, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51}; // (6)
924  static const int tL101[nL101] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
925  52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
926  static const int tL102[nL102] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
927  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
928  static const int tL103[nL103] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
929  52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
930  static const int tL104[nL104] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
931  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
932  static const int tL105[nL105] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
933  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
934  static const int tL106[nL106] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
935  52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
936  static const int tL107[nL107] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
937  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51}; // (5)
938  static const int tL108[nL108] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
939  52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52};
940  static const int tL109[nL109] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
941  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
942  static const int tL110[nL110] = {52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51,
943  52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51};
944  static const int tL111[nL111] = {51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
945  51, 52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42}; // _________4_
946  static const int tL112[nL112] = {52, 51, 52, 51, 42, 41, 42, 41, 42, 41, 42, 41,
947  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (6)
948  static const int tL113[nL113] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
949  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
950  static const int tL114[nL114] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
951  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
952  static const int tL115[nL115] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
953  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
954  static const int tL116[nL116] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
955  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
956  static const int tL117[nL117] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
957  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
958  static const int tL118[nL118] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
959  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
960  static const int tL119[nL119] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
961  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (6)
962  static const int tL120[nL120] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
963  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
964  static const int tL121[nL121] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
965  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
966  static const int tL122[nL122] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
967  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
968  static const int tL123[nL123] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
969  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
970  static const int tL124[nL124] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 43, 42,
971  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41}; // (5)
972  static const int tL125[nL125] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
973  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
974  static const int tL126[nL126] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
975  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
976  static const int tL127[nL127] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
977  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
978  static const int tL128[nL128] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
979  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
980  static const int tL129[nL129] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
981  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
982  static const int tL130[nL130] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
983  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42}; //(6)
984  static const int tL131[nL131] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
985  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
986  static const int tL132[nL132] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
987  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
988  static const int tL133[nL133] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
989  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
990  static const int tL134[nL134] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
991  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
992  static const int tL135[nL135] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
993  41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42};
994  static const int tL136[nL136] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
995  42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41};
996  static const int tL137[nL137] = {41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
997  41, 42, 41, 42, 41, 42, 41, 42, 31, 32, 31, 32, 31, 32};
998  // ____________________________________________________________________________(6)___3_
999  static const int tL138[nL138] = {42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 32, 31,
1000  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1001  static const int tL139[nL139] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1002  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1003  static const int tL140[nL140] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1004  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1005  static const int tL141[nL141] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1006  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31}; // (5)
1007  static const int tL142[nL142] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1008  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1009  static const int tL143[nL143] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1010  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1011  static const int tL144[nL144] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1012  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1013  static const int tL145[nL145] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1014  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1015  static const int tL146[nL146] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1016  33, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1017  static const int tL147[nL147] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1018  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32}; // (6)
1019  static const int tL148[nL148] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1020  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1021  static const int tL149[nL149] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1022  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1023  static const int tL150[nL150] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1024  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1025  static const int tL151[nL151] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1026  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1027  static const int tL152[nL152] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1028  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32}; // (6)
1029  static const int tL153[nL153] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1030  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1031  static const int tL154[nL154] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1032  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1033  static const int tL155[nL155] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1034  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1035  static const int tL156[nL156] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1036  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1037  static const int tL157[nL157] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1038  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1039  static const int tL158[nL158] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1040  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31}; // (5)
1041  static const int tL159[nL159] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1042  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1043  static const int tL160[nL160] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 33,
1044  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1045  static const int tL161[nL161] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1046  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1047  static const int tL162[nL162] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1048  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1049  static const int tL163[nL163] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1050  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31}; // (6)
1051  static const int tL164[nL164] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1052  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1053  static const int tL165[nL165] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1054  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31};
1055  static const int tL166[nL166] = {32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1056  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1057  static const int tL167[nL167] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1058  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32};
1059  static const int tL168[nL168] = {
1060  32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
1061  31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 21, 22, 21, 22, 21, 22, 21}; // _________________________2_
1062  static const int tL169[nL169] = {31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31,
1063  32, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22}; // (6)
1064  static const int tL170[nL170] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1065  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1066  static const int tL171[nL171] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1067  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1068  static const int tL172[nL172] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1069  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1070  static const int tL173[nL173] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1071  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1072  static const int tL174[nL174] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1073  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1074  static const int tL175[nL175] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1075  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (5)
1076  static const int tL176[nL176] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1077  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1078  static const int tL177[nL177] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1079  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1080  static const int tL178[nL178] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 23, 22, 21,
1081  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1082  static const int tL179[nL179] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1083  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1084  static const int tL180[nL180] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1085  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
1086  static const int tL181[nL181] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1087  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1088  static const int tL182[nL182] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1089  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1090  static const int tL183[nL183] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1091  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1092  static const int tL184[nL184] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1093  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1094  static const int tL185[nL185] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1095  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1096  static const int tL186[nL186] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1097  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1098  static const int tL187[nL187] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1099  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
1100  static const int tL188[nL188] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1101  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1102  static const int tL189[nL189] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1103  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1104  static const int tL190[nL190] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1105  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1106  static const int tL191[nL191] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1107  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1108  static const int tL192[nL192] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1109  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (5)
1110  static const int tL193[nL193] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1111  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1112  static const int tL194[nL194] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1113  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1114  static const int tL195[nL195] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1115  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1116  static const int tL196[nL196] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 23,
1117  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1118  static const int tL197[nL197] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1119  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21}; // (6)
1120  static const int tL198[nL198] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1121  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1122  static const int tL199[nL199] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1123  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1124  static const int tL200[nL200] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1125  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1126  static const int tL201[nL201] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1127  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22};
1128  static const int tL202[nL202] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1129  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1130  static const int tL203[nL203] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1131  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22}; //(6)
1132  static const int tL204[nL204] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21,
1133  22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21};
1134  static const int tL205[nL205] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1135  21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 11, 12, 11, 12, 11, 12, 11, 12};
1136  static const int tL206[nL206] = {22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22,
1137  21, 22, 21, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11}; //__1_
1138  static const int tL207[nL207] = {21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1139  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1140  static const int tL208[nL208] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1141  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1142  static const int tL209[nL209] = {
1143  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1144  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11}; //(5)
1145  static const int tL210[nL210] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1146  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1147  static const int tL211[nL211] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1148  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1149  static const int tL212[nL212] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 13, 12,
1150  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1151  static const int tL213[nL213] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1152  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1153  static const int tL214[nL214] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1154  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1155  static const int tL215[nL215] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1156  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1157  static const int tL216[nL216] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1158  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1159  static const int tL217[nL217] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1160  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1161  static const int tL218[nL218] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1162  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1163  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1164  static const int tL219[nL219] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1165  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1166  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1167  static const int tL220[nL220] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1168  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1169  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1170  static const int tL221[nL221] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1171  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1172  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11}; // (6)
1173  static const int tL222[nL222] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1174  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1175  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1176  static const int tL223[nL223] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1177  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1178  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1179  static const int tL224[nL224] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1180  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1181  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1182  static const int tL225[nL225] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1183  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1184  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1185  static const int tL226[nL226] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1186  11, 12, 11, 12, 13, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1187  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11}; // (5)
1188  static const int tL227[nL227] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1189  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1190  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1191  static const int tL228[nL228] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1192  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1193  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1194  static const int tL229[nL229] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1195  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1196  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11};
1197  static const int tL230[nL230] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1198  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1199  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12};
1200  static const int tL231[nL231] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1201  12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1202  11, 12, 11, 12, 11, 12, 11, 12, 11, 0, 0, 0, 0, 0, 0}; // (5+1=6)
1203  static const int tL232[nL232] = {12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12,
1204  11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1205  12, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
1206  static const int tL233[nL233] = {11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11,
1207  12, 11, 12, 11, 12, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0,
1208  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
1209  static const int nSL[nLay] = {
1210  nL001, nL002, nL003, nL004, nL005, nL006, nL007, nL008, nL009, nL010, nL011, nL012, nL013, nL014, nL015, nL016,
1211  nL017, nL018, nL019, nL020, nL021, nL022, nL023, nL024, nL025, nL026, nL027, nL028, nL029, nL030, nL031, nL032,
1212  nL033, nL034, nL035, nL036, nL037, nL038, nL039, nL040, nL041, nL042, nL043, nL044, nL045, nL046, nL047, nL048,
1213  nL049, nL050, nL051, nL052, nL053, nL054, nL055, nL056, nL057, nL058, nL059, nL060, nL061, nL062, nL063, nL064,
1214  nL065, nL066, nL067, nL068, nL069, nL070, nL071, nL072, nL073, nL074, nL075, nL076, nL077, nL078, nL079, nL080,
1215  nL081, nL082, nL083, nL084, nL085, nL086, nL087, nL088, nL089, nL090, nL091, nL092, nL093, nL094, nL095, nL096,
1216  nL097, nL098, nL099, nL100, nL101, nL102, nL103, nL104, nL105, nL106, nL107, nL108, nL109, nL110, nL111, nL112,
1217  nL113, nL114, nL115, nL116, nL117, nL118, nL119, nL120, nL121, nL122, nL123, nL124, nL125, nL126, nL127, nL128,
1218  nL129, nL130, nL131, nL132, nL133, nL134, nL135, nL136, nL137, nL138, nL139, nL140, nL141, nL142, nL143, nL144,
1219  nL145, nL146, nL147, nL148, nL149, nL150, nL151, nL152, nL153, nL154, nL155, nL156, nL157, nL158, nL159, nL160,
1220  nL161, nL162, nL163, nL164, nL165, nL166, nL167, nL168, nL169, nL170, nL171, nL172, nL173, nL174, nL175, nL176,
1221  nL177, nL178, nL179, nL180, nL181, nL182, nL183, nL184, nL185, nL186, nL187, nL188, nL189, nL190, nL191, nL192,
1222  nL193, nL194, nL195, nL196, nL197, nL198, nL199, nL200, nL201, nL202, nL203, nL204, nL205, nL206, nL207, nL208,
1223  nL209, nL210, nL211, nL212, nL213, nL214, nL215, nL216, nL217, nL218, nL219, nL220, nL221, nL222, nL223, nL224,
1224  nL225, nL226, nL227, nL228, nL229, nL230, nL231, nL232, nL233};
1225  static const int* const nLT[nLay] = {
1226  tL001, tL002, tL003, tL004, tL005, tL006, tL007, tL008, tL009, tL010, tL011, tL012, tL013, tL014, tL015, tL016,
1227  tL017, tL018, tL019, tL020, tL021, tL022, tL023, tL024, tL025, tL026, tL027, tL028, tL029, tL030, tL031, tL032,
1228  tL033, tL034, tL035, tL036, tL037, tL038, tL039, tL040, tL041, tL042, tL043, tL044, tL045, tL046, tL047, tL048,
1229  tL049, tL050, tL051, tL052, tL053, tL054, tL055, tL056, tL057, tL058, tL059, tL060, tL061, tL062, tL063, tL064,
1230  tL065, tL066, tL067, tL068, tL069, tL070, tL071, tL072, tL073, tL074, tL075, tL076, tL077, tL078, tL079, tL080,
1231  tL081, tL082, tL083, tL084, tL085, tL086, tL087, tL088, tL089, tL090, tL091, tL092, tL093, tL094, tL095, tL096,
1232  tL097, tL098, tL099, tL100, tL101, tL102, tL103, tL104, tL105, tL106, tL107, tL108, tL109, tL110, tL111, tL112,
1233  tL113, tL114, tL115, tL116, tL117, tL118, tL119, tL120, tL121, tL122, tL123, tL124, tL125, tL126, tL127, tL128,
1234  tL129, tL130, tL131, tL132, tL133, tL134, tL135, tL136, tL137, tL138, tL139, tL140, tL141, tL142, tL143, tL144,
1235  tL145, tL146, tL147, tL148, tL149, tL150, tL151, tL152, tL153, tL154, tL155, tL156, tL157, tL158, tL159, tL160,
1236  tL161, tL162, tL163, tL164, tL165, tL166, tL167, tL168, tL169, tL170, tL171, tL172, tL173, tL174, tL175, tL176,
1237  tL177, tL178, tL179, tL180, tL181, tL182, tL183, tL184, tL185, tL186, tL187, tL188, tL189, tL190, tL191, tL192,
1238  tL193, tL194, tL195, tL196, tL197, tL198, tL199, tL200, tL201, tL202, tL203, tL204, tL205, tL206, tL207, tL208,
1239  tL209, tL210, tL211, tL212, tL213, tL214, tL215, tL216, tL217, tL218, tL219, tL220, tL221, tL222, tL223, tL224,
1240  tL225, tL226, tL227, tL228, tL229, tL230, tL231, tL232, tL233};
1241  static const int* const nRT[nLay] = {
1242  tR001, tR002, tR003, tR004, tR005, tR006, tR007, tR008, tR009, tR010, tR011, tR012, tR013, tR014, tR015, tR016,
1243  tR017, tR018, tR019, tR020, tR021, tR022, tR023, tR024, tR025, tR026, tR027, tR028, tR029, tR030, tR031, tR032,
1244  tR033, tR034, tR035, tR036, tR037, tR038, tR039, tR040, tR041, tR042, tR043, tR044, tR045, tR046, tR047, tR048,
1245  tR049, tR050, tR051, tR052, tR053, tR054, tR055, tR056, tR057, tR058, tR059, tR060, tR061, tR062, tR063, tR064,
1246  tR065, tR066, tR067, tR068, tR069, tR070, tR071, tR072, tR073, tR074, tR075, tR076, tR077, tR078, tR079, tR080,
1247  tR081, tR082, tR083, tR084, tR085, tR086, tR087, tR088, tR089, tR090, tR091, tR092, tR093, tR094, tR095, tR096,
1248  tR097, tR098, tR099, tR100, tR101, tR102, tR103, tR104, tR105, tR106, tR107, tR108, tR109, tR110, tR111, tR112,
1249  tR113, tR114, tR115, tR116, tR117, tR118, tR119, tR120, tR121, tR122, tR123, tR124, tR125, tR126, tR127, tR128,
1250  tR129, tR130, tR131, tR132, tR133, tR134, tR135, tR136, tR137, tR138, tR139, tR140, tR141, tR142, tR143, tR144,
1251  tR145, tR146, tR147, tR148, tR149, tR150, tR151, tR152, tR153, tR154, tR155, tR156, tR157, tR158, tR159, tR160,
1252  tR161, tR162, tR163, tR164, tR165, tR166, tR167, tR168, tR169, tR170, tR171, tR172, tR173, tR174, tR175, tR176,
1253  tR177, tR178, tR179, tR180, tR181, tR182, tR183, tR184, tR185, tR186, tR187, tR188, tR189, tR190, tR191, tR192,
1254  tR193, tR194, tR195, tR196, tR197, tR198, tR199, tR200, tR201, tR202, tR203, tR204, tR205, tR206, tR207, tR208,
1255  tR209, tR210, tR211, tR212, tR213, tR214, tR215, tR216, tR217, tR218, tR219, tR220, tR221, tR222, tR223, tR224,
1256  tR225, tR226, tR227, tR228, tR229, tR230, tR231, tR232, tR233};
1257 
1258  /*
1259  // The following are differences in the Source tube positions(not used so far)
1260  // *** At present for all widgets the F01 is used (@@ to be developed M.K.)
1261  static const int nS=31; // a # of the source tubes in the widget
1262  // 0 - H(Long), 1 - E(Short)
1263  // 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
1264  // 1 1 2 2 3 3 4 5 6 7 8 9 0 1 2 2 3 4 4 5 5 6 6 7 8 9 0 1 2 3 4
1265  // A B A B A B A B A B A B A B
1266  static const int F01[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1267  static const int F02[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1268  static const int F03[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0};
1269  static const int F04[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1270  static const int F05[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1271  static const int F06[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1272  static const int F07[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1273  static const int F08[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1274  static const int F09[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1275  static const int F10[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1276  static const int F11[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1277  static const int F12[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1278  static const int F13[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1279  static const int F14[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1280  static const int F15[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1281  static const int F16[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1282  static const int F17[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1283  static const int F18[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0};
1284 
1285  static const int B01[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1286  static const int B02[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1287  static const int B03[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1288  static const int B04[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1289  static const int B05[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1290  static const int B06[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1291  static const int B07[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1292  static const int B08[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1293  static const int B09[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1294  static const int B10[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1295  static const int B11[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1296  static const int B12[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1297  static const int B13[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1298  static const int B14[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1299  static const int B15[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1300  static const int B16[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1301  static const int B17[nS]={0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
1302  static const int B18[nS]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0};
1303  */
1304 
1305  static const double cellSize = 0.5 * CLHEP::cm; // 0.5 cm is the cell size
1306  if (!(xl > 0.))
1307  xl = -xl;
1308  double fx = xl / cellSize;
1309  int ny = static_cast<int>((yl - yMin) / cellSize); // Layer number (starting from 0)
1310  if (ny < 0 || ny >= nLay) { // Sould never happen as was checked beforehand
1311 #ifdef EDM_ML_DEBUG
1312  edm::LogVerbatim("HFShower") << "-Warning-HFFibreFiducial::PMTNumber: "
1313  << "check limits y = " << yl << ", nL=" << nLay;
1314 #endif
1315  return 0;
1316  }
1317  int nx = static_cast<int>(fx); // Cell number (starting from 0)
1318 #ifdef EDM_ML_DEBUG
1319  edm::LogVerbatim("HFShower") << "HFFibreFiducial::PMTNumber:X = " << xv << ", Y = " << yv << ", Z = " << pe_effect.z()
1320  << ", fX = " << fx << "-> nX = " << nx << ", nY = " << ny << ", mX = " << nSL[ny]
1321  << ", x = " << xl << ", y = " << yl << ", s = " << cellSize << ", nW = " << nwid
1322  << ", phi = " << phi / CLHEP::deg << ", phis = " << atan2(xl, yl) / CLHEP::deg
1323  << ", phir = " << phir / CLHEP::deg;
1324 #endif
1325  if (nx >= nSL[ny]) {
1326 #ifdef EDM_ML_DEBUG
1327  edm::LogVerbatim("HFShower") << "HFFibreFiducial::nx/ny (" << nx << "," << ny << ") "
1328  << " above limit " << nSL[ny];
1329 #endif
1330  return 0; // ===> out of the acceptance
1331  }
1332  int code = 0; // a prototype
1333  if (left)
1334  code = nLT[ny][nx];
1335  else
1336  code = nRT[ny][nx];
1337  int flag = code % 10;
1338  int npmt = code / 10;
1339  bool src = false; // by default: not a source-tube
1340 #ifdef EDM_ML_DEBUG
1341  edm::LogVerbatim("HFShower") << "HFFibreFiducial::nx/ny (" << nx << "," << ny << ") code/flag/npmt " << code << "/"
1342  << flag << "/" << npmt;
1343 #endif
1344 
1345  if (!flag)
1346  return 0; // ===> no fiber in the cell
1347  else if (flag == 1)
1348  npmt += 24;
1349  else if (flag == 3 || flag == 4) {
1350  src = true;
1351  }
1352 #ifdef EDM_ML_DEBUG
1353  edm::LogVerbatim("HFShower") << "HFFibreFiducial::PMTNumber: src = " << src << ", npmt =" << npmt;
1354 #endif
1355  if (src)
1356  return -npmt; // return the negative number for the source
1357  return npmt;
1358 } // End of PMTNumber
Log< level::Info, true > LogVerbatim
const int nphi
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
const Double_t pi
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
int PMTNumber(const G4ThreeVector &pe_effect)