Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: remzi - 07 Nisan 2015, 13:13:07

Başlık: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 07 Nisan 2015, 13:13:07
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...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 07 Nisan 2015, 13:44:43
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)
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 07 Nisan 2015, 13:53:57
İ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
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 07 Nisan 2015, 14:12:17
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: RaMu - 07 Nisan 2015, 15:27:17
Ben kullanmadım ama;
CcsC nin kendi örnekleri olan
ex_bootload.c ve ex_bootloader.c yi incelerdim kullanacak olsam.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 07 Nisan 2015, 15:42:08
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: DaRt - 07 Nisan 2015, 15:45:39
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ı.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 07 Nisan 2015, 15:48:11
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: tacettin - 08 Nisan 2015, 08:02:32
#include <usb_bootloader.h> ekleyince oluyor...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 08 Nisan 2015, 08:53:52
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: tacettin - 08 Nisan 2015, 09:38:42
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
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 08 Nisan 2015, 09:53:20
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);
   }
}
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 08 Nisan 2015, 21:54:07
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...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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);     
     }
     
   }


}
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 09 Nisan 2015, 09:52:15
tacettin bey bootloader için hangi programı kullanıyorsunuz?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: tacettin - 09 Nisan 2015, 10:08:42
ilk hex atmak için pickit2 kullanıyorum.  daha sonra HIDBootloader.  linkin içine onuda yerleştirdim...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.

Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 09 Nisan 2015, 11:21:17
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: DaRt - 09 Nisan 2015, 13:46:56
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 09 Nisan 2015, 13:48:06
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...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 09 Nisan 2015, 14:47:02
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);
   }
}
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 09 Nisan 2015, 16:26:55
thenorthstar gönderdiğin dosyalardan hangi hex'i pic'e yüklemek gerekiyor?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 09 Nisan 2015, 21:34:14
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ı.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 09 Nisan 2015, 22:03:24
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);
   }
}

Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 11 Nisan 2015, 11:10:50
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: selimkoc - 12 Nisan 2015, 21:07:20
USB bağlantı frekansı 48Mhz olmalı. PLL ile 48MHz yükselttiniz mi?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: baran123 - 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 13 Nisan 2015, 11:37:53
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: tacettin - 13 Nisan 2015, 11:59:33
hocam bir de aşağıdaki gibi dener misin?

#build(reset=0x1000, interrupt=0x1008)
#ORG 0x0000,0x0FFF {}
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 13 Nisan 2015, 12:45:21
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
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 13 Nisan 2015, 14:05:23
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?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 13 Nisan 2015, 14:35:00
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
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: DaRt - 13 Nisan 2015, 15:32:28
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ç
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 13 Nisan 2015, 16:23:46
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.

Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 13 Nisan 2015, 16:53:18
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 13 Nisan 2015, 17:25:09
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ş.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 13 Nisan 2015, 18:09:36
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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ı.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 15 Nisan 2015, 08:51:54
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/)
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 15 Nisan 2015, 15:12:53
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. :(
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 16 Nisan 2015, 15:20:49
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: DaRt - 16 Nisan 2015, 19:07:38
usbden mi yakacaksın ledi yoksa usb arayüzü olmayan sadece led mi?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 16 Nisan 2015, 20:36:32
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 17 Nisan 2015, 08:33:50
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. :(
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 17 Nisan 2015, 10:37:06
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ı?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 17 Nisan 2015, 12:22:21
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?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 17 Nisan 2015, 12:28:08
denedim.
Çalışmıyor.
Led yak söndür süper çalışıyor.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 17 Nisan 2015, 15:51:10
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?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: t2 - 17 Nisan 2015, 17:20:08
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 17 Nisan 2015, 17:47:47
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...
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: 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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 17 Nisan 2015, 20:54:38
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 :-)
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 18 Nisan 2015, 10:26:03
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: remzi - 18 Nisan 2015, 13:14:32
Ben driver'ı tanıtamadım.
Win 7.
Sidketi var dedim. Yerini gösterdim ama olmadı.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: thenorthstar - 18 Nisan 2015, 14:39:29
 
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,
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: dnacikaya - 02 Nisan 2018, 19:37:48
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?
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: ahmetgokce01 - 29 Haziran 2019, 11:32:54
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.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: ahmetgokce01 - 29 Haziran 2019, 12:19:53
şöyle düzeltme yapayım programlama yaparken kullandığım uart çalışıyor fakat programdaki kullandığım diğer uartlar çalışmıyor.
Başlık: Ynt: CCS 18F4550 HID bootloader arıyorum?
Gönderen: ahmetgokce01 - 29 Haziran 2019, 14:29:55
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.