Commit eb0a69c5 authored by Jake Read's avatar Jake Read

new gitignore, and SPI working encoder

parent 7b7c21e2
jake/
**.elf
**.hex
**.bin
**.lss
**.map
**.srec
**.o
**.d
**.DS_Store
**.b#*
**.s#*
**/ASF/
js/node_modules/
sim/js_code.txt
sim/TinyNets/nbproject/
\ No newline at end of file
......@@ -153,7 +153,7 @@ I sped this up some and it looks more like a chopped sinusoid - this means I sho
That's it for now.
## Incremental Notes
- non-incrementally, do this as an endpoint, not a switch. try ATSAMD21. do 2oz copper layer.
- non-incrementally, do this as an endpoint, not a switch. try ATSAMD51. do 2oz copper layer.
- 2.2uF @ 100v -> 1206 smallest available package. Can replace with 1uF or up package.
- Would via to heat-pad underneath fets, next time. could also go to 2oz copper but have to push out to 0.2mm spacing.
- if new chip who dis, do thermistor at gates
......@@ -163,7 +163,10 @@ That's it for now.
- VCC Net could be happier - see pinch pts... in many places.
- Tented Vias, or move away from FET
- No Thermal Relief on Power In / Big Fet Pads
- Push output plugs right to edge - the input gpio header is right on edge, it's a nice minimal look (y)
- Go to fully sik 6 pin plugs for 'other stuff' ?
- One chip is both BLDC driver and Stepper driver ?
- software-selectable gain, pwm mode, etc
- notes in code for shunt calculation
# Footnotes
1. Part Number. Searching Digikey (or octopart, or what have you) for bits is an art, kind of. It's intimidating, but offers much gold at the end of the rainbow.
......
......@@ -36,7 +36,7 @@ Loc="0 0 1919 1039"
State=1
Number=2
File="mkbldcdriver.sch"
View="-58.2901 -16.7748 204.773 74.0534"
View="22.7296 -3.86164 205.412 59.2135"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
......@@ -75,7 +75,7 @@ ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=91
Views=" 1: -58.2901 -16.7748 204.773 74.0534"
Views=" 1: 22.7296 -3.86164 205.412 59.2135"
Sheet="1"
[Win_2]
......@@ -84,7 +84,7 @@ Loc="0 0 1919 1039"
State=1
Number=1
File="mkbldcdriver.brd"
View="-29.9487 -10.7101 122.209 85.973"
View="-13.2576 7.21144 74.7968 63.1623"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
......
......@@ -189,4 +189,36 @@ Some ARM Documentation is [here](http://infocenter.arm.com/help/index.jsp) - nav
From here, I brought up the hardware - a satisfying adventure. Go [here](https://gitlab.cba.mit.edu/jakeread/mkbldcdriver/tree/master/circuit) for that.
Then I worked (briefly) on implementing a control interface for this using mods. That should be [here](http://fab.cba.mit.edu/classes/863.17/CBA/people/jakeread/) in week 12.
\ No newline at end of file
Then I worked (briefly) on implementing a control interface for this using mods. That should be [here](http://fab.cba.mit.edu/classes/863.17/CBA/people/jakeread/) in week 12.
## Closing Loops
Next up, I want to roll an encoder reading into the system, and run simple closed loop sinusoidal commutation. Then I'll try rolling a brief PID loop around that to find positions. Then I'll be satisfied with this spiral.
However, at the moment I'm having an issue where the chip is resetting, and things seem to be getting really hot. I see some smoke, I'm not sure where it's coming from, and it continues to work - so I'm confused. Sounds like I'm maybe smoking out the motor a little bit? Thinking I should maybe chill out to a 12v power supply - these motors have an Rm of only about .1 ohms, so if I accidentaly dump 240v into them for any appreciable time I'll see 240amps after whatever inductive time constant. That's deadly!
Actually my leading theory right now is that I'm just commutating so slowly the phase current is allowed to reach really big numbers, hence the smokey smokey. I'll implement the closed loop commutation to remedy this.
Or perhaps I'm driving the current sense amps way out of range and that's f'ing other things up?
OK actually I solved this earlier - something to do with the ATSAMS70 becoming unhappy and resetting when not enough power on the 3v3 line. *shrugman* - next rev on this board I'll address that. Power electronics: hard.
I'm also going to try booting up the FLIR Camera.
But, for now, SPI.
## SPI AS5047
OK. Long road ahead. Here's my list
- Pinouts / Pins / through the header, through the ATSAM
- Peripheral Wakeup
- Parity / Clock / etc setup
- Reading Addresses / tiny abstraction for the AS5047 particularly.
- parity bit checking important b/c previous experience with this encoder shitting the bed when presented with big EMF environment.
- fin section
I'm using the ATSAM's SPI Peripheral. I am *really* swimming in the datasheet at the moment. There's a lot to configure!
Although I've double checked through the layers, it seems like I'm getting my MOSI output on the CLK line... ah, I was reading my labels incorrectly.
OK - I've got this set up properly. Now I'll try plugging the encoder in an reading some values!
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
:020000040040BA
:10000000C8344020D5034000D3034000D303400050
:10001000D3034000D3034000D3034000000000009E
:10002000000000000000000000000000D3034000BA
:10003000D303400000000000D3034000D30340007E
:10004000D3034000D3034000D3034000D303400058
:10005000D3034000D3034000D3034000D303400048
:100060002507400000000000D3034000D3034000F8
:1000700000000000D3034000D3034000D30340003E
:10008000D303400000000000D3034000D30340002E
:10009000D3034000D3034000D3034000D303400008
:1000A000D3034000D3034000000000000000000024
:1000B00000000000D303400000000000D303400014
:1000C000D3034000D3034000D303400000000000EE
:1000D0000000000000000000000000000000000020
:1000E000D3034000D3034000D3034000D3034000B8
:1000F000D3034000D3034000D303400000000000BE
:100100000000000000000000D3034000D3034000C3
:10011000D3034000000000000000000000000000C9
:10012000D3034000D3034000D3034000D303400077
:10013000D30340000000000000000000D303400093
:1001400010B5054C237833B9044B13B10448AFF311
:1001500000800123237010BD4414402000000000E3
:10016000B40E40000C4B43B10C480D4910B5AFF331
:1001700000800C48036823B910BD0A48036833B9EE
:100180007047094B002BF7D0BDE810401847064BCD
:10019000002BF5D0184700BF00000000B40E40004F
:1001A00048144020B40E40000000000010B401606C
:1001B00042608360019BC360029B03615DF8044B56
:1001C00070474368C2685A60436802695A600368AE
:1001D0004FF400625A60036840F2D1321A62036839
:1001E00050221A60036801229A60704702685369BE
:1001F00013F0020FFBD0D16170474FF4004343600E
:1002000070470160426070470268136841680B43A1
:100210001360036842681A617047036842681A6392
:100220007047036842685A6370470368DA6B436833
:100230001A4214BF012000207047000010B510487A
:10024000104B98473E2100200F4B98470F4CA0477A
:100250000028FCD00E4B98470E4A0F4B9A620F4C69
:10026000A0470028FCD001200D4B984700200D4BE3
:1002700098470D4B98470D48024B984710BD00BF5B
:1002800000A3E111650540004D034000A1034000BB
:10029000B1034000013F0B2000060E40C1034000A7
:1002A000B1024000E90240005904400000449508B2
:1002B000032811D0042812D002280CBF4FF48071FB
:1002C0000021084A136B23F440730B431363936EAE
:1002D00013F0080FFBD070474FF44071F1E74FF473
:1002E0000071EEE700060E40174A136B23F070030F
:1002F00018431063936E13F0080F0AD14FF4006394
:1003000011498A6E12F0080F03D1013BF9D1012087
:1003100070470D4A136B23F0030343F0020313638A
:10032000936E13F0080F0AD14FF4006306498A6EEA
:1003300012F0080F05D1013BF9D1012070470020D0
:1003400070470020704700BF00060E40A0B90E485D
:10035000036A090289B20D4A1A400D4B134319432F
:1003600001620246936E13F0010FFBD0064A116A38
:10037000084B0B431362704703490B6A064A1A4045
:10038000064B13430B62704700060E40FCFFC8FF8C
:100390000100370000003701FCFFC8FE02003701F2
:1003A000024B986E00F48030704700BF00060E408C
:1003B0004FF00052014B9A62704700BF00060E409A
:1003C000024B986E00F00200704700BF00060E401E
:1003D0007047FEE708B5174B174A9A4210D0174BE3
:1003E000144A9A420CD2013B9B1A23F003030433B4
:1003F0001344114951F8040B42F8040B9A42F9D105
:100400000F4B104A9A420AD2013B9B1A23F0030376
:1004100004331344002142F8041B9342FBD10A4ADF
:100420000A4B23F07F039360094B9847094B984789
:10043000FEE700BF00004020B40E400044144020FE
:10044000C81440204414402000ED00E000004000AB
:10045000150D4000710740003B4B1B6B03F003037D
:10046000012B1DD083B1022B36D0374B1B6B03F011
:100470007003702B5FD0344B1A6B3449C2F30212F5
:100480000B68D3400B607047314B5B6913F0800FF2
:1004900014BF4FF400424FF4FA422C4B1A60E4E7C9
:1004A000294B1B6A13F0807F03D02A4A274B1A601E
:1004B000DBE7294A254B1A60234B1B6A03F07003C4
:1004C000102B05D0202BD0D1224A204B1A60CCE72C
:1004D000224A1E4B1A60C8E71B4B1B6A13F0807F31
:1004E00016D01C4A194B1A60174B1B6B03F0030301
:1004F000022BBAD1144A916A926A1448C1F30A4194
:10050000036801FB0333D2B2B3FBF2F30360ACE741
:10051000114A0E4B1A600C4B1B6A03F07003102B30
:1005200005D0202BE0D10B4A084B1A60DCE70B4AC0
:10053000064B1A60D8E7054A13680949A1FB031363
:100540005B081360704700BF00060E400C0040209F
:1005500010180E40001BB70000093D0000127A0081
:10056000ABAAAAAA164B984213D9164B984215D992
:10057000154B984216D9154B984217D9144B9842EF
:1005800018D9144B984294BF134A144A144B1A605A
:1005900070474FF08062124B1A607047114A104B3F
:1005A0001A607047104A0E4B1A6070470F4A0C4B86
:1005B0001A6070474FF00422094B1A60704700BF61
:1005C000BFF35E017FE7BD023FDB1C04FFCE7B056E
:1005D000BFC2DA067FB63908000500040006000431
:1005E000000C0E400001000400020004000300049F
:1005F0002DE9F843194F3846194EB047194D284692
:10060000194CA047DFF868804046A0473846B047FD
:100610002846164FB8474046B847DFF85890484636
:10062000B0472846A0474046A0474846B04728461E
:10063000B8474046B8474846B0472846A0474046D6
:10064000A0474846B0472846B8474046B8474846BE
:10065000B0472846A047BDE8F88300BF164D2E00DE
:100660000100402088144020230240001B0240006B
:100670007C1440203C851200034B4FF480621A61C9
:100680004FF480321A61704700060E404FF08052DE
:10069000174BC3F8002103F56063FC225A601A6708
:1006A000144B40F207221A60134AC3F82022C3F801
:1006B0004022C3F86022FF22C3F82C22C3F84C2248
:1006C000C3F86C220122C3F82422C3F84422C3F8E1
:1006D00064224FF00212C3F83822C3F85822C3F83C
:1006E00078224FF480321A620E225A60704700BF9F
:1006F00000060E4000C005400B070100084B4FF4F8
:1007000080621A614FF480721A6103F500635A6FB8
:1007100042F020025A675A6F42F010025A6770473F
:1007200000060E400D4B5B6913F0010F09D00C4B16
:100730001B683BB9094B9A690A4B1A700122084B96
:100740001A607047054B9A69074B1A700022044BD8
:100750001A600122054B1A60704700BF000A0E4064
:1007600060144020781440208414402064144020F9
:100770002DE9F04F8DB07E4B98477E4B98477E48D1
:100780007E4B98477E4B98477E4B98477E4E0AACEF
:100790007E4D4FF40052294620467D4FB84794E8DD
:1007A000030086E803003046DFF84082C047794EF8
:1007B0004FF4800229462046B84794E8030086E8B3
:1007C00003003046C047744E4FF4000229462046CD
:1007D000B84794E8030086E803003046C047DFF8D6
:1007E00010824FF4803229462046B84794E803002F
:1007F00088E80300694B4FF48072C3F88020C3F887
:100800008021202483F808431A60654B9847654F80
:1008100010230193009403232A46634904A8634CE0
:10082000A0473D4604AC0FCC0FC523682B6038466B
:100830005F4B98475F4B984730465F4B984740F275
:10084000AA2640F2551500244FF014084027DFF87F
:10085000A49103976FE0594B93F80080B8F1050F0E
:1008600028BF4FF0050870E04E48DFF88CA1D04754
:10087000524B19784B48D0470023C9F80030013457
:1008800001350136B4F5806F28BF0024B5F5806FBF
:1008900028BF0025B6F5806F28BF0026484B53F8C7
:1008A0002420039902FB01F14648A0FB0121C9095C
:1008B000043121F07F41444AC2F8281253F8251030
:1008C000039F01FB07F1A0FB01E1C909043121F0FD
:1008D0007F41C2F8481253F82630039903FB01F315
:1008E000A0FB0313DB09043323F07F43C2F8683213
:1008F00008EB8800400033D0C3173449A0FB010146
:10090000324F07FB0311324A0023DFF8F0A04FF00B
:10091000000B1AEB000A4BEB010B50465946DFF86F
:10092000E0A0D0472B4B98471A482B4B9847D8B19B
:1009300018482A4B9847D9F80030002B9FD0284BF5
:100940001978284B1B788B4285D0274B1B788B421C
:100950008AD11A4B1F78402F38BF4027039783E76F
:1009600019201C4B9847DFE70A48134B9847E2E7EA
:10097000D10340003D02400050180E40FB014000F2
:100980008D0640007906400088144020000E0E407D
:10099000030240007C1440206814402000E100E085
:1009A000FD06400090144020000A0E40AD014000BA
:1009B000C3014000F10540001B02400084144020A8
:1009C000140040208180808000C0054000449508CC
:1009D000E0835A00010040202B0240002302400027
:1009E00078144020100040201410402009024000DC
:1009F0007014402064144020ED014000DF835A0051
:100A0000050A400053B94AB9002908BF00281CBF95
:100A10004FF0FF314FF0FF3000F07AB9ADF1080C24
:100A20006DE904CE00F006F8DDF804E0DDE902230C
:100A300004B070472DE9F0478C460D460446089EE9
:100A4000002B51D18A4217466DD9B2FA82FEBEF10F
:100A5000000F0BD0CEF1200C01FA0EF520FA0CFCA1
:100A600002FA0EF74CEA050C00FA0EF44FEA174AA8
:100A7000250CBCFBFAF81FFA87F90AFB18CC45EAEB
:100A80000C4508FB09F3AB420AD9ED1908F1FF3216
:100A900080F02381AB4240F22081A8F102083D445E
:100AA000ED1AA4B2B5FBFAF00AFB105544EA05446E
:100AB00000FB09F9A14509D9E41900F1FF3380F0E1
:100AC0000A81A14540F2078102383C44A4EB0904A5
:100AD00040EA08400021002E61D024FA0EF40023E1
:100AE00034607360BDE8F0878B4207D9002E54D084
:100AF000002186E821000846BDE8F087B3FA83F1BB
:100B0000002940F08E80AB4202D3824200F2FA808C
:100B1000841A65EB03050120AC46002E3FD086E821
:100B20001010BDE8F08712B90127B7FBF2F7B7FA4A
:100B300087FEBEF1000F34D1EB1B3A0C1FFA87FC85
:100B40000121B3FBF2F8250C02FB183345EA0345FB
:100B50000CFB08F3AB4207D9ED1908F1FF3002D2C4
:100B6000AB4200F2D1808046ED1AA3B2B5FBF2F0A1
:100B700002FB105543EA05440CFB00FCA44507D9D1
:100B8000E41900F1FF3302D2A44500F2B880184600
:100B9000A4EB0C0440EA08409DE731463046BDE82E
:100BA000F087CEF1200405FA0EF307FA0EF720FACB
:100BB00004F83A0C25FA04F448EA0308B4FBF2F10D
:100BC0004FEA184502FB11441FFA87FC45EA044529
:100BD00001FB0CF3AB4200FA0EF409D9ED1901F157
:100BE000FF3080F08A80AB4240F2878002393D447A
:100BF000EB1A1FFA88F5B3FBF2F002FB103345EA5B
:100C0000034500FB0CF3AB4207D9ED1900F1FF38A7
:100C10006FD2AB426DD902383D44EB1A40EA014134
:100C20008FE7C1F1200722FA07F88B4005FA01F49B
:100C300048EA030320FA07FE4FEA134CFD404EEA50
:100C4000040EB5FBFCF94FEA1E440CFB19551FFAC4
:100C500083F844EA054509FB08F4AC4202FA01F2C4
:100C600000FA01FA08D9ED1809F1FF3043D2AC427D
:100C700041D9A9F102091D442D1B1FFA8EFEB5FBB7
:100C8000FCF00CFB10554EEA054400FB08F8A045AB
:100C900007D9E41800F1FF3529D2A04527D9023839
:100CA0001C4440EA0940A4EB0804A0FB02894C451F
:100CB000C6464D4615D312D056B1BAEB0E0364EBBF
:100CC000050404FA07F7CB401F43CC40376074603B
:100CD0000021BDE8F0871846F8E69046E0E6C245F8
:100CE000EAD2B8EB020E69EB03050138E4E72846C7
:100CF000D7E7404691E78146BEE7014678E70238EC
:100D00003C4445E7084608E7A8F102083D442BE7C4
:100D1000704700BF70B50F4E0F4D761BB61018BF51
:100D2000002405D0013455F8043B9847A642F9D178
:100D30000A4E0B4D761B00F0A7F8B61018BF002422
:100D400006D0013455F8043B9847A642F9D170BD4E
:100D500070BD00BF940E4000940E40009C0E4000F9
:100D6000940E4000024B13B1024800F005B87047E2
:100D700000000000850D4000002301461A46184679
:100D800000F01EB838B50A4C0A4D641BA4100AD0F6
:100D900004F18043013B05EB8305013C55F8043920
:100DA0009847002CF9D1BDE8384000F077B800BF73
:100DB000AC0E4000A80E4000704700BF704700BF57
:100DC0002DE9F8432C4D0646286898460F46914673
:100DD000FFF7F2FF294B1C68D4F84831002B3ED0B6
:100DE0005A681F2A1CDC02F1010E76B103EB820166
:100DF0000124C1F88890D3F8880194402043022E42
:100E0000C3F88801C1F8088123D00232C3F804E096
:100E1000286843F82270FFF7D1FF0020BDE8F8836F
:100E2000174B0BB34FF4C870AFF300800346D8B133
:100E3000D4F848210260002141600A46C4F8480104
:100E40004FF0010EC0F88811C0F88C11002EDCD0D4
:100E5000CCE7D3F88C110C43C3F88C41D5E704F5EB
:100E6000A673C4F84831BBE72868FFF7A7FF4FF027
:100E7000FF30BDE8F88300BF40144020840E4000DE
:100E80000000000018104020F8B500BFF8BC08BCF6
:100E90009E467047650D400065014000F8B500BFF3
:0C0EA000F8BC08BC9E46704741014000B1
:080EAC0088FBFF7F010000003C
:100EB400BFF35F8F0138FBD17047000000093D008C
:100EC400700000008000000080000000810000002D
:100ED4008200000083000000830000008400000002
:100EE40085000000860000008700000087000000E5
:100EF40088000000890000008A0000008A000000C9
:100F04008B0000008C0000008D0000008E000000AB
:100F14008E0000008F00000090000000910000008F
:100F24009100000092000000930000009400000073
:100F34009500000095000000960000009700000056
:100F44009800000098000000990000009A0000003A
:100F54009B0000009B0000009C0000009D0000001E
:100F64009E0000009F0000009F000000A000000001
:100F7400A1000000A2000000A2000000A3000000E5
:100F8400A4000000A5000000A5000000A6000000C9
:100F9400A7000000A8000000A8000000A9000000AD
:100FA400AA000000AA000000AB000000AC00000092
:100FB400AD000000AD000000AE000000AF00000076
:100FC400B0000000B0000000B1000000B20000005A
:100FD400B2000000B3000000B4000000B50000003F
:100FE400B5000000B6000000B7000000B700000024
:100FF400B8000000B9000000BA000000BA00000008
:10100400BB000000BC000000BC000000BD000000EC
:10101400BE000000BE000000BF000000C0000000D1
:10102400C0000000C1000000C2000000C2000000B7
:10103400C3000000C4000000C4000000C50000009C
:10104400C6000000C6000000C7000000C800000081
:10105400C8000000C9000000CA000000CA00000067
:10106400CB000000CC000000CC000000CD0000004C
:10107400CD000000CE000000CF000000CF00000033
:10108400D0000000D0000000D1000000D200000019
:10109400D2000000D3000000D3000000D400000000
:1010A400D5000000D5000000D6000000D6000000E6
:1010B400D7000000D7000000D8000000D9000000CD
:1010C400D9000000DA000000DA000000DB000000B4
:1010D400DB000000DC000000DC000000DD0000009C
:1010E400DE000000DE000000DF000000DF00000082
:1010F400E0000000E0000000E1000000E10000006A
:10110400E2000000E2000000E3000000E300000051
:10111400E4000000E4000000E5000000E500000039
:10112400E6000000E6000000E6000000E700000022
:10113400E7000000E8000000E8000000E90000000B
:10114400E9000000EA000000EA000000EA000000F4
:10115400EB000000EB000000EC000000EC000000DD
:10116400ED000000ED000000ED000000EE000000C6
:10117400EE000000EF000000EF000000EF000000B0
:10118400F0000000F0000000F0000000F10000009A
:10119400F1000000F1000000F2000000F200000085
:1011A400F2000000F3000000F3000000F300000070
:1011B400F4000000F4000000F4000000F50000005A
:1011C400F5000000F5000000F6000000F600000045
:1011D400F6000000F7000000F7000000F700000030
:1011E400F7000000F8000000F8000000F80000001C
:1011F400F8000000F9000000F9000000F900000008
:10120400F9000000FA000000FA000000FA000000F3
:10121400FA000000FA000000FB000000FB000000E0
:10122400FB000000FB000000FB000000FC000000CD
:10123400FC000000FC000000FC000000FC000000BA
:10124400FC000000FD000000FD000000FD000000A7
:10125400FD000000FD000000FD000000FD00000096
:10126400FE000000FE000000FE000000FE00000082
:10127400FE000000FE000000FE000000FE00000072
:10128400FE000000FE000000FE000000FF00000061
:10129400FF000000FF000000FF000000FF0000004E
:1012A400FF000000FF000000FF000000FF0000003E
:1012B400FF000000FF000000FF000000FF0000002E
:1012C400FF000000FF000000FF000000FF0000001E
:1012D400FF000000FF000000FF000000FF0000000E
:1012E400FF000000FF000000FF000000FF000000FE
:1012F400FF000000FF000000FF000000FF000000EE
:10130400FE000000FE000000FE000000FE000000E1
:10131400FE000000FE000000FE000000FE000000D1
:10132400FE000000FE000000FD000000FD000000C3
:10133400FD000000FD000000FD000000FD000000B5
:10134400FD000000FD000000FC000000FC000000A7
:10135400FC000000FC000000FC000000FB0000009A
:10136400FB000000FB000000FB000000FB0000008D
:10137400FB000000FA000000FA000000FA00000080
:10138400FA000000F9000000F9000000F900000074
:10139400F9000000F8000000F8000000F800000068
:1013A400F8000000F7000000F7000000F70000005C
:1013B400F7000000F6000000F6000000F600000050
:1013C400F5000000F5000000F5000000F500000045
:1013D400F4000000F4000000F4000000F30000003A
:1013E400F3000000F3000000F2000000F20000002F
:1013F400F2000000F1000000F1000000F100000024
:10140400F0000000F0000000EF000000EF0000001A
:10141400EF000000EE000000EE000000EE0000000F
:10142400ED000000ED000000EC000000EC00000006
:10143400EB000000EB000000EB000000EA000000FD
:10144400EA000000E9000000E9000000E8000000F4
:10145400E8000000E8000000E7000000E7000000EA
:10146400E6000000E6000000E5000000E5000000E2
:10147400E4000000E4000000E3000000E3000000DA
:10148400E2000000E2000000E1000000E1000000D2
:10149400E0000000E0000000DF000000DF000000CA
:1014A400DE000000DE000000DD000000DD000000C2
:1014B400DC000000DC000000DB000000DB000000BA
:1014C400DA000000D9000000D9000000D8000000B4
:1014D400D8000000D7000000D7000000D6000000AC
:1014E400D5000000D5000000D4000000D4000000A6
:1014F400D3000000D3000000D2000000D10000009F
:10150400D1000000D0000000D0000000CF00000097
:10151400CE000000CE000000CD000000CC00000092
:10152400CC000000CB000000CB000000CA0000008B
:10153400C9000000C9000000C8000000C700000086
:10154400C7000000C6000000C5000000C500000080
:10155400C4000000C3000000C3000000C20000007B
:10156400C1000000C1000000C0000000BF00000076
:10157400BF000000BE000000BD000000BD00000070
:10158400BC000000BB000000BB000000BA0000006B
:10159400B9000000B9000000B8000000B700000066
:1015A400B6000000B6000000B5000000B400000062
:1015B400B4000000B3000000B2000000B10000005D
:1015C400B1000000B0000000AF000000AF00000058
:1015D400AE000000AD000000AC000000AC00000054
:1015E400AB000000AA000000A9000000A900000050
:1015F400A8000000A7000000A6000000A60000004C
:10160400A5000000A4000000A3000000A300000047
:10161400A2000000A1000000A0000000A000000043
:101624009F0000009E0000009D0000009D0000003F
:101634009C0000009B0000009A0000009A0000003B
:101644009900000098000000970000009600000038
:101654009600000095000000940000009300000034
:101664009300000092000000910000009000000030
:10167400900000008F0000008E0000008D0000002C
:101684008C0000008C0000008B0000008A00000029
:101694008900000088000000880000008700000026
:1016A4008600000085000000850000008400000022
:1016B400830000008200000081000000810000001F
:1016C400800000007F0000007E0000007E0000001B
:1016D4007D0000007C0000007B0000007A00000018
:1016E4007A00000079000000780000007700000014
:1016F4007700000076000000750000007400000010
:10170400730000007300000072000000710000000C
:10171400700000006F0000006F0000006E00000009
:101724006D0000006C0000006C0000006B00000005
:101734006A00000069000000690000006800000001
:1017440067000000660000006500000065000000FE
:1017540064000000630000006200000062000000FA
:1017640061000000600000005F0000005F000000F6
:101774005E0000005D0000005C0000005C000000F2
:101784005B0000005A0000005900000059000000EE
:1017940058000000570000005600000056000000EA
:1017A40055000000540000005300000053000000E6
:1017B40052000000510000005000000050000000E2
:1017C4004F0000004E0000004E0000004D000000DD
:1017D4004C0000004B0000004B0000004A000000D9
:1017E40049000000490000004800000047000000D4
:1017F40046000000460000004500000044000000D0
:1018040044000000430000004200000042000000C9
:101814004100000040000000400000003F000000C4
:101824003E0000003E0000003D0000003C000000BF
:101834003C0000003B0000003A0000003A000000B9
:1018440039000000380000003800000037000000B4
:1018540036000000360000003500000034000000AF
:1018640034000000330000003300000032000000A8
:101874003100000031000000300000002F000000A3
:101884002F0000002E0000002E0000002D0000009C
:101894002C0000002C0000002B0000002B00000096
:1018A4002A0000002A00000029000000280000008F
:1018B4002800000027000000270000002600000088
:1018C4002600000025000000240000002400000081
:1018D400230000002300000022000000220000007A
:1018E4002100000021000000200000002000000072
:1018F4001F0000001F0000001E0000001E0000006A
:101904001D0000001D0000001C0000001C00000061
:101914001B0000001B0000001A0000001A00000059
:101924001900000019000000180000001800000051
:101934001700000017000000170000001600000048
:10194400160000001500000015000000140000003F
:101954001400000014000000130000001300000035
:10196400120000001200000011000000110000002D
:101974001100000010000000100000001000000022
:101984000F0000000F0000000E0000000E00000019
:101994000E0000000D0000000D0000000D0000000E
:1019A4000C0000000C0000000C0000000B00000004
:1019B4000B0000000B0000000A0000000A000000F9
:1019C4000A0000000A0000000900000009000000ED
:1019D40009000000080000000800000008000000E2
:1019E40008000000070000000700000007000000D6
:1019F40007000000060000000600000006000000CA
:101A040006000000050000000500000005000000BD
:101A140005000000040000000400000004000000B1
:101A240004000000040000000400000003000000A3
:101A34000300000003000000030000000300000096
:101A4400020000000200000002000000020000008A
:101A5400020000000200000002000000020000007A
:101A6400010000000100000001000000010000006E
:101A7400010000000100000001000000010000005E
:101A84000100000001000000000000000000000050
:101A94000000000000000000000000000000000042
:101AA4000000000000000000000000000000000032
:101AB4000000000000000000000000000000000022
:101AC4000000000000000000000000000000000012
:101AD4000000000000000000000000000000000002
:101AE40000000000000000000000000000000000F2
:101AF40000000000000000000000000001000000E1
:101B040001000000010000000100000001000000CD
:101B140001000000010000000100000001000000BD