UIPixelShader.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780
  1. #if 0
  2. //
  3. // Generated by Microsoft (R) HLSL Shader Compiler 10.1
  4. //
  5. //
  6. // Buffer Definitions:
  7. //
  8. // cbuffer Kamera
  9. // {
  10. //
  11. // float4 kPosition; // Offset: 0 Size: 16
  12. //
  13. // }
  14. //
  15. // cbuffer Material
  16. // {
  17. //
  18. // float ambientFactor; // Offset: 0 Size: 4
  19. // float diffusFactor; // Offset: 4 Size: 4
  20. // float specularFactor; // Offset: 8 Size: 4
  21. //
  22. // }
  23. //
  24. // cbuffer LightCount
  25. // {
  26. //
  27. // int diffuseLightCount; // Offset: 0 Size: 4
  28. // int pointLightCount; // Offset: 4 Size: 4
  29. //
  30. // }
  31. //
  32. // Resource bind info for difuseLights
  33. // {
  34. //
  35. // struct DiffuseLight
  36. // {
  37. //
  38. // float3 direction; // Offset: 0
  39. // float3 color; // Offset: 12
  40. //
  41. // } $Element; // Offset: 0 Size: 24
  42. //
  43. // }
  44. //
  45. // Resource bind info for pointLights
  46. // {
  47. //
  48. // struct PointLight
  49. // {
  50. //
  51. // float3 position; // Offset: 0
  52. // float3 color; // Offset: 12
  53. // float radius; // Offset: 24
  54. //
  55. // } $Element; // Offset: 0 Size: 28
  56. //
  57. // }
  58. //
  59. //
  60. // Resource Bindings:
  61. //
  62. // Name Type Format Dim HLSL Bind Count
  63. // ------------------------------ ---------- ------- ----------- -------------- ------
  64. // SampleType sampler NA NA s0 1
  65. // shaderTexture texture float4 2d t0 1
  66. // difuseLights texture struct r/o t1 1
  67. // pointLights texture struct r/o t2 1
  68. // Kamera cbuffer NA NA cb0 1
  69. // Material cbuffer NA NA cb1 1
  70. // LightCount cbuffer NA NA cb2 1
  71. //
  72. //
  73. //
  74. // Input signature:
  75. //
  76. // Name Index Mask Register SysValue Format Used
  77. // -------------------- ----- ------ -------- -------- ------- ------
  78. // POSITION 0 xyzw 0 NONE float xyz
  79. // SV_POSITION 0 xyzw 1 POS float
  80. // TEXCOORD 0 xy 2 NONE float xy
  81. // TEXCOORD 1 xyz 3 NONE float xyz
  82. //
  83. //
  84. // Output signature:
  85. //
  86. // Name Index Mask Register SysValue Format Used
  87. // -------------------- ----- ------ -------- -------- ------- ------
  88. // SV_TARGET 0 xyzw 0 TARGET float xyzw
  89. //
  90. ps_5_0
  91. dcl_globalFlags refactoringAllowed
  92. dcl_constantbuffer CB0[1], immediateIndexed
  93. dcl_constantbuffer CB1[1], immediateIndexed
  94. dcl_constantbuffer CB2[1], immediateIndexed
  95. dcl_sampler s0, mode_default
  96. dcl_resource_texture2d (float,float,float,float) t0
  97. dcl_resource_structured t1, 24
  98. dcl_resource_structured t2, 28
  99. dcl_input_ps linear v0.xyz
  100. dcl_input_ps linear v2.xy
  101. dcl_input_ps linear v3.xyz
  102. dcl_output o0.xyzw
  103. dcl_temps 7
  104. mov r0.xyzw, l(0,0,0,0)
  105. loop
  106. ige r1.x, r0.w, cb2[0].x
  107. breakc_nz r1.x
  108. ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r1.xyz, r0.w, l(0), t1.xyzx
  109. dp3 r1.x, v3.xyzx, -r1.xyzx
  110. lt r1.x, r1.x, l(0.000000)
  111. if_nz r1.x
  112. iadd r1.x, r0.w, l(1)
  113. mov r0.w, r1.x
  114. continue
  115. endif
  116. ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r1.xy, r0.w, l(0), t1.xyxx
  117. ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r2.xyzw, r0.w, l(8), t1.xyzw
  118. mov r1.z, r2.x
  119. dp3 r1.x, v3.xyzx, -r1.xyzx
  120. mad r0.xyz, r2.yzwy, r1.xxxx, r0.xyzx
  121. iadd r0.w, r0.w, l(1)
  122. endloop
  123. add r1.xyz, -v0.xyzx, cb0[0].xyzx
  124. dp3 r0.w, r1.xyzx, r1.xyzx
  125. rsq r0.w, r0.w
  126. mul r1.xyz, r0.wwww, r1.xyzx
  127. mov r2.xyz, r0.xyzx
  128. mov r3.xyz, l(0,0,0,0)
  129. mov r0.w, l(0)
  130. loop
  131. ige r1.w, r0.w, cb2[0].y
  132. breakc_nz r1.w
  133. ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.xyz, r0.w, l(0), t2.xyzx
  134. add r4.xyz, r4.xyzx, -v0.xyzx
  135. dp3 r1.w, r4.xyzx, r4.xyzx
  136. rsq r2.w, r1.w
  137. mul r5.xyz, r2.wwww, r4.xyzx
  138. dp3 r2.w, v3.xyzx, r5.xyzx
  139. lt r3.w, l(0.000000), r2.w
  140. if_nz r3.w
  141. ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r5.xyzw, r0.w, l(12), t2.xyzw
  142. sqrt r1.w, r1.w
  143. div r1.w, r5.w, r1.w
  144. mul r6.xyz, r2.wwww, r5.xyzx
  145. mad r2.xyz, r6.xyzx, r1.wwww, r2.xyzx
  146. dp3 r2.w, -r4.xyzx, -r4.xyzx
  147. rsq r2.w, r2.w
  148. mul r4.xyz, r2.wwww, -r4.xyzx
  149. dp3 r2.w, r4.xyzx, v3.xyzx
  150. add r2.w, r2.w, r2.w
  151. mad r4.xyz, v3.xyzx, -r2.wwww, r4.xyzx
  152. dp3 r2.w, r4.xyzx, r4.xyzx
  153. rsq r2.w, r2.w
  154. mul r4.xyz, r2.wwww, r4.xyzx
  155. dp3 r2.w, r4.xyzx, r1.xyzx
  156. lt r3.w, l(0.000000), r2.w
  157. mul r4.xyz, r2.wwww, r5.xyzx
  158. mad r4.xyz, r4.xyzx, r1.wwww, r3.xyzx
  159. movc r3.xyz, r3.wwww, r4.xyzx, r3.xyzx
  160. endif
  161. iadd r0.w, r0.w, l(1)
  162. endloop
  163. sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v2.xyxx, t0.xyzw, s0
  164. mul r1.xyz, r2.xyzx, cb1[0].yyyy
  165. mad r0.xyz, r0.xyzx, cb1[0].xxxx, r1.xyzx
  166. mad_sat o0.xyz, r3.xyzx, cb1[0].zzzz, r0.xyzx
  167. mov o0.w, r0.w
  168. ret
  169. // Approximately 65 instruction slots used
  170. #endif
  171. const BYTE UIPixelShader[] =
  172. {
  173. 68, 88, 66, 67, 214, 30,
  174. 129, 152, 232, 92, 8, 31,
  175. 88, 232, 203, 21, 146, 219,
  176. 131, 18, 1, 0, 0, 0,
  177. 52, 14, 0, 0, 5, 0,
  178. 0, 0, 52, 0, 0, 0,
  179. 120, 5, 0, 0, 8, 6,
  180. 0, 0, 60, 6, 0, 0,
  181. 152, 13, 0, 0, 82, 68,
  182. 69, 70, 60, 5, 0, 0,
  183. 5, 0, 0, 0, 108, 1,
  184. 0, 0, 7, 0, 0, 0,
  185. 60, 0, 0, 0, 0, 5,
  186. 255, 255, 0, 1, 0, 0,
  187. 20, 5, 0, 0, 82, 68,
  188. 49, 49, 60, 0, 0, 0,
  189. 24, 0, 0, 0, 32, 0,
  190. 0, 0, 40, 0, 0, 0,
  191. 36, 0, 0, 0, 12, 0,
  192. 0, 0, 0, 0, 0, 0,
  193. 28, 1, 0, 0, 3, 0,
  194. 0, 0, 0, 0, 0, 0,
  195. 0, 0, 0, 0, 0, 0,
  196. 0, 0, 0, 0, 0, 0,
  197. 1, 0, 0, 0, 0, 0,
  198. 0, 0, 39, 1, 0, 0,
  199. 2, 0, 0, 0, 5, 0,
  200. 0, 0, 4, 0, 0, 0,
  201. 255, 255, 255, 255, 0, 0,
  202. 0, 0, 1, 0, 0, 0,
  203. 13, 0, 0, 0, 53, 1,
  204. 0, 0, 5, 0, 0, 0,
  205. 6, 0, 0, 0, 1, 0,
  206. 0, 0, 24, 0, 0, 0,
  207. 1, 0, 0, 0, 1, 0,
  208. 0, 0, 1, 0, 0, 0,
  209. 66, 1, 0, 0, 5, 0,
  210. 0, 0, 6, 0, 0, 0,
  211. 1, 0, 0, 0, 28, 0,
  212. 0, 0, 2, 0, 0, 0,
  213. 1, 0, 0, 0, 1, 0,
  214. 0, 0, 78, 1, 0, 0,
  215. 0, 0, 0, 0, 0, 0,
  216. 0, 0, 0, 0, 0, 0,
  217. 0, 0, 0, 0, 0, 0,
  218. 0, 0, 1, 0, 0, 0,
  219. 1, 0, 0, 0, 85, 1,
  220. 0, 0, 0, 0, 0, 0,
  221. 0, 0, 0, 0, 0, 0,
  222. 0, 0, 0, 0, 0, 0,
  223. 1, 0, 0, 0, 1, 0,
  224. 0, 0, 1, 0, 0, 0,
  225. 94, 1, 0, 0, 0, 0,
  226. 0, 0, 0, 0, 0, 0,
  227. 0, 0, 0, 0, 0, 0,
  228. 0, 0, 2, 0, 0, 0,
  229. 1, 0, 0, 0, 1, 0,
  230. 0, 0, 83, 97, 109, 112,
  231. 108, 101, 84, 121, 112, 101,
  232. 0, 115, 104, 97, 100, 101,
  233. 114, 84, 101, 120, 116, 117,
  234. 114, 101, 0, 100, 105, 102,
  235. 117, 115, 101, 76, 105, 103,
  236. 104, 116, 115, 0, 112, 111,
  237. 105, 110, 116, 76, 105, 103,
  238. 104, 116, 115, 0, 75, 97,
  239. 109, 101, 114, 97, 0, 77,
  240. 97, 116, 101, 114, 105, 97,
  241. 108, 0, 76, 105, 103, 104,
  242. 116, 67, 111, 117, 110, 116,
  243. 0, 171, 171, 171, 78, 1,
  244. 0, 0, 1, 0, 0, 0,
  245. 228, 1, 0, 0, 16, 0,
  246. 0, 0, 0, 0, 0, 0,
  247. 0, 0, 0, 0, 85, 1,
  248. 0, 0, 3, 0, 0, 0,
  249. 68, 2, 0, 0, 16, 0,
  250. 0, 0, 0, 0, 0, 0,
  251. 0, 0, 0, 0, 94, 1,
  252. 0, 0, 2, 0, 0, 0,
  253. 16, 3, 0, 0, 16, 0,
  254. 0, 0, 0, 0, 0, 0,
  255. 0, 0, 0, 0, 53, 1,
  256. 0, 0, 1, 0, 0, 0,
  257. 172, 3, 0, 0, 24, 0,
  258. 0, 0, 0, 0, 0, 0,
  259. 3, 0, 0, 0, 66, 1,
  260. 0, 0, 1, 0, 0, 0,
  261. 100, 4, 0, 0, 28, 0,
  262. 0, 0, 0, 0, 0, 0,
  263. 3, 0, 0, 0, 12, 2,
  264. 0, 0, 0, 0, 0, 0,
  265. 16, 0, 0, 0, 2, 0,
  266. 0, 0, 32, 2, 0, 0,
  267. 0, 0, 0, 0, 255, 255,
  268. 255, 255, 0, 0, 0, 0,
  269. 255, 255, 255, 255, 0, 0,
  270. 0, 0, 107, 80, 111, 115,
  271. 105, 116, 105, 111, 110, 0,
  272. 102, 108, 111, 97, 116, 52,
  273. 0, 171, 171, 171, 1, 0,
  274. 3, 0, 1, 0, 4, 0,
  275. 0, 0, 0, 0, 0, 0,
  276. 0, 0, 0, 0, 0, 0,
  277. 0, 0, 0, 0, 0, 0,
  278. 0, 0, 0, 0, 0, 0,
  279. 22, 2, 0, 0, 188, 2,
  280. 0, 0, 0, 0, 0, 0,
  281. 4, 0, 0, 0, 2, 0,
  282. 0, 0, 208, 2, 0, 0,
  283. 0, 0, 0, 0, 255, 255,
  284. 255, 255, 0, 0, 0, 0,
  285. 255, 255, 255, 255, 0, 0,
  286. 0, 0, 244, 2, 0, 0,
  287. 4, 0, 0, 0, 4, 0,
  288. 0, 0, 2, 0, 0, 0,
  289. 208, 2, 0, 0, 0, 0,
  290. 0, 0, 255, 255, 255, 255,
  291. 0, 0, 0, 0, 255, 255,
  292. 255, 255, 0, 0, 0, 0,
  293. 1, 3, 0, 0, 8, 0,
  294. 0, 0, 4, 0, 0, 0,
  295. 2, 0, 0, 0, 208, 2,
  296. 0, 0, 0, 0, 0, 0,
  297. 255, 255, 255, 255, 0, 0,
  298. 0, 0, 255, 255, 255, 255,
  299. 0, 0, 0, 0, 97, 109,
  300. 98, 105, 101, 110, 116, 70,
  301. 97, 99, 116, 111, 114, 0,
  302. 102, 108, 111, 97, 116, 0,
  303. 0, 0, 3, 0, 1, 0,
  304. 1, 0, 0, 0, 0, 0,
  305. 0, 0, 0, 0, 0, 0,
  306. 0, 0, 0, 0, 0, 0,
  307. 0, 0, 0, 0, 0, 0,
  308. 0, 0, 202, 2, 0, 0,
  309. 100, 105, 102, 102, 117, 115,
  310. 70, 97, 99, 116, 111, 114,
  311. 0, 115, 112, 101, 99, 117,
  312. 108, 97, 114, 70, 97, 99,
  313. 116, 111, 114, 0, 96, 3,
  314. 0, 0, 0, 0, 0, 0,
  315. 4, 0, 0, 0, 2, 0,
  316. 0, 0, 120, 3, 0, 0,
  317. 0, 0, 0, 0, 255, 255,
  318. 255, 255, 0, 0, 0, 0,
  319. 255, 255, 255, 255, 0, 0,
  320. 0, 0, 156, 3, 0, 0,
  321. 4, 0, 0, 0, 4, 0,
  322. 0, 0, 2, 0, 0, 0,
  323. 120, 3, 0, 0, 0, 0,
  324. 0, 0, 255, 255, 255, 255,
  325. 0, 0, 0, 0, 255, 255,
  326. 255, 255, 0, 0, 0, 0,
  327. 100, 105, 102, 102, 117, 115,
  328. 101, 76, 105, 103, 104, 116,
  329. 67, 111, 117, 110, 116, 0,
  330. 105, 110, 116, 0, 171, 171,
  331. 0, 0, 2, 0, 1, 0,
  332. 1, 0, 0, 0, 0, 0,
  333. 0, 0, 0, 0, 0, 0,
  334. 0, 0, 0, 0, 0, 0,
  335. 0, 0, 0, 0, 0, 0,
  336. 0, 0, 114, 3, 0, 0,
  337. 112, 111, 105, 110, 116, 76,
  338. 105, 103, 104, 116, 67, 111,
  339. 117, 110, 116, 0, 212, 3,
  340. 0, 0, 0, 0, 0, 0,
  341. 24, 0, 0, 0, 2, 0,
  342. 0, 0, 64, 4, 0, 0,
  343. 0, 0, 0, 0, 255, 255,
  344. 255, 255, 0, 0, 0, 0,
  345. 255, 255, 255, 255, 0, 0,
  346. 0, 0, 36, 69, 108, 101,
  347. 109, 101, 110, 116, 0, 68,
  348. 105, 102, 102, 117, 115, 101,
  349. 76, 105, 103, 104, 116, 0,
  350. 100, 105, 114, 101, 99, 116,
  351. 105, 111, 110, 0, 102, 108,
  352. 111, 97, 116, 51, 0, 171,
  353. 1, 0, 3, 0, 1, 0,
  354. 3, 0, 0, 0, 0, 0,
  355. 0, 0, 0, 0, 0, 0,
  356. 0, 0, 0, 0, 0, 0,
  357. 0, 0, 0, 0, 0, 0,
  358. 0, 0, 244, 3, 0, 0,
  359. 99, 111, 108, 111, 114, 0,
  360. 171, 171, 234, 3, 0, 0,
  361. 252, 3, 0, 0, 0, 0,
  362. 0, 0, 32, 4, 0, 0,
  363. 252, 3, 0, 0, 12, 0,
  364. 0, 0, 5, 0, 0, 0,
  365. 1, 0, 6, 0, 0, 0,
  366. 2, 0, 40, 4, 0, 0,
  367. 0, 0, 0, 0, 0, 0,
  368. 0, 0, 0, 0, 0, 0,
  369. 0, 0, 0, 0, 221, 3,
  370. 0, 0, 212, 3, 0, 0,
  371. 0, 0, 0, 0, 28, 0,
  372. 0, 0, 2, 0, 0, 0,
  373. 240, 4, 0, 0, 0, 0,
  374. 0, 0, 255, 255, 255, 255,
  375. 0, 0, 0, 0, 255, 255,
  376. 255, 255, 0, 0, 0, 0,
  377. 80, 111, 105, 110, 116, 76,
  378. 105, 103, 104, 116, 0, 112,
  379. 111, 115, 105, 116, 105, 111,
  380. 110, 0, 114, 97, 100, 105,
  381. 117, 115, 0, 171, 0, 0,
  382. 3, 0, 1, 0, 1, 0,
  383. 0, 0, 0, 0, 0, 0,
  384. 0, 0, 0, 0, 0, 0,
  385. 0, 0, 0, 0, 0, 0,
  386. 0, 0, 0, 0, 0, 0,
  387. 202, 2, 0, 0, 151, 4,
  388. 0, 0, 252, 3, 0, 0,
  389. 0, 0, 0, 0, 32, 4,
  390. 0, 0, 252, 3, 0, 0,
  391. 12, 0, 0, 0, 160, 4,
  392. 0, 0, 168, 4, 0, 0,
  393. 24, 0, 0, 0, 5, 0,
  394. 0, 0, 1, 0, 7, 0,
  395. 0, 0, 3, 0, 204, 4,
  396. 0, 0, 0, 0, 0, 0,
  397. 0, 0, 0, 0, 0, 0,
  398. 0, 0, 0, 0, 0, 0,
  399. 140, 4, 0, 0, 77, 105,
  400. 99, 114, 111, 115, 111, 102,
  401. 116, 32, 40, 82, 41, 32,
  402. 72, 76, 83, 76, 32, 83,
  403. 104, 97, 100, 101, 114, 32,
  404. 67, 111, 109, 112, 105, 108,
  405. 101, 114, 32, 49, 48, 46,
  406. 49, 0, 73, 83, 71, 78,
  407. 136, 0, 0, 0, 4, 0,
  408. 0, 0, 8, 0, 0, 0,
  409. 104, 0, 0, 0, 0, 0,
  410. 0, 0, 0, 0, 0, 0,
  411. 3, 0, 0, 0, 0, 0,
  412. 0, 0, 15, 7, 0, 0,
  413. 113, 0, 0, 0, 0, 0,
  414. 0, 0, 1, 0, 0, 0,
  415. 3, 0, 0, 0, 1, 0,
  416. 0, 0, 15, 0, 0, 0,
  417. 125, 0, 0, 0, 0, 0,
  418. 0, 0, 0, 0, 0, 0,
  419. 3, 0, 0, 0, 2, 0,
  420. 0, 0, 3, 3, 0, 0,
  421. 125, 0, 0, 0, 1, 0,
  422. 0, 0, 0, 0, 0, 0,
  423. 3, 0, 0, 0, 3, 0,
  424. 0, 0, 7, 7, 0, 0,
  425. 80, 79, 83, 73, 84, 73,
  426. 79, 78, 0, 83, 86, 95,
  427. 80, 79, 83, 73, 84, 73,
  428. 79, 78, 0, 84, 69, 88,
  429. 67, 79, 79, 82, 68, 0,
  430. 171, 171, 79, 83, 71, 78,
  431. 44, 0, 0, 0, 1, 0,
  432. 0, 0, 8, 0, 0, 0,
  433. 32, 0, 0, 0, 0, 0,
  434. 0, 0, 0, 0, 0, 0,
  435. 3, 0, 0, 0, 0, 0,
  436. 0, 0, 15, 0, 0, 0,
  437. 83, 86, 95, 84, 65, 82,
  438. 71, 69, 84, 0, 171, 171,
  439. 83, 72, 69, 88, 84, 7,
  440. 0, 0, 80, 0, 0, 0,
  441. 213, 1, 0, 0, 106, 8,
  442. 0, 1, 89, 0, 0, 4,
  443. 70, 142, 32, 0, 0, 0,
  444. 0, 0, 1, 0, 0, 0,
  445. 89, 0, 0, 4, 70, 142,
  446. 32, 0, 1, 0, 0, 0,
  447. 1, 0, 0, 0, 89, 0,
  448. 0, 4, 70, 142, 32, 0,
  449. 2, 0, 0, 0, 1, 0,
  450. 0, 0, 90, 0, 0, 3,
  451. 0, 96, 16, 0, 0, 0,
  452. 0, 0, 88, 24, 0, 4,
  453. 0, 112, 16, 0, 0, 0,
  454. 0, 0, 85, 85, 0, 0,
  455. 162, 0, 0, 4, 0, 112,
  456. 16, 0, 1, 0, 0, 0,
  457. 24, 0, 0, 0, 162, 0,
  458. 0, 4, 0, 112, 16, 0,
  459. 2, 0, 0, 0, 28, 0,
  460. 0, 0, 98, 16, 0, 3,
  461. 114, 16, 16, 0, 0, 0,
  462. 0, 0, 98, 16, 0, 3,
  463. 50, 16, 16, 0, 2, 0,
  464. 0, 0, 98, 16, 0, 3,
  465. 114, 16, 16, 0, 3, 0,
  466. 0, 0, 101, 0, 0, 3,
  467. 242, 32, 16, 0, 0, 0,
  468. 0, 0, 104, 0, 0, 2,
  469. 7, 0, 0, 0, 54, 0,
  470. 0, 8, 242, 0, 16, 0,
  471. 0, 0, 0, 0, 2, 64,
  472. 0, 0, 0, 0, 0, 0,
  473. 0, 0, 0, 0, 0, 0,
  474. 0, 0, 0, 0, 0, 0,
  475. 48, 0, 0, 1, 33, 0,
  476. 0, 8, 18, 0, 16, 0,
  477. 1, 0, 0, 0, 58, 0,
  478. 16, 0, 0, 0, 0, 0,
  479. 10, 128, 32, 0, 2, 0,
  480. 0, 0, 0, 0, 0, 0,
  481. 3, 0, 4, 3, 10, 0,
  482. 16, 0, 1, 0, 0, 0,
  483. 167, 0, 0, 139, 2, 195,
  484. 0, 128, 131, 153, 25, 0,
  485. 114, 0, 16, 0, 1, 0,
  486. 0, 0, 58, 0, 16, 0,
  487. 0, 0, 0, 0, 1, 64,
  488. 0, 0, 0, 0, 0, 0,
  489. 70, 114, 16, 0, 1, 0,
  490. 0, 0, 16, 0, 0, 8,
  491. 18, 0, 16, 0, 1, 0,
  492. 0, 0, 70, 18, 16, 0,
  493. 3, 0, 0, 0, 70, 2,
  494. 16, 128, 65, 0, 0, 0,
  495. 1, 0, 0, 0, 49, 0,
  496. 0, 7, 18, 0, 16, 0,
  497. 1, 0, 0, 0, 10, 0,
  498. 16, 0, 1, 0, 0, 0,
  499. 1, 64, 0, 0, 0, 0,
  500. 0, 0, 31, 0, 4, 3,
  501. 10, 0, 16, 0, 1, 0,
  502. 0, 0, 30, 0, 0, 7,
  503. 18, 0, 16, 0, 1, 0,
  504. 0, 0, 58, 0, 16, 0,
  505. 0, 0, 0, 0, 1, 64,
  506. 0, 0, 1, 0, 0, 0,
  507. 54, 0, 0, 5, 130, 0,
  508. 16, 0, 0, 0, 0, 0,
  509. 10, 0, 16, 0, 1, 0,
  510. 0, 0, 7, 0, 0, 1,
  511. 21, 0, 0, 1, 167, 0,
  512. 0, 139, 2, 195, 0, 128,
  513. 131, 153, 25, 0, 50, 0,
  514. 16, 0, 1, 0, 0, 0,
  515. 58, 0, 16, 0, 0, 0,
  516. 0, 0, 1, 64, 0, 0,
  517. 0, 0, 0, 0, 70, 112,
  518. 16, 0, 1, 0, 0, 0,
  519. 167, 0, 0, 139, 2, 195,
  520. 0, 128, 131, 153, 25, 0,
  521. 242, 0, 16, 0, 2, 0,
  522. 0, 0, 58, 0, 16, 0,
  523. 0, 0, 0, 0, 1, 64,
  524. 0, 0, 8, 0, 0, 0,
  525. 70, 126, 16, 0, 1, 0,
  526. 0, 0, 54, 0, 0, 5,
  527. 66, 0, 16, 0, 1, 0,
  528. 0, 0, 10, 0, 16, 0,
  529. 2, 0, 0, 0, 16, 0,
  530. 0, 8, 18, 0, 16, 0,
  531. 1, 0, 0, 0, 70, 18,
  532. 16, 0, 3, 0, 0, 0,
  533. 70, 2, 16, 128, 65, 0,
  534. 0, 0, 1, 0, 0, 0,
  535. 50, 0, 0, 9, 114, 0,
  536. 16, 0, 0, 0, 0, 0,
  537. 150, 7, 16, 0, 2, 0,
  538. 0, 0, 6, 0, 16, 0,
  539. 1, 0, 0, 0, 70, 2,
  540. 16, 0, 0, 0, 0, 0,
  541. 30, 0, 0, 7, 130, 0,
  542. 16, 0, 0, 0, 0, 0,
  543. 58, 0, 16, 0, 0, 0,
  544. 0, 0, 1, 64, 0, 0,
  545. 1, 0, 0, 0, 22, 0,
  546. 0, 1, 0, 0, 0, 9,
  547. 114, 0, 16, 0, 1, 0,
  548. 0, 0, 70, 18, 16, 128,
  549. 65, 0, 0, 0, 0, 0,
  550. 0, 0, 70, 130, 32, 0,
  551. 0, 0, 0, 0, 0, 0,
  552. 0, 0, 16, 0, 0, 7,
  553. 130, 0, 16, 0, 0, 0,
  554. 0, 0, 70, 2, 16, 0,
  555. 1, 0, 0, 0, 70, 2,
  556. 16, 0, 1, 0, 0, 0,
  557. 68, 0, 0, 5, 130, 0,
  558. 16, 0, 0, 0, 0, 0,
  559. 58, 0, 16, 0, 0, 0,
  560. 0, 0, 56, 0, 0, 7,
  561. 114, 0, 16, 0, 1, 0,
  562. 0, 0, 246, 15, 16, 0,
  563. 0, 0, 0, 0, 70, 2,
  564. 16, 0, 1, 0, 0, 0,
  565. 54, 0, 0, 5, 114, 0,
  566. 16, 0, 2, 0, 0, 0,
  567. 70, 2, 16, 0, 0, 0,
  568. 0, 0, 54, 0, 0, 8,
  569. 114, 0, 16, 0, 3, 0,
  570. 0, 0, 2, 64, 0, 0,
  571. 0, 0, 0, 0, 0, 0,
  572. 0, 0, 0, 0, 0, 0,
  573. 0, 0, 0, 0, 54, 0,
  574. 0, 5, 130, 0, 16, 0,
  575. 0, 0, 0, 0, 1, 64,
  576. 0, 0, 0, 0, 0, 0,
  577. 48, 0, 0, 1, 33, 0,
  578. 0, 8, 130, 0, 16, 0,
  579. 1, 0, 0, 0, 58, 0,
  580. 16, 0, 0, 0, 0, 0,
  581. 26, 128, 32, 0, 2, 0,
  582. 0, 0, 0, 0, 0, 0,
  583. 3, 0, 4, 3, 58, 0,
  584. 16, 0, 1, 0, 0, 0,
  585. 167, 0, 0, 139, 2, 227,
  586. 0, 128, 131, 153, 25, 0,
  587. 114, 0, 16, 0, 4, 0,
  588. 0, 0, 58, 0, 16, 0,
  589. 0, 0, 0, 0, 1, 64,
  590. 0, 0, 0, 0, 0, 0,
  591. 70, 114, 16, 0, 2, 0,
  592. 0, 0, 0, 0, 0, 8,
  593. 114, 0, 16, 0, 4, 0,
  594. 0, 0, 70, 2, 16, 0,
  595. 4, 0, 0, 0, 70, 18,
  596. 16, 128, 65, 0, 0, 0,
  597. 0, 0, 0, 0, 16, 0,
  598. 0, 7, 130, 0, 16, 0,
  599. 1, 0, 0, 0, 70, 2,
  600. 16, 0, 4, 0, 0, 0,
  601. 70, 2, 16, 0, 4, 0,
  602. 0, 0, 68, 0, 0, 5,
  603. 130, 0, 16, 0, 2, 0,
  604. 0, 0, 58, 0, 16, 0,
  605. 1, 0, 0, 0, 56, 0,
  606. 0, 7, 114, 0, 16, 0,
  607. 5, 0, 0, 0, 246, 15,
  608. 16, 0, 2, 0, 0, 0,
  609. 70, 2, 16, 0, 4, 0,
  610. 0, 0, 16, 0, 0, 7,
  611. 130, 0, 16, 0, 2, 0,
  612. 0, 0, 70, 18, 16, 0,
  613. 3, 0, 0, 0, 70, 2,
  614. 16, 0, 5, 0, 0, 0,
  615. 49, 0, 0, 7, 130, 0,
  616. 16, 0, 3, 0, 0, 0,
  617. 1, 64, 0, 0, 0, 0,
  618. 0, 0, 58, 0, 16, 0,
  619. 2, 0, 0, 0, 31, 0,
  620. 4, 3, 58, 0, 16, 0,
  621. 3, 0, 0, 0, 167, 0,
  622. 0, 139, 2, 227, 0, 128,
  623. 131, 153, 25, 0, 242, 0,
  624. 16, 0, 5, 0, 0, 0,
  625. 58, 0, 16, 0, 0, 0,
  626. 0, 0, 1, 64, 0, 0,
  627. 12, 0, 0, 0, 70, 126,
  628. 16, 0, 2, 0, 0, 0,
  629. 75, 0, 0, 5, 130, 0,
  630. 16, 0, 1, 0, 0, 0,
  631. 58, 0, 16, 0, 1, 0,
  632. 0, 0, 14, 0, 0, 7,
  633. 130, 0, 16, 0, 1, 0,
  634. 0, 0, 58, 0, 16, 0,
  635. 5, 0, 0, 0, 58, 0,
  636. 16, 0, 1, 0, 0, 0,
  637. 56, 0, 0, 7, 114, 0,
  638. 16, 0, 6, 0, 0, 0,
  639. 246, 15, 16, 0, 2, 0,
  640. 0, 0, 70, 2, 16, 0,
  641. 5, 0, 0, 0, 50, 0,
  642. 0, 9, 114, 0, 16, 0,
  643. 2, 0, 0, 0, 70, 2,
  644. 16, 0, 6, 0, 0, 0,
  645. 246, 15, 16, 0, 1, 0,
  646. 0, 0, 70, 2, 16, 0,
  647. 2, 0, 0, 0, 16, 0,
  648. 0, 9, 130, 0, 16, 0,
  649. 2, 0, 0, 0, 70, 2,
  650. 16, 128, 65, 0, 0, 0,
  651. 4, 0, 0, 0, 70, 2,
  652. 16, 128, 65, 0, 0, 0,
  653. 4, 0, 0, 0, 68, 0,
  654. 0, 5, 130, 0, 16, 0,
  655. 2, 0, 0, 0, 58, 0,
  656. 16, 0, 2, 0, 0, 0,
  657. 56, 0, 0, 8, 114, 0,
  658. 16, 0, 4, 0, 0, 0,
  659. 246, 15, 16, 0, 2, 0,
  660. 0, 0, 70, 2, 16, 128,
  661. 65, 0, 0, 0, 4, 0,
  662. 0, 0, 16, 0, 0, 7,
  663. 130, 0, 16, 0, 2, 0,
  664. 0, 0, 70, 2, 16, 0,
  665. 4, 0, 0, 0, 70, 18,
  666. 16, 0, 3, 0, 0, 0,
  667. 0, 0, 0, 7, 130, 0,
  668. 16, 0, 2, 0, 0, 0,
  669. 58, 0, 16, 0, 2, 0,
  670. 0, 0, 58, 0, 16, 0,
  671. 2, 0, 0, 0, 50, 0,
  672. 0, 10, 114, 0, 16, 0,
  673. 4, 0, 0, 0, 70, 18,
  674. 16, 0, 3, 0, 0, 0,
  675. 246, 15, 16, 128, 65, 0,
  676. 0, 0, 2, 0, 0, 0,
  677. 70, 2, 16, 0, 4, 0,
  678. 0, 0, 16, 0, 0, 7,
  679. 130, 0, 16, 0, 2, 0,
  680. 0, 0, 70, 2, 16, 0,
  681. 4, 0, 0, 0, 70, 2,
  682. 16, 0, 4, 0, 0, 0,
  683. 68, 0, 0, 5, 130, 0,
  684. 16, 0, 2, 0, 0, 0,
  685. 58, 0, 16, 0, 2, 0,
  686. 0, 0, 56, 0, 0, 7,
  687. 114, 0, 16, 0, 4, 0,
  688. 0, 0, 246, 15, 16, 0,
  689. 2, 0, 0, 0, 70, 2,
  690. 16, 0, 4, 0, 0, 0,
  691. 16, 0, 0, 7, 130, 0,
  692. 16, 0, 2, 0, 0, 0,
  693. 70, 2, 16, 0, 4, 0,
  694. 0, 0, 70, 2, 16, 0,
  695. 1, 0, 0, 0, 49, 0,
  696. 0, 7, 130, 0, 16, 0,
  697. 3, 0, 0, 0, 1, 64,
  698. 0, 0, 0, 0, 0, 0,
  699. 58, 0, 16, 0, 2, 0,
  700. 0, 0, 56, 0, 0, 7,
  701. 114, 0, 16, 0, 4, 0,
  702. 0, 0, 246, 15, 16, 0,
  703. 2, 0, 0, 0, 70, 2,
  704. 16, 0, 5, 0, 0, 0,
  705. 50, 0, 0, 9, 114, 0,
  706. 16, 0, 4, 0, 0, 0,
  707. 70, 2, 16, 0, 4, 0,
  708. 0, 0, 246, 15, 16, 0,
  709. 1, 0, 0, 0, 70, 2,
  710. 16, 0, 3, 0, 0, 0,
  711. 55, 0, 0, 9, 114, 0,
  712. 16, 0, 3, 0, 0, 0,
  713. 246, 15, 16, 0, 3, 0,
  714. 0, 0, 70, 2, 16, 0,
  715. 4, 0, 0, 0, 70, 2,
  716. 16, 0, 3, 0, 0, 0,
  717. 21, 0, 0, 1, 30, 0,
  718. 0, 7, 130, 0, 16, 0,
  719. 0, 0, 0, 0, 58, 0,
  720. 16, 0, 0, 0, 0, 0,
  721. 1, 64, 0, 0, 1, 0,
  722. 0, 0, 22, 0, 0, 1,
  723. 69, 0, 0, 139, 194, 0,
  724. 0, 128, 67, 85, 21, 0,
  725. 242, 0, 16, 0, 0, 0,
  726. 0, 0, 70, 16, 16, 0,
  727. 2, 0, 0, 0, 70, 126,
  728. 16, 0, 0, 0, 0, 0,
  729. 0, 96, 16, 0, 0, 0,
  730. 0, 0, 56, 0, 0, 8,
  731. 114, 0, 16, 0, 1, 0,
  732. 0, 0, 70, 2, 16, 0,
  733. 2, 0, 0, 0, 86, 133,
  734. 32, 0, 1, 0, 0, 0,
  735. 0, 0, 0, 0, 50, 0,
  736. 0, 10, 114, 0, 16, 0,
  737. 0, 0, 0, 0, 70, 2,
  738. 16, 0, 0, 0, 0, 0,
  739. 6, 128, 32, 0, 1, 0,
  740. 0, 0, 0, 0, 0, 0,
  741. 70, 2, 16, 0, 1, 0,
  742. 0, 0, 50, 32, 0, 10,
  743. 114, 32, 16, 0, 0, 0,
  744. 0, 0, 70, 2, 16, 0,
  745. 3, 0, 0, 0, 166, 138,
  746. 32, 0, 1, 0, 0, 0,
  747. 0, 0, 0, 0, 70, 2,
  748. 16, 0, 0, 0, 0, 0,
  749. 54, 0, 0, 5, 130, 32,
  750. 16, 0, 0, 0, 0, 0,
  751. 58, 0, 16, 0, 0, 0,
  752. 0, 0, 62, 0, 0, 1,
  753. 83, 84, 65, 84, 148, 0,
  754. 0, 0, 65, 0, 0, 0,
  755. 7, 0, 0, 0, 0, 0,
  756. 0, 0, 4, 0, 0, 0,
  757. 34, 0, 0, 0, 5, 0,
  758. 0, 0, 0, 0, 0, 0,
  759. 2, 0, 0, 0, 4, 0,
  760. 0, 0, 0, 0, 0, 0,
  761. 0, 0, 0, 0, 0, 0,
  762. 0, 0, 0, 0, 0, 0,
  763. 0, 0, 0, 0, 1, 0,
  764. 0, 0, 5, 0, 0, 0,
  765. 0, 0, 0, 0, 0, 0,
  766. 0, 0, 0, 0, 0, 0,
  767. 7, 0, 0, 0, 1, 0,
  768. 0, 0, 0, 0, 0, 0,
  769. 0, 0, 0, 0, 0, 0,
  770. 0, 0, 0, 0, 0, 0,
  771. 0, 0, 0, 0, 0, 0,
  772. 0, 0, 0, 0, 0, 0,
  773. 0, 0, 0, 0, 0, 0,
  774. 0, 0, 0, 0, 0, 0,
  775. 0, 0, 0, 0, 0, 0,
  776. 0, 0, 0, 0, 0, 0,
  777. 0, 0, 0, 0, 0, 0,
  778. 0, 0, 0, 0, 0, 0
  779. };