CCS Versiyon 5 kullanıyorum. Programları hızlı geliştirmek için 18F4450 bootloader yaptım. Fakat CCS ile uyumlu çalışmadı.
yaptığım devre bu
https://320volt.com/pic18f4550-ile-usb-haberlesme-kullanimi/ (https://320volt.com/pic18f4550-ile-usb-haberlesme-kullanimi/)
Sadece usb bağlantısı, besleme, 2 buton ve PORTD'ye 4 adet smd led koydum. En basit olucak şekilde yaptım.
Boot butonu RB4'e bağlı.
Sizin kullanıpta memnun olduğunuz tam olarak çalışan program hex vermeniz mümkün mü?
Birde ufak bir led yak söndür programı istiyorum örnek olması açısından.
İyi çalışmalar...
Merhaba Hocam,
Bir iki gündür bende bununla ugraşıyorum
http://hades.mech.northwestern.edu/index.php/USB_bootloading (http://hades.mech.northwestern.edu/index.php/USB_bootloading)
bu adresdeki HID Bootloader kısmındaki hex kodunu ve proje dosyasını indirdim, 18F4550 ye yükledim ( 20 Mhz takılı devrede ) , Boot butonuna (RB4) basarak usb yi taktığımda D0 ve D1 e bağlı ledler flash lıyanıyor ve HID loader programı PIC i görüyor, yukardaki sayfada gösterdiği gibi programın başına aşağıdaki kodu ekliyorum ve programı yüklüyorum, başarılı yüklendi diyor fakat yüklediğim program çalışmıyor. :( nedenini bende anlamadım. Burda kullanıcı programı 0x10FF den sonra başlayacak yazıyor fakar 18f4550 i PICKIT2 ile okuduğumda yüklediğim program gözükmüyor sadece bootloder programı gözüküyor.
HID bootloader with CCS:
#build (reset=0x1100, interrupt=0x1108) //code starts right after the bootloader
#org 0, 0x10FF {} //don't overwrite the bootloader
Benim Yazdığım deneme kodu
#include <18F4550.h>
#device ADC=10
#build (reset=0x1100, interrupt=0x1108) //code starts right after the bootloader
#org 0, 0x10FF {} //don't overwrite the bootloader
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use delay(clock=48000000)
void main()
{
output_high(pin_d0);
delay_ms(2000);
output_low(pin_d0);
while(TRUE)
{
output_high(pin_d1);
delay_ms(1000);
output_low(pin_d1);
delay_ms(1000);
}
}
(http://s1.postimg.cc/bni0kqcmn/Y_kleme.jpg) (http://s27.postimg.cc/5zok1xnr7/fdfdf.jpg)
(http://s24.postimg.cc/axjzz2n85/pickit2.jpg)
İkimizde aynı devreyi yapmışız. Aynı hex'i yüklemişiz. Ama Bizim hex C18 ile yazılmış. CCS ayarını tam yapamıyoruz.(kristal ikizimizinde 20Mhz)
Bilen bir arkadaş mesaj yazacaktır.
Hex'in tam ismi
USB Device - HID - HID Bootloader - C18 - PIC18F4450.hex
Benim yüklediğim Hex dosyası
HID Bootloader PIC18 Non J.hex
Ayrıca bootloader olayını Microchip MCHPFSUSB v2.2 Installer dosyasını indirip burdanda denedim ama sonuç aynı.
Nerde hata yaptığımızı bulamadım.
MicroC nin Bootlader'ınıda yaptım ondada pic gördü fakat ccs de yazdığım hex kodunu açınca parametre hatası verdi.
Geçen hafta ben de aynı konuda debelendim durdum. 320 sitesindekini sorunsuz çalıştırdım ancak bootloader yükledikten sonra bootloader modunda usb bağlantı çalışıyor ancak bootloader ile asıl programı yğüklediğimde asıl programdaki usb arayüzü çalışmıyordu. Aynı koddan bootloader ifadelerini çıkarıp seri programlayıcı ile pice attığımda yazdığım usb arayüzü sorunsuz çalışıyordu. Ayrıca verilen örnek programda bootloader için ayrılması gerekn bölüm yok dolayısı ile en basit program bile çalışmıyordu. ben de zorunlu olarak terk ettim bu bootloaderı. Daha sonra ccs içerisindeki örnek bootloader kodlarını derledim. yükledim usb bağlantısı dahil sorunsuz çalıştı. 320 volt sitesindeki örnekler baz alınarak yaptığım kendi çalışmalarımı ekledim. ister kodu tekrar derleyin ister içerisindeki hazır hexi kullanın sorunsuz çalışıyor. birde örnek program ekledim bootloader ile sorunsuz çalışıyor. takıldığınız konuda yardımcı olmaya çalışırım.
https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq (https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq)
https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq (https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq)
Not: Bootloadera program yüklemek için secure crt 7,3 diye bir program kullanıyorum. 30 günlük deneme sürümü var. zaman dolunca başka bir program arayacağım.
Ben kullanmadım ama;
CcsC nin kendi örnekleri olan
ex_bootload.c ve ex_bootloader.c yi incelerdim kullanacak olsam.
Alıntı yapılan: DaRt - 07 Nisan 2015, 15:09:15
Geçen hafta ben de aynı konuda debelendim durdum. 320 sitesindekini sorunsuz çalıştırdım ancak bootloader yükledikten sonra bootloader modunda usb bağlantı çalışıyor ancak bootloader ile asıl programı yğüklediğimde asıl programdaki usb arayüzü çalışmıyordu. Aynı koddan bootloader ifadelerini çıkarıp seri programlayıcı ile pice attığımda yazdığım usb arayüzü sorunsuz çalışıyordu. Ayrıca verilen örnek programda bootloader için ayrılması gerekn bölüm yok dolayısı ile en basit program bile çalışmıyordu. ben de zorunlu olarak terk ettim bu bootloaderı. Daha sonra ccs içerisindeki örnek bootloader kodlarını derledim. yükledim usb bağlantısı dahil sorunsuz çalıştı. 320 volt sitesindeki örnekler baz alınarak yaptığım kendi çalışmalarımı ekledim. ister kodu tekrar derleyin ister içerisindeki hazır hexi kullanın sorunsuz çalışıyor. birde örnek program ekledim bootloader ile sorunsuz çalışıyor. takıldığınız konuda yardımcı olmaya çalışırım.
https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq (https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq)
https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq (https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq)
Not: Bootloadera program yüklemek için secure crt 7,3 diye bir program kullanıyorum. 30 günlük deneme sürümü var. zaman dolunca başka bir program arayacağım.
Teşekkür ederim Hocam,
bootloader olarak
HIDBootLoader.exe yi kullanamaz mıyız.
Alıntı yapılan: thenorthstar - 07 Nisan 2015, 15:42:08
Teşekkür ederim Hocam,
bootloader olarak HIDBootLoader.exe yi kullanamaz mıyız.
VID ve PID değerleri farklı dolayısı ile o program cihaz yok hatası verir. ayrıca gelen dataların kabul edilerek belirtilen adreslere yazılmasını da pc arayüzü yapıyor. Olmaz yani ama başka programlar da bulunabilir. Araştırmadım açıkçası.
Alıntı yapılan: DaRt - 07 Nisan 2015, 15:45:39
VID ve PID değerleri farklı dolayısı ile o program cihaz yok hatası verir. ayrıca gelen dataların kabul edilerek belirtilen adreslere yazılmasını da pc arayüzü yapıyor. Olmaz yani ama başka programlar da bulunabilir. Araştırmadım açıkçası.
Teşekkür ederim Hocam.
#include <usb_bootloader.h> ekleyince oluyor...
Alıntı yapılan: tacettin - 08 Nisan 2015, 08:02:32
#include <usb_bootloader.h> ekleyince oluyor...
tacettin hocam, onuda denedim fakat ben yapamadım, hem bootloader hemde bir uygulama örneği var mı benim kartta deneyebileceğim.
yüklediğim hex bu 18f4550 ve 20MHz de... bootloadere mclr ye bağlı butondan geçiyor.
[code]
:020000040000FA
:10000000E8EF07F01200FFFF04EF08F01200FFFF17
:10001000FFFFFFFFFFFFFFFF0CEF08F01200FFFFE5
:100020000100EE0F0000BA00000002000000CF0E39
:100030008A1693160301736B776978697969766B11
:10004000010E7A6F1200D9CFE6FFE1CFD9FFE65259
:10005000030173511FE1040108BF1BD0400EE66E7F
:10006000600EE66E000EE66E0CEC06F0E552E55210
:10007000E5520301010E736FDF6A400EDF5C09E297
:10008000DF50EA6ABB0FE96E030EEA22EF6ADF2A4D
:10009000F4D797D100016051080A01E181D10F0A1C
:1000A00001E123D1010A01E118D1030A01E1B4D031
:1000B000010A6AE0070A5DE0010A01E082D103015A
:1000C000020EBB6F03013A0EBC6F0301010EBD6F40
:1000D0000301010EBE6F0301BF6B100EC06FC16B39
:1000E000C26B0301C36B700EC46FC56BC66B03019B
:1000F000030EC76F0301C86BC96B300ECA6FCB6BA1
:1001000003010E0ECC6FCD6BCE6BCF6B0301010ED6
:10011000D06F0301D16BD26B200ED36FD46B030170
:10012000080ED56FD66BD76BD86B0301D969030165
:10013000020ED96F0301DA6BDB6BF00EDC6FDD6B47
:100140000301DE6B010EDF6FE06BE16B0301E2691F
:1001500004010CBF0DD0400EE66EBB0EE66E030E22
:10016000E66EDCEC05F0E552E552E5520301736BF7
:1001700028D10301010E7A6F0001615102E10301F0
:100180007A6B0301736B1DD1400E0301746F756BA5
:100190000301000E745D020E75591FE2040074C362
:1001A00000F075C301F0026A060E1F0B00C0F6FFD7
:1001B00001C0F7FF02C0F8FF06E0D890F636F73628
:1001C000F836E806FAE1940EA66EA4D966EC06F0BD
:1001D0000301742B000E7523DBD7DF6ADF50A96E95
:1001E000A868040EA66E66EC06F094D9DF50DF2AEC
:1001F000006E016A026AFF0E005C000E0158000EDC
:100200000258ECE3F66AF76A200EF86E940EA66EBA
:1002100081D90301736BD5D0300E0001635D07E116
:1002200003017A5101E133D90301736BCAD0F00E97
:100230000001635D04E14ED90301736BC2D0E8682D
:100240000301771905E1E868781902E1E86879198E
:1002500006E161C077F362C078F363C079F3770E8B
:10026000E96E030EEA6EEE500001611908E1EE50EE
:100270000001621904E1EE500001631900E12AE176
:10028000DF6A00016551DF5C25E23A0E0001D8808B
:100290006555DF24EA6A660FE96E000EEA22EF5028
:1002A000E66E03017651EA6A7B0FE96E030EEA22DD
:1002B000E552E750EF6E0301762B0301772B000E1A
:1002C0007823000E7923200E0301765D01E17ED8AC
:1002D000DF2AD7D70301736B74D078D8030177690D
:1002E000786979690301736B6CD00301070EBB6FEA
:1002F00061C0BCF362C0BDF363C0BEF364C0BFF3B2
:1003000065C0C0F361C0F6FF62C0F7FF63C0F8FFCD
:10031000DF6A00016551DF5C31E2F00E0001635DD0
:1003200013E1DF5000016125A96EA66AA6803A0E8E
:100330000001D8806555DF24EA6AC10FE96E030E1B
:10034000EA22A8CFEFFF18D00900300EF85C08E1D0
:10035000050EF65C01E1F568080EF65C01E1F56852
:100360003A0E0001D8806555DF24EA6AC10FE96EB4
:10037000030EEA22F5CFEFFFDF2ACBD704010CBF33
:100380000ED0400EE66EBB0EE66E030EE66EDCECA3
:1003900005F0E552E552E552D08200EF08F011D0A9
:1003A0006D926D6ADF6AFF0EDF5C09E2E868E85073
:1003B00004E0E80600D000D0FAD7DF2AF4D7FF0027
:1003C00000D0E552E552E7CFD9FF12000301FC6BE4
:1003D00076C300F0016A026A00500301775DF66E91
:1003E000015003017859F76E025003017959F86EF4
:1003F0001F0EF6140301FD6FE00EF6160301FB6BF2
:10040000200E0301FB5D1FE20301FD5115E1030115
:1004100076510FE00301FC51EA6A7B0FE96E030E8F
:10042000EA22EF50F56E0D000301FC2B0301760765
:1004300002D0F5680D0004D0F5680D000301FD073A
:100440000301FB2BDDD70A00A40EA66E63D80301BF
:10045000FB6B030176510301FB5D18E20301FC51C4
:100460000301FB25EA6A7B0FE96E030EEA22EF50D7
:10047000E66E0301FB51EA6A7B0FE96E030EEA2286
:10048000E552E750EF6E0301FB2BE3D7120061C08A
:10049000F6FF62C0F7FF63C0F8FF0301FE6B0001C7
:1004A00065510301FE5D15E23A0E0001D8806555E5
:1004B0000301FE25EA6A660FE96E000EEA22EF509C
:1004C000F56E0C00C40EA66E25D809000301FE2BA4
:1004D000E6D712000301FF6B000165510301FF5DC8
:1004E00018E2000161510301FF25A96E3A0E0001D7
:1004F000D88065550301FF25EA6A660FE96E000E94
:10050000EA22EF50A86E040EA66E04D80301FF2B5A
:10051000E3D71200F29E550EA76EAA0EA76EA68212
:10052000A6B2FED7A69412007AD9E6526C5032E1F8
:100530006896040100513C0BE842E8420D0828E1AE
:10054000180E021923E1040E031920E1100E026FA8
:10055000040E036FDF6ADF50006E016A080E005C54
:10056000000E015813E2DF50EA6A180FE96E040E1C
:10057000EA22EF50E66EDF50EA6A100FE96E040ED1
:10058000EA22E552E750EF6EDF2AE5D70ED80AD00F
:100590003FD808D0040E6C5C03E1689650D802D0B6
:1005A000000E01D0010EE5523FD139D9E6520401C7
:1005B00004BF046B0001B26BAA6BAB6BB06BB16B89
:1005C00020EC04F0DF6ADF50006E016A010E005C6F
:1005D000000E01581AE20001AB5117E1F76ADF344F
:1005E000FE0BF736F66E9A0EF6260E0EF72209006F
:1005F000F5CF00F00800F5CF01F004D001C0FAFFFC
:100600000050F96EFBDFDF2ADED7B4D8E5520CD1FB
:10061000020E0001AA5D0EE181D80401180E026FDE
:10062000040E036F080E016F00BD02D0C80E05D086
:10063000880E03D0D8D8E4D88C0E006F1200040EB8
:100640000001B35D09E112C46EFF6E50000802E2C2
:10065000050E01D0030EB36F0001AA0510E111D8F9
:10066000020E0001B25D03E10401840E06D0040114
:1006700004BD02D0C80E01D0880E046F1200F3EF43
:1006800003F0CDD8020EE1260001080EB05D000E89
:10069000B1590DE2B0C0DEFFB1C0DDFFB25102E1E1
:1006A000010E03D0B20506E1020EB26F03D0080EB0
:1006B000DE6EDD6A040104930491010EDB50041325
:1006C000DFCF05F4000EDB500001B05F010EDB5000
:1006D000B15B180EAE6F040EAF6F0001B4A30CD067
:1006E00097D815E0ACC0F6FFADC0F7FF0800F55095
:1006F0007FD8F6E2DB06F4D78BD809E0ACC0E9FF7F
:10070000ADC0EAFFEF5074D8F7E2DB06F5D7020E72
:10071000E15C02E2E16AE552E16E86D080D8020E29
:10072000E126030E04010015E76E010EE7CFDBFFA3
:1007300001C4DFFFDE500001B027DD50B123180EE9
:10074000AC6F040EAD6F64D80EE0ACC0E9FFADC075
:10075000EAFFEF50AEC0E9FFAFC0EAFFEF6E68D826
:10076000F2E2DB06F0D7020EE15C02E2E16AE5525A
:10077000E16E5AD06D980001AB5105E141D8840E6D
:10078000006F04011DD0040110AF1CD00001B05156
:100790000401165D0001B1510401175904E216C4A9
:1007A000B0F017C4B1F06DDF0001010EAA6F28D8B8
:1007B000800E006F0401180E066F040E076FC80E3E
:1007C000046F12000001020EAA6F0401056BC80E2F
:1007D000046F0401080E016F180E026F040E036F00
:1007E000C80E006F12000001AA6B0401046B120016
:1007F000AEC0E9FFAFC0EAFFEF6E000118EF04F0F2
:100800000401080E016F100E026F040E036F120038
:10081000D9CFE9FFDACFEAFFEE50ED101200D9CFC1
:10082000E6FFE1CFD9FF1200E552E7CFD9FF120072
:10083000AE2B000EAF23AC2BAD23DF06010E120052
:1008400004011051600BE842E842E842E842E84205
:10085000000901E012001151070A40E00B0A3EE0D6
:10086000070A33E0010A23E00B0A1FE0020A1DE039
:10087000030A19E0080A10E0010A0CE00F0A08E078
:10088000030A01E0120012D90001040EB36F120036
:100890006FEF04F0A6EF04F009D90001B50EAC6FBC
:1008A000000EAD6F0CD0C1EF04F0F3EF04F002D9ED
:1008B0000001AC6FAD6BB60EAC27000EAD2300018E
:1008C000B4930001010EB06F1200F4D8EA6AB60FBB
:1008D000E96E000EEA2212C4EFFF12001200800E31
:1008E0000401105D32E11351030A1FE0010A0AE01E
:1008F000030A29E1DBD80001DA0EAC6F0D0EAD6FF3
:10090000120E1ED0B2D8900EF6260E0EC0D8020ED1
:100910000001F76AAC25F66EAD51F7220900F5CF5C
:10092000B0F00A00F5CFB1F00ED09FD8940EF626A5
:100930000E0EADD8ACC0F6FFADC0F7FF0800F55005
:100940000001B06FB16B0001B4831200AFD80F0E7D
:10095000E66E710EE66E0F0EA2D8010EE66EB60EB2
:10096000E66E000E9CD812C4B5F00401125104E1E9
:100970000001050EB36F12000001060EB36FC7EF42
:1009800005F00401186B196B040110511F0B020ACA
:100990000FE0030A0BE0010A18E188D8040118816E
:1009A0000001B4A112D0040118830FD07FD80DD05C
:1009B00050D801E0010E62D8AEC0E9FFEA6EEF50F8
:1009C000040B03E00401010E186F0001AB050AE1FE
:1009D0000001180EAC6F040EAD6F0001B49300015E
:1009E000020EB06F1200040112050EE110511F0B30
:1009F00000090AE15BD8030E0401115D03E1000167
:100A0000B48102D00001B4910401125121E11051CE
:100A10001F0B02081DE114510F0B000919E019D832
:100A200001E0010E2BD8030E0401115D02E1840EDA
:100A300003D014AF07D0400EAEC0E9FFAFC0EAFF4D
:100A4000EF6E1200880EAEC0E9FFAFC0EAFFEF6E96
:100A5000120030D80F0B080DF350016A000F006E22
:100A6000040E01221451800B120020D804011251EF
:100A7000F66EF76AD890F636F7361200040DF3508A
:100A800000010024AE6F000E0120AF6F1200F722AC
:100A90000900F5CFACF00A00F5CFADF01200E66E1C
:100AA000D8EC06F0E552E552E55212000001010EC5
:100AB000AB6F1200FBDF040114511200040110514E
:100AC0001F0B010801E01200145101E01200060E94
:100AD000115D24E11351230A1FE0010A0DE0030A0E
:100AE0001BE1DBD80001B50505E10001FE0EAC6F8E
:100AF0000D0EAD6F090E0DD0D0D80001B50505E182
:100B00000001730EAC6F0E0EAD6F0001B50504E170
:100B10001D0E0001B06FB16B0001B48304011051D0
:100B2000600BE842E842E842E842E842010801E09E
:100B3000120011510B0A25E0080A17E0090A11E01A
:100B4000080A09E00B0A05E0080A01E01200C5EFF7
:100B500005F0C6EF05F0A1D80001B70EAC6F000E8E
:100B600009D09BD813C4B7F0120097D80001B80E73
:100B7000AC6F000EAD6F0001B4930001010EB06FB9
:100B800012008BD812C4B8F012001200120000013B
:100B9000B96B1E0E716E0401400E096F200E0A6FB4
:100BA000040E0B6F880E086F0401600E0E6F040EAA
:100BB0000F6F400E0C6F1200D9CFE6FFE1CFD9FFC7
:100BC000E652FC0EDB50400805E2400EF36EFC0ED0
:100BD000F3CFDBFFDF6AFC0EDB50DF5C0FE2DF50A0
:100BE00050D8EF50E66EDF50EA6A600FE96E040EEF
:100BF000EA22E552E750EF6EDF2AEDD7FC0EDBCF9D
:100C00000DF4400E04010C170C7D880E0C13E552F8
:100C1000E552E7CFD9FF1200D9CFE6FFE1CFD9FFE8
:100C20000001B96B040108BF26D0FC0EDBCF00F039
:100C30000951D880005403E2FC0E09C4DBFF000117
:100C4000B96BFC0EDB50B95D0FE2B951EA6A200FB7
:100C5000E96E040EEA22EF50E66EB95112D8E55261
:100C6000E750EF6EB92BEDD70401400E096F08175E
:100C7000087D880E08130001B951E552E7CFD9FF6E
:100C80001200E76EFD0EDBCFE9FFFE0EDBCFEAFFC1
:100C9000E750E926000EEA2212000001020EAB6FB7
:100CA00012006DA60CD80001B30508E16DBA06D09C
:100CB000686A696A69806988020EB36F12006D6A9A
:100CC000696A6D860001010EB36F12000001B35115
:100CD00001E1120068B425D86DB2120068B038D8AE
:100CE00068B817D868BA24D8030E0001B35D01E2D2
:100CF00012000001BC6B040EBC5D0AE268A608D0BD
:100D000094EC02F0000901E168960001BC2BF3D7D6
:100D10001200698468986D82A19AA08A0300A09A43
:100D200012006D92699468A402D06894FCD71200F6
:100D300070A00CD0800E0401005D07E1840E040158
:100D4000045D03E104018C0E006F7090689A12003C
:100D50006A6A686A9F0E6B6E7B0E696E6E6A0F0E12
:100D6000E66E710EE66E0F0EE66E22D8E552E55283
:100D7000E552160E706E68A605D0689600D000D0B9
:100D80000000F9D76D98F3EC03F00401080E016F31
:100D90000401100E026F040E036F04018C0E006F2D
:100DA0000001B4910001B56B0001030EB36F120096
:100DB000D9CFE6FFE1CFD9FFFD0EDBCFE9FFFE0E75
:100DC000DBCFEAFFFC0EDB5004E0EE6AFC0EDB0634
:100DD000F9D7E552E7CFD9FF120012010002000057
:100DE0000008D8043C0002000102000109022900A9
:100DF000010100C0320904000002030000000921C3
:100E000011010001221D00070581034000010705B3
:100E100001034000010403090434034D0069006329
:100E20000072006F006300680069007000200054C9
:100E3000006500630068006E006F006C006F006763
:100E4000007900200049006E0063002E0026034850
:100E50000049004400200055005300420020004299
:100E6000006F006F0074006C006F0061006400652B
:100E70000072000600FF0901A101190129401500B7
:100E800026FF00750895408100190129409100C096
:100E9000EC0DEC0D150E190E4D0EBC0A200EF66E63
:100EA000000EF76E000EF86E00010900F550A56FF8
:100EB0000900F550A66F03E1A56701D03DD00900F8
:100EC000F550A06F0900F550A16F0900F550A26F11
:100ED00009000900F550E96E0900F550EA6E0900B5
:100EE00009000900F550A36F0900F550A46F09002F
:100EF0000900F6CFA7F0F7CFA8F0F8CFA9F0A0C06F
:100F0000F6FFA1C0F7FFA2C0F8FF0001A35302E162
:100F1000A45307E00900F550EE6EA307F8E2A4071A
:100F2000F9D7A7C0F6FFA8C0F7FFA9C0F8FF0001D6
:100F3000A507000EA65BBFD71200D0A202D0D092A8
:100F400003D0D08200EF08F00ED8040016D819D8CC
:100F5000060E0001B35D05E16D50020B02E123ECCA
:100F600000F0F3D71200140E6F6E0001B36B000196
:100F7000B46B0001B56B17EF00F051EC06F066EFB3
:100F800006F00001BA51BB1104E1100EBA6F270E32
:100F9000BB6FBA07000EBB5B060E0001B35D02E239
:100FA0008A8812000001BA51BB1101E18A7812004F
:100FB000000EF36E00EE00F0040E01D81200EA609D
:100FC00002D0EE6AFCD7F350E9601200EE6AFCD75B
:100FD00013EE00F023EE00F0F86A049C4EEC07F0EC
:100FE000F6EC07F09DEC07F0FBD7120012000000B2
:100FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:10100000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10101000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10102000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10103000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10104000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10105000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10106000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10107000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10108000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:10109000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1010A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1010B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1010C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1010D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1010E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:1010F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10110000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10111000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10112000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10113000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10114000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10115000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10116000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10117000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10118000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:10119000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:1011A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:1011B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1011C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1011D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1011E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:1011F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10120000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:10121000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:10122000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10123000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10124000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10125000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10126000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10127000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10128000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:10129000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:1012A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:1012B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:1012C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1012D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1012E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:1012F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:10130000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:10131000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:10132000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:10133000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:10134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10135000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10137000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:1013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:1013B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:1013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1013D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:1013F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:10140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
:10141000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
:10142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
:10143000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
:10144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
:10145000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
:10146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
:10147000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
:10148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
:10149000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
:1014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
:1014B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
:1014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
:1014D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
:1014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:1014F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
:10150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
:10151000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
:10152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
:10153000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
:10154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
:10155000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
:10156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
:10157000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
:10158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
:10159000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
:1015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
:1015B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
:1015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
:1015D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
:1015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
:1015F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
:10160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
:10161000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
:10162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:10163000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
:10164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
:10165000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
:10166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
:10167000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
:10168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
:10169000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
:1016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
:1016B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
:1016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
:1016D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
:1016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
:1016F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
:10170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
:10171000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
:10172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:10173000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:10174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:10175000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
:10176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:10177000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
:10178000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
:10179000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
:1017A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
:1017B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
:1017C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
:1017D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
:1017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
:1017F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
:10180000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:10181000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
:10182000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:10183000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
:10184000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:10185000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
:10186000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:10187000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
:10188000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:10189000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
:1018A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:1018B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
:1018C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:1018D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
:1018E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:1018F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
:10190000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:10191000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
:10192000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:10193000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
:10194000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:10195000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
:10196000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:10197000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
:10198000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:10199000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
:1019A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:1019B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
:1019C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:1019D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:1019E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:1019F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
:101A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:101A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
:101A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:101A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:101A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:101A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
:101A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:101A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
:101A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:101A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
:101AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:101AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
:101AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:101AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
:101AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:101AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
:101B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:101B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
:101B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:101B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
:101B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:101B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
:101B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:101B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
:101B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:101B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
:101BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:101BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
:101BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:101BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
:101BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:101BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
:101C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:101C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
:101C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:101C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
:101C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:101C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
:101C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:101C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
:101C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:101C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
:101CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:101CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
:101CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:101CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
:101CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:101CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
:101D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:101D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
:101D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:101D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
:101D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:101D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
:101D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:101D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
:101D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:101D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
:101DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:101DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
:101DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:101DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
:101DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:101DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
:101E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:101E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
:101E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:101E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
:101E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:101E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
:101E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:101E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
:101E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:101E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
:101EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:101EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
:101EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:101ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
:101EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:101EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
:101F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:101F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
:101F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:101F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:101F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:101F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:101F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:101F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:101F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:101F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:101FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:101FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:101FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:101FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:101FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:101FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
:10200000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10201000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10202000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10203000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10204000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10205000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10206000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10207000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:10208000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:10209000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1020A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1020B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1020C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1020D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:1020E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:1020F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10210000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10211000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10212000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10213000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10214000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10215000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10216000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10217000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:10218000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:10219000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:1021A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1021B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1021C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1021D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:1021E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:1021F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10220000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:10221000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10222000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10223000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10224000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10225000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10226000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10227000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:10228000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:10229000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:1022A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:1022B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1022C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1022D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:1022E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:1022F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:10230000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:10231000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:10232000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:10233000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10234000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10235000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10236000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10237000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:10238000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:10239000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:1023A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:1023B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1023C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1023D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:1023E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:1023F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:10240000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
:10241000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
:10242000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
:10243000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
:10244000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
:10245000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
:10246000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
:10247000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
:10248000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
:10249000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
:1024A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
:1024B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
:1024C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
:1024D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:1024E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
:1024F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
:10250000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
:10251000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
:10252000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
:10253000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
:10254000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
:10255000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
:10256000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
:10257000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
:10258000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
:10259000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
:1025A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
:1025B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
:1025C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
:1025D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
:1025E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
:1025F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
:10260000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
:10261000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:10262000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
:10263000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
:10264000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
:10265000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
:10266000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
:10267000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
:10268000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
:10269000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
:1026A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
:1026B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
:1026C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
:1026D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
:1026E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
:1026F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
:10270000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
:10271000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:10272000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:10273000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:10274000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
:10275000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:10276000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
:10277000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
:10278000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
:10279000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
:1027A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
:1027B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
:1027C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
:1027D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
:1027E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
:1027F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
:10280000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
:10281000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:10282000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
:10283000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:10284000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
:10285000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:10286000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
:10287000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:10288000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
:10289000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:1028A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
:1028B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:1028C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
:1028D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:1028E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
:1028F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:10290000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
:10291000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:10292000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
:10293000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:10294000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
:10295000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:10296000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
:10297000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:10298000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
:10299000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:1029A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
:1029B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:1029C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:1029D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:1029E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
:1029F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:102A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
:102A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:102A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:102A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:102A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
:102A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:102A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
:102A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:102A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
:102A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:102AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
:102AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:102AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
:102AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:102AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
:102AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:102B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
:102B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:102B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
:102B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:102B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
:102B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:102B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
:102B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:102B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
:102B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:102BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
:102BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:102BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
:102BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:102BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
:102BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:102C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
:102C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:102C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
:102C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:102C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
:102C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:102C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
:102C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:102C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
:102C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:102CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
:102CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:102CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
:102CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:102CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
:102CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:102D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
:102D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:102D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
:102D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:102D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
:102D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:102D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
:102D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:102D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
:102D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:102DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
:102DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:102DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
:102DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:102DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
:102DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:102E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
:102E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:102E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
:102E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:102E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
:102E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:102E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
:102E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:102E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
:102E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:102EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
:102EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:102EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
:102ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:102EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
:102EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:102F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
:102F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:102F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:102F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:102F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:102F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:102F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:102F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:102F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:102F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:102FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:102FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:102FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:102FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:102FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
:102FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:10300000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10301000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10302000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10303000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10304000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10305000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10306000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:10307000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:10308000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:10309000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1030A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1030B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1030C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:1030D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:1030E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:1030F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10310000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10311000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10312000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10313000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10314000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10315000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10316000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:10317000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:10318000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:10319000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1031A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1031B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1031C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:1031D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:1031E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:1031F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10320000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10321000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10322000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10323000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10324000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10325000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10326000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:10327000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:10328000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:10329000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:1032A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1032B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1032C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:1032D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:1032E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:1032F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:10330000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:10331000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:10332000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10333000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10334000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10335000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10336000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:10337000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:10338000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:10339000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:1033A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1033B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1033C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:1033D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:1033E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:1033F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:10340000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
:10341000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
:10342000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
:10343000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
:10344000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
:10345000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
:10346000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
:10347000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
:10348000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
:10349000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
:1034A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
:1034B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
:1034C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:1034D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
:1034E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
:1034F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
:10350000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
:10351000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
:10352000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
:10353000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
:10354000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
:10355000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
:10356000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
:10357000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
:10358000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
:10359000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
:1035A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
:1035B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
:1035C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
:1035D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
:1035E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
:1035F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
:10360000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:10361000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
:10362000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
:10363000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
:10364000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
:10365000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
:10366000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
:10367000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
:10368000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
:10369000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
:1036A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
:1036B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
:1036C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
:1036D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
:1036E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
:1036F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
:10370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:10371000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:10372000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:10373000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
:10374000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:10375000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
:10376000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
:10377000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
:10378000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
:10379000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
:1037A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
:1037B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
:1037C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
:1037D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
:1037E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
:1037F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
:10380000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:10381000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
:10382000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:10383000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
:10384000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:10385000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
:10386000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:10387000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
:10388000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:10389000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
:1038A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:1038B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
:1038C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:1038D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
:1038E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:1038F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
:10390000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:10391000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
:10392000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:10393000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
:10394000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:10395000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
:10396000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:10397000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
:10398000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:10399000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
:1039A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:1039B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:1039C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:1039D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
:1039E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:1039F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
:103A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:103A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:103A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:103A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
:103A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:103A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
:103A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:103A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
:103A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:103A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
:103AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:103AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
:103AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:103AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
:103AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:103AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
:103B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:103B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
:103B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:103B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
:103B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:103B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
:103B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:103B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
:103B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:103B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
:103BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:103BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
:103BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:103BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
:103BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:103BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
:103C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:103C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
:103C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:103C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
:103C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:103C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
:103C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:103C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
:103C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:103C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
:103CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:103CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
:103CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:103CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
:103CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:103CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
:103D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:103D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
:103D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:103D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
:103D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:103D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
:103D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:103D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
:103D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:103D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
:103DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:103DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
:103DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:103DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
:103DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:103DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
:103E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:103E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
:103E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:103E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
:103E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:103E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
:103E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:103E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
:103E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:103E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
:103EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:103EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
:103EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:103ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
:103EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:103EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
:103F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:103F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:103F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:103F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:103F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:103F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:103F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:103F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:103F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:103F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:103FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:103FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:103FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:103FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
:103FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:103FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
:10400000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10401000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10402000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10403000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10404000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10405000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:10406000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:10407000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:10408000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:10409000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1040A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1040B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:1040C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:1040D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:1040E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:1040F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10410000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10411000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10412000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10413000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10414000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10415000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:10416000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:10417000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:10418000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:10419000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1041A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1041B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:1041C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:1041D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:1041E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:1041F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10420000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10421000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10422000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10423000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10424000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10425000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:10426000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:10427000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:10428000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:10429000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:1042A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1042B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:1042C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:1042D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:1042E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:1042F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10430000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:10431000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10432000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10433000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10434000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10435000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:10436000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:10437000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:10438000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:10439000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1043A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1043B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:1043C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:1043D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:1043E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:1043F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:10440000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
:10441000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
:10442000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
:10443000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
:10444000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
:10445000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
:10446000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
:10447000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
:10448000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
:10449000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
:1044A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
:1044B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:1044C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
:1044D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
:1044E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
:1044F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
:10450000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
:10451000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
:10452000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
:10453000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
:10454000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
:10455000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
:10456000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
:10457000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
:10458000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
:10459000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
:1045A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
:1045B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
:1045C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
:1045D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
:1045E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
:1045F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
:10460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
:10461000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
:10462000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
:10463000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
:10464000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
:10465000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
:10466000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
:10467000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
:10468000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
:10469000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
:1046A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
:1046B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
:1046C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
:1046D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
:1046E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
:1046F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:10470000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:10471000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:10472000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
:10473000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:10474000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
:10475000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
:10476000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
:10477000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
:10478000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
:10479000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
:1047A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
:1047B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
:1047C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
:1047D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
:1047E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
:1047F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:10480000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
:10481000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:10482000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
:10483000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:10484000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
:10485000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:10486000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
:10487000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:10488000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
:10489000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:1048A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
:1048B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:1048C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
:1048D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:1048E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
:1048F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:10490000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
:10491000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:10492000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
:10493000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:10494000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
:10495000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:10496000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
:10497000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:10498000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
:10499000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:1049A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:1049B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:1049C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
:1049D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:1049E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
:1049F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:104A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:104A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:104A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
:104A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:104A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
:104A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:104A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
:104A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:104A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
:104A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:104AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
:104AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:104AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
:104AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:104AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
:104AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:104B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
:104B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:104B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
:104B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:104B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
:104B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:104B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
:104B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:104B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
:104B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:104BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
:104BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:104BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
:104BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:104BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
:104BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:104C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
:104C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:104C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
:104C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:104C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
:104C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:104C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
:104C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:104C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
:104C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:104CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
:104CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:104CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
:104CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:104CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
:104CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:104D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
:104D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:104D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
:104D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:104D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
:104D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:104D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
:104D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:104D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
:104D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:104DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
:104DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:104DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
:104DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:104DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
:104DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:104E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
:104E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:104E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
:104E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:104E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
:104E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:104E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
:104E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:104E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
:104E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:104EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
:104EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:104EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
:104ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:104EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
:104EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:104F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:104F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:104F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:104F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:104F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:104F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:104F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:104F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:104F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:104F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:104FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:104FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:104FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
:104FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:104FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
:104FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:10500000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10501000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10502000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10503000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10504000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:10505000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:10506000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:10507000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:10508000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:10509000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1050A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:1050B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:1050C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:1050D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:1050E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:1050F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10510000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10511000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10512000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10513000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10514000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:10515000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:10516000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:10517000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:10518000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:10519000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1051A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:1051B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:1051C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:1051D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:1051E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:1051F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10520000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10521000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:10522000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:10523000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:10524000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:10525000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:10526000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:10527000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:10528000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:10529000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:1052A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:1052B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:1052C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:1052D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:1052E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:1052F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10530000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:10531000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:10532000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:10533000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:10534000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:10535000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:10536000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Hocam Mplab projesi var mı? CCS e sadene usb_boot.h dosyasını eklememiz yeterlimi değişiklik yapacak mıyız.
mesaj birleştirme:: 08 Nisan 2015, 11:55:21
Arkadaşlar yazdığım kod da bir sıkıntı varmı? kontrol edebilir misiniz?
Bootloader çok güzel çalışıyor, yazdığım programıda içerisine atıyor fakat çalışmıyor, Pic i okuttuğum zaman sadece bootlaser programı var demekki programı yazmıyor ama hatada vermiyor başarılı şekilde yüklendi diyor. :(
BootModified.18f4550.lkr
LIBPATH .
FILES c018i.o
FILES clib.lib
FILES p18f4550.lib
//Modified linker script to be used with the USB HID Bootloader firmware.
CODEPAGE NAME=vectors START=0x0 END=0x1F PROTECTED
CODEPAGE NAME=BootPage START=0x20 END=0x10FF
CODEPAGE NAME=page START=0x1100 END=0x7FFF PROTECTED
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED
ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
STACK SIZE=0x70 RAM=gpr3
SECTION NAME=USB_VARS RAM=usb4
CCS örneği:
#include <18F4550.h>
#device ADC=10
#build (reset=0x1100, interrupt=0x1108) //code starts right after the bootloader
#org 0, 0x10FF {} //don't overwrite the bootloader
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use delay(clock=48000000)
void main()
{
output_high(pin_d0);
delay_ms(2000);
output_low(pin_d0);
while(TRUE)
{
output_high(pin_d1);
delay_ms(1000);
output_low(pin_d1);
delay_ms(1000);
}
}
Alıntı yapılan: tacettin - 08 Nisan 2015, 08:02:32
#include <usb_bootloader.h> ekleyince oluyor...
PIC'e hex yüklemek için hangi programı kullanıyorsunuz?
mesaj birleştirme:: 09 Nisan 2015, 02:38:09
tacettin bey verdiğiniz hex'i yüklemeye çalışınca konfigürasyon dosyaları hex dosyasında yok diyor.
Size zahmet olacak boot tuşu B4'e göre olacak şekilde bize hex dosyası vermeniz mümkünmü?
Birde CCS'de bootloader'li led yak söndür programı.
Teşekkürler...
hocam bende direk hex var malesef bacak değiştiremiyorum. indirme linki aşağıda...
http://dosya.co/zl91g7u9px9c/bootloader.rar.html (http://dosya.co/zl91g7u9px9c/bootloader.rar.html)
bu da benim yükleyip çalıştırdığım bir program...
#include <18f4550.h>
#use delay(clock=48MHz)
#include <usb_bootloader.h>
#byte portb=0xf81
#bit buton_up=portb.0
#bit buton_down=portb.1
#define LCD_ENABLE_PIN PIN_d0
#define LCD_RS_PIN PIN_d1
#define LCD_RW_PIN PIN_d2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int sayi;
#define bekle delay_ms(100)
void yaz()
{
printf(LCD_PUTC, "\f SAYININ DEGERI\n %u ",sayi);
delay_ms(10);
}
void main()
{
set_tris_d(0x00);
set_tris_b(0xff);
lcd_init();
delay_ms(10);
yaz();
while(true)
{
if(buton_up)
{
sayi++;
if(sayi>99) sayi=0;
yaz();
while(buton_up);
}
if(buton_down)
{
sayi--;
if(sayi>99) sayi=99;
yaz();
while(buton_down);
}
}
}
tacettin bey bootloader için hangi programı kullanıyorsunuz?
ilk hex atmak için pickit2 kullanıyorum. daha sonra HIDBootloader. linkin içine onuda yerleştirdim...
Mikroc'nin bootloaderi ile CSS de yazılmış .hex dosyaların yüklenmesinde problem olmaması lazım.
https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/ (https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/)
Bu linkteki 2. uygulamayı CSS ile yazıp (congf parametreleri deney kitine göre olmalı-RST enable, frekans 20Mhz veya PLL ile 48Mhz) bana gönderir iseniz deneyebilirim.
Alıntı yapılan: selimkoc - 09 Nisan 2015, 10:25:25
Mikroc'nin bootloaderi ile CSS de yazılmış .hex dosyaların yüklenmesinde problem olmaması lazım.
https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/ (https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/)
Bu linkteki 2. uygulamayı CSS ile yazıp (congf parametreleri deney kitine göre olmalı-RST enable, frekans 20Mhz veya PLL ile 48Mhz) bana gönderir iseniz deneyebilirim.
Hocam, CCs ile MikroC loader için bir örnek uygulama ( led yakı söndürme) yazar mısınız? ccs e herhangi bir reser vektor adresi yazmamız gerekiyor mu?
çünkü CCS de derleyince direkt 0. adresten başlıyor.
mesaj birleştirme:: 10 Nisan 2015, 01:31:10
mesaj birleştirme:: 09 Nisan 2015, 11:35:05
Merhaba Arkadaşlar,
MPLAB USB BOORLOADER ile oluşturduğum Hex kodunu yükledim devreme, 2 tane loader programı ile denedim,
1. si @tacettin Hocamın verdiği Loader ile denedim yazdığım CCS kodunu USB den yükledi ve program çalışıyor. ;D sıkıntı yok.
(http://s2.postimg.cc/4ww6tctrt/boot2.jpg)
Tekrar Bootloader moduna alıyorum ve busefer Mikrochip in kendi HID loader ile denedim, buda yükledim dedi fakat program çalışmadı, PIC in içini okum program yüklenmemişti. bu neden olur sizce. Bununla neden çalışmadığını anlamadım. :(
(http://s9.postimg.cc/jm9pyj7bj/boot1.jpg)
Mplab Proje Dosyası:https://yadi.sk/d/zfKCEwZPfsN3V (https://yadi.sk/d/zfKCEwZPfsN3V)
Loader Dosyaları:https://yadi.sk/d/W_4KG1LxfsNTF (https://yadi.sk/d/W_4KG1LxfsNTF)
Selamlar.
ccs nin hangi versiyonunu kullanıyorsun bilmiyorum ama, ben microchip bootloaderı kullanırken ccs 5 ile yazdığım programlar bootloader üzerinde çalışmıyordu ancak derleme sonucu oluşan hex dosyasının ilk satırı ":020000040000FA" olacak şekilde ":020000040000FA" kodunu eklediğimde sorunsuz çalışıyordu. Şu anda ccs 4.068 kullanıyorum derleme sonucu bu satır otomatik olarak hex dosyasının ilk satırına yerleşiyor bununla ilgili olabilir senin sorunun da. dene istersen.
Alıntı yapılan: tacettin - 09 Nisan 2015, 02:13:22
hocam bende direk hex var malesef bacak değiştiremiyorum. indirme linki aşağıda...
http://dosya.co/zl91g7u9px9c/bootloader.rar.html (http://dosya.co/zl91g7u9px9c/bootloader.rar.html)
bu da benim yükleyip çalıştırdığım bir program...
#include <18f4550.h>
#use delay(clock=48MHz)
#include <usb_bootloader.h>
#byte portb=0xf81
#bit buton_up=portb.0
#bit buton_down=portb.1
#define LCD_ENABLE_PIN PIN_d0
#define LCD_RS_PIN PIN_d1
#define LCD_RW_PIN PIN_d2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int sayi;
#define bekle delay_ms(100)
void yaz()
{
printf(LCD_PUTC, "\f SAYININ DEGERI\n %u ",sayi);
delay_ms(10);
}
void main()
{
set_tris_d(0x00);
set_tris_b(0xff);
lcd_init();
delay_ms(10);
yaz();
while(true)
{
if(buton_up)
{
sayi++;
if(sayi>99) sayi=0;
yaz();
while(buton_up);
}
if(buton_down)
{
sayi--;
if(sayi>99) sayi=99;
yaz();
while(buton_down);
}
}
}
Tacettin bey...
Dosyayı çok kotu bir yere upload yapmışsınız. Bilgisayar komple virüs oldu...
Yadığım kod küçük olunca loader güzel çalışıyor.
Ama bunda çalışmadı nedenini anlamadım. :(
Bunda Çalışmadı:
#include <18F4550.h>
#device ADC=10
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use delay(clock=48000000)
#build (reset=0x1100, interrupt=0x1108) //code starts right after the bootloader
#org 0, 0x10FF {} //don't overwrite the bootloader
#define USB_HID_DEVICE TRUE
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT //Uçnokta1'de Kesme transferi aktif
#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE 64 //Uçnokta1 için maksimum alınacak ve gonderilecek
#define USB_EP1_RX_SIZE 64
#include <pic18_usb.h>
#include <USB_Driver.h> //USB konfigurasyon bilgileri bu dosyadadır.
#include <usb.c>
#include <One_Wire.c>
#include <DS1820.c>
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#define UcNokta1 1
unsigned int16 Term;
unsigned int8 paket[64];
unsigned int8 Tam,Onda;
float Sicaklik;
void main()
{
setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
set_tris_a(0x00);
set_tris_b(0x00);
set_tris_c(0x00);
set_tris_d(0x00);
output_a(0x00);
output_b(0x00);
output_c(0x00);
output_d(0x00);
usb_init();
usb_task();
usb_wait_for_enumeration(); //Cihaz, hazır olana kadar bekle
while(TRUE)
{
while(usb_enumerated())
{
if (usb_kbhit(1)) //Eğer pc'den yeni bir paket geldiyse
{
usb_get_packet(UcNokta1, paket, 64); //paketi oku
// output_high(pin_D1);
}
Term=Sicaklik*10;
Tam=Term/10;
Onda=Term%10;
paket[1]=Tam;
paket[2]=Onda;
usb_put_packet(UcNokta1, paket,64, USB_DTS_TOGGLE); // Datayı Gönder..
Sicaklik = ds1820_read();
output_high(pin_d1);
delay_ms(200);
output_low(pin_d1);
delay_ms(200);
}
output_high(pin_d0);
delay_ms(500);
output_low(pin_d0);
delay_ms(500);
}
}
Bunda Çalıştı:
#include <18f4550.h>
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use delay(clock=48000000)
#build (reset=0x1100, interrupt=0x1108) //code starts right after the bootloader
#org 0, 0x10FF {} //don't overwrite the bootloader
void main()
{
output_high(pin_d0);
delay_ms(2000);
output_low(pin_d0);
while(TRUE)
{
output_high(pin_d1);
delay_ms(200);
output_low(pin_d1);
delay_ms(500);
}
}
thenorthstar gönderdiğin dosyalardan hangi hex'i pic'e yüklemek gerekiyor?
Alıntı yapılan: remzi - 09 Nisan 2015, 16:26:55
thenorthstar gönderdiğin dosyalardan hangi hex'i pic'e yüklemek gerekiyor?
Remzi hocam, HID Bootloader PIC18 Non J.hex yükle çünkü proje ismide aynı.
Az önce bende bootloader'ı çalıştırabildim.
HID Bootloader PIC18 Non J hex dosyasını 18F4550'ye attım.
Teşekkür ederim...
Alıntı yapılan: remzi - 09 Nisan 2015, 21:43:46
Az önce bende bootloader'ı çalıştırabildim.
HID Bootloader PIC18 Non J hex dosyasını 18F4550'ye attım.
Teşekkür ederim...
Rica ederim hocam,
hocam bende şöyle bir şey oluyor
Aşağıdaki kod, usb ile okuduğum sıcaklığı C# programında gösteriyorum, bootloader sız yüklediğimde sıcaklığı okuyup bilgisayarda görebiliyorum fakat bootloader ile yüklediğimde
while(usb_enumerated()) bloğuna girmiyor port.d0 a bağlı ledi yakıyor.
bunun sebebi ne olabilir sizce
#include <18F4550.h>
#device ADC=10
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use delay(clock=48000000)
#build (reset=0x1100, interrupt=0x1108) //code starts right after the bootloader
#org 0, 0x10FF {} //don't overwrite the bootloader
#define USB_HID_DEVICE TRUE
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT //Uçnokta1'de Kesme transferi aktif
#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE 64 //Uçnokta1 için maksimum alınacak ve gonderilecek
#define USB_EP1_RX_SIZE 64
#include <pic18_usb.h>
#include <USB_Driver.h> //USB konfigurasyon bilgileri bu dosyadadır.
#include <usb.c>
#include <One_Wire.c>
#include <DS1820.c>
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
#define UcNokta1 1
unsigned int16 Term;
unsigned int8 paket[64];
unsigned int8 Tam,Onda;
float Sicaklik;
void main()
{
setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
set_tris_a(0x00);
set_tris_b(0x00);
set_tris_c(0x00);
set_tris_d(0x00);
output_a(0x00);
output_b(0x00);
output_c(0x00);
output_d(0x00);
usb_init();
usb_task();
usb_wait_for_enumeration(); //Cihaz, hazır olana kadar bekle
while(TRUE)
{
while(usb_enumerated())
{
if (usb_kbhit(1)) //Eğer pc'den yeni bir paket geldiyse
{
usb_get_packet(UcNokta1, paket, 64); //paketi oku
// output_high(pin_D1);
}
Term=Sicaklik*10;
Tam=Term/10;
Onda=Term%10;
paket[1]=Tam;
paket[2]=Onda;
usb_put_packet(UcNokta1, paket,64, USB_DTS_TOGGLE); // Datayı Gönder..
Sicaklik = ds1820_read();
output_high(pin_d1);
delay_ms(200);
output_low(pin_d1);
delay_ms(200);
}
output_high(pin_d0);
delay_ms(500);
output_low(pin_d0);
delay_ms(500);
}
}
Arkadaşlar lütfen bu konuda yardımcı olabilur misiniz?
PC ile bağlantısız bi program açtığımda çalışmıyor fakat pc ile bağlantısı olmayan sadece bord üzerinde çalışan bir program açtığımda duzgun çalışıyor.
USB bağlantı frekansı 48Mhz olmalı. PLL ile 48MHz yükselttiniz mi?
USB Bağlantılarından emin misin ?
VUSB bacağından GND'ye 470nF bağlı mı ?
Fark edeceğini sanmıyorum ama bir de şöyle bir düzenleme yapabilirsin.
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use DELAY(CLOCK=48MHz, CRYSTAL=20MHz, USB_FULL)
USB uygulamanın kodlarını paylaşabilir misin ? Bilgisayar programı tarafı da dahil.
Alıntı yapılan: Baran Ekrem - 13 Nisan 2015, 01:02:22
USB Bağlantılarından emin misin ?
VUSB bacağından GND'ye 470nF bağlı mı ?
Fark edeceğini sanmıyorum ama bir de şöyle bir düzenleme yapabilirsin.
#fuses HSPLL,USBDIV,PLL5,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOBROWNOUT // 20 MHZ
#use DELAY(CLOCK=48MHz, CRYSTAL=20MHz, USB_FULL)
USB uygulamanın kodlarını paylaşabilir misin ? Bilgisayar programı tarafı da dahil.
Evet hocam VUSB bacağına 470 nf bağlı. Verdiğiniz kodu da denedim sonuç aynı.
CCS kodu ve PC programı aşağıdaki linkte .https://mega.co.nz/#!gNF21aZT!lWPrZThRIud1pCzfhhONAkegAQJMpHQ2k96Ys4q7bI4 (https://mega.co.nz/#!gNF21aZT!lWPrZThRIud1pCzfhhONAkegAQJMpHQ2k96Ys4q7bI4)
Bootloader ve Mplab Dosyalarıhttps://mega.co.nz/#!kY8AQTRb!Nht5aZ9PXsUSlb7r3u9DCKr5qhJFRJ37Ob3iGLtd3lA (https://mega.co.nz/#!kY8AQTRb!Nht5aZ9PXsUSlb7r3u9DCKr5qhJFRJ37Ob3iGLtd3lA)
https://mega.co.nz/#!1dEg3YLb!7WOmVqTOXKDZVJFKJ4BOWyPMB5Kxdxaoq4qViEGRDbk (https://mega.co.nz/#!1dEg3YLb!7WOmVqTOXKDZVJFKJ4BOWyPMB5Kxdxaoq4qViEGRDbk)
Bootloader ile Yükleme yapınca kartın çalışması.Eğer PC ile haberleşmeyi ( Aşağıdaki kodları )iptal edersem Bootloader ile yükledikten sonra, kart üzerinde bulunan Butona basınca sayaç artırma, LED Yakma,LCD de sıcaklık gösterme güzel çalışıyor.Fakat bu kodları dahil edersem hiç birşey çalışmıyor.
#define USB_HID_DEVICE TRUE
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE 64
#define USB_EP1_RX_SIZE 64
#include <pic18_usb.h>
#include <USB_Driver.h>
#include <usb.c>
#include <lcd_driver.c>
#include <One_Wire.c>
#include <DS1820.c>
#define UcNokta1 1
.
.
.
void main()
{
:
:
usb_init();
usb_task();
usb_wait_for_enumeration(); //Cihaz, hazır olana kadar bekle
Bootloadersız çalışma.Eğer Bootloader özelliğini kapatıp derleme yaptıkdan sonra PICKIT 2 ile yazılımı yüklersen, Hem pc programı hemde kart üzerindeki tüm fonksiyonlar çalışıyor.
Bootloader Ayarları
//****************Bootloader Ayarları***************************************
#build (reset=0x1100, interrupt=0x1108)
#org 0, 0x10FF {}
//**************************************************************************
Böyle bir sıkıntım var arkadaşlar.
hocam bir de aşağıdaki gibi dener misin?
#build(reset=0x1000, interrupt=0x1008)
#ORG 0x0000,0x0FFF {}
Alıntı yapılan: tacettin - 13 Nisan 2015, 11:59:33
hocam bir de aşağıdaki gibi dener misin?
#build(reset=0x1000, interrupt=0x1008)
#ORG 0x0000,0x0FFF {}
Denedim ama olmadı hocam. :(
Hocam lnker dosyasındaki ayarlar aşağıdaki gibi.
/** V E C T O R R E M A P P I N G *******************************************/
#pragma code high_vector=0x08
void interrupt_at_high_vector(void)
{
_asm goto 0x1108 _endasm
}
#pragma code low_vector=0x18
void interrupt_at_low_vector(void)
{
_asm goto 0x1118 _endasm
}
#pragma code
// File: BootModified.18f4550.lkr
LIBPATH .
FILES c018i.o
FILES clib.lib
FILES p18f4550.lib
//Modified linker script to be used with the USB HID Bootloader firmware.
CODEPAGE NAME=vectors START=0x0 END=0x1F PROTECTED
CODEPAGE NAME=BootPage START=0x20 END=0x10FF
CODEPAGE NAME=page START=0x1100 END=0x7FFF PROTECTED
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED
ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
STACK SIZE=0x70 RAM=gpr3
SECTION NAME=USB_VARS RAM=usb4
Hocam geçen hafta microchipin usb hid bootloaderi ile usb arayüzünün çalışmadığını ardından ccs nin cdc bootloaderının kullanıp usb hid arayüzünü çalıştırdığımı yazmış hatta örnek kod göndermiştim. Bakıyorum ki hala debeleniyorsun microchipin usb hid bootloaderi ile. Ben de bir hafta uğraştım. Usb device monitoring programı ile usbden gelen dataları bile inceledim ama olmuyor kesinlikle. Ben pes ettim microchipin usb bootloadrından vazgeçtim. Sen neden bu kadar diretiyorsun hid bootloaderda hid arayüzünü çalışmaya. Ccsnin cdc booloaderını kullansana.
Alıntı yapılan: DaRt - 13 Nisan 2015, 13:36:18
Hocam geçen hafta microchipin usb hid bootloaderi ile usb arayüzünün çalışmadığını ardından ccs nin cdc bootloaderının kullanıp usb hid arayüzünü çalıştırdığımı yazmış hatta örnek kod göndermiştim. Bakıyorum ki hala debeleniyorsun microchipin usb hid bootloaderi ile. Ben de bir hafta uğraştım. Usb device monitoring programı ile usbden gelen dataları bile inceledim ama olmuyor kesinlikle. Ben pes ettim microchipin usb bootloadrından vazgeçtim. Sen neden bu kadar diretiyorsun hid bootloaderda hid arayüzünü çalışmaya. Ccsnin cdc booloaderını kullansana.
Teşekkür ederim Hocam,
Sanırım bende vaz geçeceğim Microchip HID den . Sizin verdiğiniz örnekte sadece
secure crt ile mi program yükleyebilir yoruz?
Alıntı yapılan: DaRt - 13 Nisan 2015, 13:36:18
Hocam geçen hafta microchipin usb hid bootloaderi ile usb arayüzünün çalışmadığını ardından ccs nin cdc bootloaderının kullanıp usb hid arayüzünü çalıştırdığımı yazmış hatta örnek kod göndermiştim. Bakıyorum ki hala debeleniyorsun microchipin usb hid bootloaderi ile. Ben de bir hafta uğraştım. Usb device monitoring programı ile usbden gelen dataları bile inceledim ama olmuyor kesinlikle. Ben pes ettim microchipin usb bootloadrından vazgeçtim. Sen neden bu kadar diretiyorsun hid bootloaderda hid arayüzünü çalışmaya. Ccsnin cdc booloaderını kullansana.
Nasıl yapıldığını, hangi hex'i kulllanacağımızı birde örnek kod gönderebilirmisin? Boot butonu B4
Alıntı yapılan: thenorthstar - 13 Nisan 2015, 14:05:23
Teşekkür ederim Hocam,
Sanırım bende vaz geçeceğim Microchip HID den . Sizin verdiğiniz örnekte sadece secure crt ile mi program yükleyebilir yoruz?
dosya gönderebilen herhangi bir seri terminal programı olur diye tahmin ediyorum ancak denemedim. bir kaç tane deneyip yazarım.
Düzelti: adet binary file gönderebilen seri terminal programı ile denedim ikisi de sorunsuz gönderdi hexleri.
http://www.hw-group.com/products/hercules/index_en.html (http://www.hw-group.com/products/hercules/index_en.html)
bu program ücretsiz basit kullanışlı bir program bunu kullanacağım bundan sonra. picin bağlı olduğu comportu seç 38400 bps olarak ayarla portu aç ekrana sağ tıklayıp send file ile göndereceğin hexi seç bu kadarç
https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/ (https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/)
Problemsiz ve kullanımı kolay mikroe'nin USB HID Bootloaderı ve deney kiti. Tavsiye ederim.
Alıntı yapılan: DaRt - 13 Nisan 2015, 15:32:28
dosya gönderebilen herhangi bir seri terminal programı olur diye tahmin ediyorum ancak denemedim. bir kaç tane deneyip yazarım.
Düzelti: adet binary file gönderebilen seri terminal programı ile denedim ikisi de sorunsuz gönderdi hexleri.
http://www.hw-group.com/products/hercules/index_en.html (http://www.hw-group.com/products/hercules/index_en.html)
bu program ücretsiz basit kullanışlı bir program bunu kullanacağım bundan sonra. picin bağlı olduğu comportu seç 38400 bps olarak ayarla portu aç ekrana sağ tıklayıp send file ile göndereceğin hexi seç bu kadarç
@DaRt Hocam, bunda peki Bootloader moduna nasıl alıyoruz, butonlamı yoksa enerji verildikten birkaç sn içerisinde mi bootloder moda geçiyor.
Alıntı yapılan: selimkoc - 13 Nisan 2015, 15:50:42
https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/ (https://elektrokod.wordpress.com/2014/09/10/usb-hid-bootloader-pic18f4550-deney-karti/)
Problemsiz ve kullanımı kolay mikroe'nin USB HID Bootloaderı ve deney kiti. Tavsiye ederim.
@selimkoc Hocam, 18F4550 için MicroC bootloader projesi ve Bootloader ile yüklemek için CCS de yazılmış bir örnek uygulama verebilir misiniz?
bildiğim kadarı ile Micro C bootloader da butona basmak gerekmiyor karta enerji verdikten sonra 5 sn içerisinde connect butonuna basmak yeterli oluyor.
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.
Alıntı yapılan: DaRt - 13 Nisan 2015, 16:30:00
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.
Teşekkür ederim Hocam ,
Deneyip sonuçu paylaşacağım.
Alıntı yapılan: DaRt - 13 Nisan 2015, 16:30:00
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.
Elinde CCS 4.068 olan var mı?
İnterntteki linkler çok eski. Hepsinin süresi geçmiş.
Alıntı yapılan: remzi - 13 Nisan 2015, 17:25:09
Elinde CCS 4.068 olan var mı?
İnterntteki linkler çok eski. Hepsinin süresi geçmiş.
Buyur Hocam.
https://mega.co.nz/#!5QlQhJpD!wz2JOYuZhlRa415B4KrHpB-C88bn_vKbZwtnSKhUy5I (https://mega.co.nz/#!5QlQhJpD!wz2JOYuZhlRa415B4KrHpB-C88bn_vKbZwtnSKhUy5I)
mesaj birleştirme:: 14 Nisan 2015, 08:22:38
Alıntı yapılan: DaRt - 07 Nisan 2015, 15:09:15
Geçen hafta ben de aynı konuda debelendim durdum. 320 sitesindekini sorunsuz çalıştırdım ancak bootloader yükledikten sonra bootloader modunda usb bağlantı çalışıyor ancak bootloader ile asıl programı yğüklediğimde asıl programdaki usb arayüzü çalışmıyordu. Aynı koddan bootloader ifadelerini çıkarıp seri programlayıcı ile pice attığımda yazdığım usb arayüzü sorunsuz çalışıyordu. Ayrıca verilen örnek programda bootloader için ayrılması gerekn bölüm yok dolayısı ile en basit program bile çalışmıyordu. ben de zorunlu olarak terk ettim bu bootloaderı. Daha sonra ccs içerisindeki örnek bootloader kodlarını derledim. yükledim usb bağlantısı dahil sorunsuz çalıştı. 320 volt sitesindeki örnekler baz alınarak yaptığım kendi çalışmalarımı ekledim. ister kodu tekrar derleyin ister içerisindeki hazır hexi kullanın sorunsuz çalışıyor. birde örnek program ekledim bootloader ile sorunsuz çalışıyor. takıldığınız konuda yardımcı olmaya çalışırım.
https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq (https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq)
https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq (https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq)
Not: Bootloadera program yüklemek için secure crt 7,3 diye bir program kullanıyorum. 30 günlük deneme sürümü var. zaman dolunca başka bir program arayacağım.
Alıntı yapılan: DaRt - 13 Nisan 2015, 16:30:00
A4 e bağlı buton ile. Boot esnasında A4 low ise bootloader a geçer, high ise normal programa. Tabi a4e pull up bağlamayı unutma. Eğer senin boardından farklı ise boot pini, ccs bootloader projesindeki gerekli pin değişiklikleri ile istediğini ayarlayıp derleyebilirsin. Benim verdiğim dosya içerisinde boot proje dosyaları var, ccs 4.068 ile sorunsuz derlenip çalışıyor.
@DaRt Hocam, daha önce verdiğiniz bootloader ve cdc için olan örneği indirdim. botloader da sadece A4 ü B4 yaptım ve butonu pull up yaptım. USB ye takarken Butona basılı tuttum fakat yeni donanım olarak hiç birşey görmedi.
Vallaha Hocam bende sorunsuz çalışıyor. Donanımsal bir sorun yoksa sende de çalışması gerkeli. Ya pic, ya programlayıcı bir yerlerde sorun var illaki. Pic programlayıcım iş yerinde yarın sabah B4 e göre tekrar derleyip denerim ama değişen bir şey olacağını sanmıyorum açıkçası.
Alıntı yapılan: DaRt - 14 Nisan 2015, 21:03:05
Vallaha Hocam bende sorunsuz çalışıyor. Donanımsal bir sorun yoksa sende de çalışması gerkeli. Ya pic, ya programlayıcı bir yerlerde sorun var illaki. Pic programlayıcım iş yerinde yarın sabah B4 e göre tekrar derleyip denerim ama değişen bir şey olacağını sanmıyorum açıkçası.
Merhaba Hocam,
Değiştirdiğim yer burası Hocam.
Bootloader moda geçince yeni donanın bulundu diyip drivernı yüklemesi gerekiyor değil mi hocam.
USB to Com olarak gözükmesi gerekmiyor mu.
PC programı varsa onuda gönderebilir misin?
void main(void)
{
//we use PIN_A4 as an event to determine if we should start the USB CDC
//bootloader. if it is not low (button is not pressed) then goto the
//application, else if is low (button is pressed) then do the bootloader.
if(!input(PIN_B4)) // Burayı A4 yerine B4 yaptım.
{
g_InBootloader = TRUE;
usb_cdc_init();
usb_init();
while(!usb_enumerated());
load_program();
}
g_InBootloader = FALSE;
#ASM
goto APPLICATION_START
#ENDASM
}
Yaptığım devrede bu hocam.
(http://s7.postimg.cc/n1wfechfr/usb.jpg) (http://postimg.cc/image/n1wfechfr/)
Ben bugün B4e göre derleyip denedim sorunsuz çalıştır. Senin bilgisayarla ilgili sıkıntın var sanırım.
Alıntı yapılan: DaRt - 15 Nisan 2015, 15:09:11
Ben bugün B4e göre derleyip denedim sorunsuz çalıştır. Senin bilgisayarla ilgili sıkıntın var sanırım.
USB ye taktığınız zaman Yeni donanım olarak görüyor mu?
Bende hiç birşey görmmüyor, fakat mplab ile yapılan bootloader ı yükleyince görüyor. kafyı yiyecek walla ya. :(
Alıntı yapılan: DaRt - 15 Nisan 2015, 15:09:11
Ben bugün B4e göre derleyip denedim sorunsuz çalıştır. Senin bilgisayarla ilgili sıkıntın var sanırım.
@DaRt hocam benim donanımın resmini koymustum, size zahmet olmayacak sa denemek icin bootloader için ve Led leri yakip sondurecek ccs programi yapip gönderebilir misiniz. Benmi yanlislik yapiyorum acaba.
usbden mi yakacaksın ledi yoksa usb arayüzü olmayan sadece led mi?
Alıntı yapılan: DaRt - 16 Nisan 2015, 19:07:38
usbden mi yakacaksın ledi yoksa usb arayüzü olmayan sadece led mi?
pc ara yüzü olan bir örnek uygulama olursa iyi olur hocam,
eger seni fazla uğraştirmayacak ise ikisi için de verirsen iyi olur.
Merhabalar...
http://www.robotcu.com/adim-adim-pic18f2550-ile-usb-iletisim/ (http://www.robotcu.com/adim-adim-pic18f2550-ile-usb-iletisim/)
Bu linkte şöyle bir yazı var.
CCS C PCWHD Compiler. Versiyonu en düşük 4.084 olmalı. Kullanacağımız USB Bootloaderı "Program Files/PICC/Examples" klasörünün içinde var. O dosyayı modifiye edip derlememiz gerekecek. diyor...
Denemediğim şey kalmadı remzi hocam. Bilgisayar ile bağlantısı olmasın diyorsan güzel çalışıyor, yok pc bağlantısıda olsun diyorsan çalışmıyor anlamdım ki hangi ayarda yanlışlık yapıyorum anlamadım. :(
Alıntı yapılan: remzi - 16 Nisan 2015, 21:32:14
Merhabalar...
http://www.robotcu.com/adim-adim-pic18f2550-ile-usb-iletisim/ (http://www.robotcu.com/adim-adim-pic18f2550-ile-usb-iletisim/)
Bu linkte şöyle bir yazı var.
CCS C PCWHD Compiler. Versiyonu en düşük 4.084 olmalı. Kullanacağımız USB Bootloaderı "Program Files/PICC/Examples" klasörünün içinde var. O dosyayı modifiye edip derlememiz gerekecek. diyor...
Siz bootloader dosyasını 4.068 versiyonu ile compile ediyorsunuz. Linkini verdiğim yazıda en düşük 4.084 versiyonu ile yapıyor.
Sizede CCS 4.084 versiyonu var mı?
Alıntı yapılan: remzi - 17 Nisan 2015, 10:37:06
Siz bootloader dosyasını 4.068 versiyonu ile compile ediyorsunuz. Linkini verdiğim yazıda en düşük 4.084 versiyonu ile yapıyor.
Sizede CCS 4.084 versiyonu var mı?
remzi Hocam ,
siz denediniz mi, Bootloader ve PC arayüzü ile düzgün çalışıyor mu?
denedim.
Çalışmıyor.
Led yak söndür süper çalışıyor.
Alıntı yapılan: remzi - 17 Nisan 2015, 12:28:08
denedim.
Çalışmıyor.
Led yak söndür süper çalışıyor.
Ben bootloader ı hiç çalıştıramadım, bootloader dosyalarını ve ccs dosyalarını gönderebilir misin?
Led yak Söndürü kart üzerinden mi yapıyorsun? pc ara yüzünden mi?
bootloader cümleten yedi bitirdi sizi.
normal programlayıverin daha kolay olur. zaten bootloader olacak o PICi de normal yıollardan programlamaniz gerek.
Kendiniz programlamadıysanız bootloader yüklü programlı pic aldıysanız zaten o pici veren kişi yolu yöntemi anlatmıştır. aynen anlattığı gibi bootloader çalışır.
Alıntı yapılan: thenorthstar - 17 Nisan 2015, 15:51:10
Ben bootloader ı hiç çalıştıramadım, bootloader dosyalarını ve ccs dosyalarını gönderebilir misin?
Led yak Söndürü kart üzerinden mi yapıyorsun? pc ara yüzünden mi?
Bootloader'ı zaten sizin verdiğiniz dosya ile çalıştırmıştım. PC arayüzü ile usb haberleşmesi hiç yapamadım...
thenorthstar hocam. arm belasına bulaştım i2cyi çözene kadar göbeğim çatladı fırsat bulup yollayamadım. https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0 (https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0)
Yukardaki dosyadaki bootloader klasöründe B4e göre derlenmiş bootloader var. denedim sorunsuz çalışıyor bilgisayar usb cihazı görüyor. bootlcd klasöründe bootloader ile kullanılacak şekilde 2led bir buton uygulaması var. programın çalışmasıyla birinci led yanar, b4e basınca birinci led söner ikinci led yanar. B4ü bırakınca 2. ld sönüp birinci led yanar ledler d0 ve d1e göre ayarlıdır. bootusblcd klasöründe bootloader ile kullanılacak şekilde usb uygulaması var. 320volt sitesindeki programın ccs cdc bootloader ile çalışacak şekilde düzenlediğim hali. programı yükleyip çalıştırınca hid arayüzünden bilgisayara bağlanır. Yukarıdaki dosyanın içindeki usb.exe uygulaması doğrudan pici görür, programda led 1~7 kutularına tıklayarak d0 ve d1 e bağlı ledleri yakıp söndürebilirsin. bootloadera programı hercules serial terminal programı ile atabilirsin, yukarıdaki dosyanın içinde var. Son olarak cdc driveri de yukarıdaki dosyada var Bilgisayar cdc cihazını görünce manuel olarak yüklersin. Windows uyarıp "bu aygıt için uygun sürücü değil" dese de devam et sorunsuz çalışıyor. Ben ccs 4.068 kullanıyorum bunlar sorunsuz oluyor. umarım bu sefer olur sende de.
Alıntı yapılan: DaRt - 17 Nisan 2015, 20:24:58
thenorthstar hocam. arm belasına bulaştım i2cyi çözene kadar göbeğim çatladı fırsat bulup yollayamadım. https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0 (https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0)
Yukardaki dosyadaki bootloader klasöründe B4e göre derlenmiş bootloader var. denedim sorunsuz çalışıyor bilgisayar usb cihazı görüyor. bootlcd klasöründe bootloader ile kullanılacak şekilde 2led bir buton uygulaması var. programın çalışmasıyla birinci led yanar, b4e basınca birinci led söner ikinci led yanar. B4ü bırakınca 2. ld sönüp birinci led yanar ledler d0 ve d1e göre ayarlıdır. bootusblcd klasöründe bootloader ile kullanılacak şekilde usb uygulaması var. 320volt sitesindeki programın ccs cdc bootloader ile çalışacak şekilde düzenlediğim hali. programı yükleyip çalıştırınca hid arayüzünden bilgisayara bağlanır. Yukarıdaki dosyanın içindeki usb.exe uygulaması doğrudan pici görür, programda led 1~7 kutularına tıklayarak d0 ve d1 e bağlı ledleri yakıp söndürebilirsin. bootloadera programı hercules serial terminal programı ile atabilirsin, yukarıdaki dosyanın içinde var. Son olarak cdc driveri de yukarıdaki dosyada var Bilgisayar cdc cihazını görünce manuel olarak yüklersin. Windows uyarıp "bu aygıt için uygun sürücü değil" dese de devam et sorunsuz çalışıyor. Ben ccs 4.068 kullanıyorum bunlar sorunsuz oluyor. umarım bu sefer olur sende de.
Hocam öncelikle kolay gelsin. Bendede avr32 demo bord var ama gözüm yemedi daha
onunla uğraşmaya :-)
Dosyalar için teşekkür ederim, yarin deneyeceğim hocam olmazsa ya karti ya bilgisayari kiracam bu sefer :-)
Alıntı yapılan: DaRt - 17 Nisan 2015, 20:24:58
thenorthstar hocam. arm belasına bulaştım i2cyi çözene kadar göbeğim çatladı fırsat bulup yollayamadım. https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0 (https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0)
Yukardaki dosyadaki bootloader klasöründe B4e göre derlenmiş bootloader var. denedim sorunsuz çalışıyor bilgisayar usb cihazı görüyor. bootlcd klasöründe bootloader ile kullanılacak şekilde 2led bir buton uygulaması var. programın çalışmasıyla birinci led yanar, b4e basınca birinci led söner ikinci led yanar. B4ü bırakınca 2. ld sönüp birinci led yanar ledler d0 ve d1e göre ayarlıdır. bootusblcd klasöründe bootloader ile kullanılacak şekilde usb uygulaması var. 320volt sitesindeki programın ccs cdc bootloader ile çalışacak şekilde düzenlediğim hali. programı yükleyip çalıştırınca hid arayüzünden bilgisayara bağlanır. Yukarıdaki dosyanın içindeki usb.exe uygulaması doğrudan pici görür, programda led 1~7 kutularına tıklayarak d0 ve d1 e bağlı ledleri yakıp söndürebilirsin. bootloadera programı hercules serial terminal programı ile atabilirsin, yukarıdaki dosyanın içinde var. Son olarak cdc driveri de yukarıdaki dosyada var Bilgisayar cdc cihazını görünce manuel olarak yüklersin. Windows uyarıp "bu aygıt için uygun sürücü değil" dese de devam et sorunsuz çalışıyor. Ben ccs 4.068 kullanıyorum bunlar sorunsuz oluyor. umarım bu sefer olur sende de.
@DaRt Hocam, Teşekkür ederim, ccs 4.06 ile programları derledim,
USB_CON_SENSE_PIN PIN_B2 pininide cod içerisindeki bağlantıya göre bağlayınca kart çalıştı. PC arayüzüde çalışıyor.
Saygılarımla.
Ben driver'ı tanıtamadım.
Win 7.
Sidketi var dedim. Yerini gösterdim ama olmadı.
Alıntı yapılan: remzi - 18 Nisan 2015, 13:14:32
Ben driver'ı tanıtamadım.
Win 7.
Sidketi var dedim. Yerini gösterdim ama olmadı.
remzi hocam. Bende win 7 64bit var ve guzel calisiyor .
@DaRt arkadasin verdiği linkdeki dosyayı indir. Devrende usb sens pin B2 var bunu bağlanan gerekiyor
veya programdan iptal etmen gerekiyor.
Alıntı yapılan: DaRt - 17 Nisan 2015, 20:24:58
thenorthstar hocam. arm belasına bulaştım i2cyi çözene kadar göbeğim çatladı fırsat bulup yollayamadım. https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0 (https://www.dropbox.com/s/0sdksivu90ik2z0/bootloader%20dosyalar%C4%B1.rar?dl=0)
Yukardaki dosyadaki bootloader klasöründe B4e göre derlenmiş bootloader var. denedim sorunsuz çalışıyor bilgisayar usb cihazı görüyor. bootlcd klasöründe bootloader ile kullanılacak şekilde 2led bir buton uygulaması var. programın çalışmasıyla birinci led yanar, b4e basınca birinci led söner ikinci led yanar. B4ü bırakınca 2. ld sönüp birinci led yanar ledler d0 ve d1e göre ayarlıdır. bootusblcd klasöründe bootloader ile kullanılacak şekilde usb uygulaması var. 320volt sitesindeki programın ccs cdc bootloader ile çalışacak şekilde düzenlediğim hali. programı yükleyip çalıştırınca hid arayüzünden bilgisayara bağlanır. Yukarıdaki dosyanın içindeki usb.exe uygulaması doğrudan pici görür,
Alıntı yapılan: DaRt - 07 Nisan 2015, 15:09:15Geçen hafta ben de aynı konuda debelendim durdum. 320 sitesindekini sorunsuz çalıştırdım ancak bootloader yükledikten sonra bootloader modunda usb bağlantı çalışıyor ancak bootloader ile asıl programı yğüklediğimde asıl programdaki usb arayüzü çalışmıyordu. Aynı koddan bootloader ifadelerini çıkarıp seri programlayıcı ile pice attığımda yazdığım usb arayüzü sorunsuz çalışıyordu. Ayrıca verilen örnek programda bootloader için ayrılması gerekn bölüm yok dolayısı ile en basit program bile çalışmıyordu. ben de zorunlu olarak terk ettim bu bootloaderı. Daha sonra ccs içerisindeki örnek bootloader kodlarını derledim. yükledim usb bağlantısı dahil sorunsuz çalıştı. 320 volt sitesindeki örnekler baz alınarak yaptığım kendi çalışmalarımı ekledim. ister kodu tekrar derleyin ister içerisindeki hazır hexi kullanın sorunsuz çalışıyor. birde örnek program ekledim bootloader ile sorunsuz çalışıyor. takıldığınız konuda yardımcı olmaya çalışırım.
https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq (https://www.dropbox.com/l/qsux7vCw0DZRJU6joOj3Oq)
https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq (https://www.dropbox.com/l/Wg9dXxrYfBYOMLbhfHWIjq)
Not: Bootloadera program yüklemek için secure crt 7,3 diye bir program kullanıyorum. 30 günlük deneme sürümü var. zaman dolunca başka bir program arayacağım.
@DaRt hocam merhaba dropbox linkleri kırılmış dosyalar mevcutmu sizde?
Merhaba CCS C BOOTLODER uygulaması ile uğraşıyorum seri porttan dosyayı yüklüyorum kodlar yükleme sonucu çalışıyor fakat yükleme yaptığım uart portu programda kullanamıyorum sebebi ne olabilir.
şöyle düzeltme yapayım programlama yaparken kullandığım uart çalışıyor fakat programdaki kullandığım diğer uartlar çalışmıyor.
Arkadaşlar sorun şu şekilde düzeltildi;
Normalde iki hex dosyamız var birincisi pice bir defa yüklenen boot hexi birde asıl programımızın çalışacağı program hexi, program hexinde mcunun birden fazla uart biriminin çalışmasını istiyorsak boot hexinede
#use rs232 (baud=19200, UART3, bits=8, parity=N, stop=1, ERRORS, STREAM=plc)
tanımlamamız gerekiyor.