VeroRoute/Src/images/fat.png000644 001750 001750 00000000500 13661712157 016214 0ustar00alexalex000000 000000 ‰PNG  IHDR szzєbKGD…ЌJ1J pHYsФФ•+tIMEу љ ~ЭIDATXУэ–1ƒ0 EБ/УЪDзо‚ЎœŒ•cА2бЕЇ1RŠ БUџ€Ђz#Šфчиц‘*Œзу§}румPјM:ё_‘<ЬЩБKУTУAЈkб$юŸkЋFНW[ЊDМ[њŒ˜ƒ{Е V%j HDNDУTУЋВЕ`/9ƒrЋaрa)c џХЄ ЖZSУ9Ћ>:/oЌІЦРjjЪ\C‹ЉqYӘ ХLЭ87oAj&мЌІfЛяж­?иƒЎЂ6kuž‡пњIENDЎB`‚VeroRoute/Src/images/layerbot.png000644 001750 001750 00000001022 13734471231 017257 0ustar00alexalex000000 000000 ‰PNG  IHDR szzєbKGDљCЛ pHYsФФ•+tIMEф  )˜pYŸIDATXУХ—=в‚0@п~CЃЇбF;'Д^СVузz[ь;*=–kcФѓУŒ[Щ М—ЭВId_жќ2ўјqd lыRЗuЉ9я(|77Ч‡ѕй TUўЋ“Œ"А9Ў>~жчpг4ђМжTщanc2™8С§0ЦXBEМS Ж‘’‘Т5њXpŽH‘:bcŒ§O–HсЊъ№X"ЂЊ“ъО€…cМCХZˆHє‡H…жHЁЊЏд$[’@7В/ыЈШЬдGŸ(vЇ ЊZКХ‘š‘0РюTсtDВ2тьЫк/0ŸЯИ^ЏQ"<›ЭИ\.<$ќZ |#ЇџU‚ж‚Ёч\k„ё‹ ‚љ.ђжˆhb'™ЌчT4њЃ}—`QкH2Рн ФзРрW D}#‚QлЖ,‹qDzрћ§.гщдпˆкЖHљю6#og‹‰{7ЅМ\.эЕПXsМ9ЎоРЗлЭyЦЪ€*жЁХЦј§Mfzш}у{к–_m<luf.э­;IENDЎB`‚VeroRoute/Src/images/flipv.png000644 001750 001750 00000000434 13661712157 016570 0ustar00alexalex000000 000000 ‰PNG  IHDR szzєbKGDџџџ НЇ“ pHYsФФ•+tIMEу*'јYOѓЉIDATXУэз; €0Eб‰X ю,K qIюТYХF-ќe2y3ˆфXXмŠЂ­ню §xaЛŽU–сy —ЕA˜юТк€hX РЃЩa@Юd‡ЅX8sjс@=МЯн… цЈь+ЏРН}„ОрхiьY5H*‘`\@6Cа€dˆ€ бD!V€GШ`z"ђн їМЃYй =Ÿ]хЄ‚пуIENDЎB`‚VeroRoute/libraries/gEDA/veroroute_connector/000775 001750 001750 00000000000 13515171160 021556 5ustar00alexalex000000 000000 VeroRoute/libraries/gEDA/veroroute_transistor/JFET_Nchannel_2N5486.sym000644 001750 001750 00000001551 13515171161 025753 0ustar00alexalex000000 000000 v 20130925 2 T 100 500 5 10 0 0 0 0 1 numslots=0 P 100 500 400 500 1 0 0 { T 100 350 5 6 1 1 0 0 1 pinnumber=3 T 100 350 5 6 0 0 0 0 1 pinseq=3 T 100 350 5 6 0 0 0 0 1 pinlabel=3 T 100 350 5 6 0 0 0 0 1 pintype=pas } P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=1 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 0 0 0 1 pinlabel=1 T 500 850 5 6 0 0 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=2 T 500 50 5 6 0 0 0 0 1 pinseq=2 T 500 250 5 6 1 1 0 0 1 pinlabel=S T 500 50 5 6 0 0 0 0 1 pintype=pas } L 400 800 600 800 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 L 400 900 400 100 3 0 0 0 -1 -1 L 300 600 400 500 3 0 0 0 -1 -1 L 400 500 300 400 3 0 0 0 -1 -1 T 700 700 5 10 1 1 0 0 1 device=2N5486 T 700 400 8 10 1 1 0 0 1 refdes=Q? T 595 95 8 10 0 0 0 0 1 footprint=TO92 T 595 95 8 10 0 0 0 0 1 description=N-Channel JFET VeroRoute/000775 001750 001750 00000000000 14066655111 012743 5ustar00alexalex000000 000000 VeroRoute/libraries/gEDA/veroroute_bbd/000775 001750 001750 00000000000 13515171160 020313 5ustar00alexalex000000 000000 VeroRoute/libraries/gEDA/veroroute_transistor/NPN_BC212.sym000644 001750 001750 00000001562 13515171161 023755 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 0 0 0 1 pinlabel=2 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=3 T 400 850 5 6 0 0 0 0 1 pinseq=3 T 400 850 5 6 0 0 0 0 1 pinlabel=3 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=1 T 400 50 5 6 0 0 0 0 1 pinseq=1 T 400 50 5 6 0 0 0 0 1 pinlabel=1 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 403,209 L 501,200 L 431,273 L 425,240 z T 600 700 5 10 1 1 0 0 1 device=BC212 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=NPN Transistor VeroRoute/libraries/gEDA/veroroute_passive/Capacitor_Electrolytic_NP_300mil.sym000644 001750 001750 00000001341 13515171161 030076 0ustar00alexalex000000 000000 v 20130925 2 T 200 700 5 10 0 0 0 0 1 numslots=0 P 200 700 400 700 1 0 0 { T 350 750 5 8 1 1 0 6 1 pinnumber=1 T 350 750 5 8 0 0 0 6 1 pinseq=1 T 350 750 5 8 0 0 0 6 1 pinlabel=1 T 350 750 5 8 0 0 0 6 1 pintype=pas } P 1100 700 900 700 1 0 0 { T 950 750 5 8 1 1 0 0 1 pinnumber=2 T 950 750 5 8 0 0 0 0 1 pinseq=2 T 950 750 5 8 0 0 0 0 1 pinlabel=2 T 950 750 5 8 0 0 0 0 1 pintype=pas } L 600 900 600 500 3 0 0 0 -1 -1 L 900 700 700 700 3 0 0 0 -1 -1 L 600 700 400 700 3 0 0 0 -1 -1 A 1400 700 700 165 30 3 0 0 0 -1 -1 T 500 300 5 10 1 1 0 0 1 device=3u3 T 500 1000 8 10 1 1 0 0 1 refdes=C? T 500 700 8 10 0 0 0 0 1 footprint=CAP_ELECTRO_300_NP T 500 700 8 10 0 0 0 0 1 description=Non-Polarised Electrolytic Capacitor (300 mil diameter) VeroRoute/libraries/gEDA/veroroute_transistor/JFET_Nchannel_2SK30.sym000644 001750 001750 00000001550 13515171161 025706 0ustar00alexalex000000 000000 v 20130925 2 T 100 500 5 10 0 0 0 0 1 numslots=0 P 100 500 400 500 1 0 0 { T 100 350 5 6 1 1 0 0 1 pinnumber=2 T 100 350 5 6 0 0 0 0 1 pinseq=2 T 100 350 5 6 0 0 0 0 1 pinlabel=2 T 100 350 5 6 0 0 0 0 1 pintype=pas } P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=3 T 500 850 5 6 0 0 0 0 1 pinseq=3 T 500 850 5 6 0 0 0 0 1 pinlabel=3 T 500 850 5 6 0 0 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=1 T 500 50 5 6 0 0 0 0 1 pinseq=1 T 500 250 5 6 1 1 0 0 1 pinlabel=S T 500 50 5 6 0 0 0 0 1 pintype=pas } L 400 800 600 800 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 L 400 900 400 100 3 0 0 0 -1 -1 L 300 600 400 500 3 0 0 0 -1 -1 L 400 500 300 400 3 0 0 0 -1 -1 T 700 700 5 10 1 1 0 0 1 device=2SK30 T 700 400 8 10 1 1 0 0 1 refdes=Q? T 595 95 8 10 0 0 0 0 1 footprint=TO92 T 595 95 8 10 0 0 0 0 1 description=N-Channel JFET VeroRoute/tutorials/tutorial_11.vrt000644 001750 001750 00000073551 14066376766 017723 0ustar00alexalex000000 000000 2-”TUTORIAL 11 - MAKING CONNECTIONS As seen in the previous tutorials, connections are automatically made between adjacent grid points that have the same NodeID. So to manually build a track, NodeIDs need to be "painted" to grid points and component pins. We will run through an example, but first of all here is an overview. To paint things (i.e. assign NodeIDs) you must hold down a particular keyboard key while clicking the mouse. The key used depends on whether you want to paint a component pin or a regular grid point. PAINTING COMPONENT PINS Component pins are special and must be protected from being edited by accident. Therefore in order to paint or erase a pin you must hold down the "P" key for "pin" while you click the mouse on the pin to modify it. You can actually paint regular (i.e. non-pin) grid points while holding down "P" too, but have to repeatedly click to paint. Note that it is not possible to paint a component pin if the component is floating. It must be placed on the grid first. PAINTING THE GRID Regular grid points can be painted by holding down the SPACE bar and clicking with the mouse. Using the SPACE bar avoids the need for repeated mouse-clicks and you can paint (or erase) multiple points by moving the mouse while holding down a mouse button. Component pins are protected and left unmodified when painting with the SPACE bar. ERASING When either the "P" key or the SPACE bar is being held down, use the left mouse button to paint, and use the right mouse button to erase. SELECTING THE NODEID FOR PAINTING To paint using an existing NodeID, you must first make it the "selected NodeID" by left-clicking on it in the view (or in the "Broken" list) just as you would when viewing connectivity. It will be highlighted in dark grey in the view. To paint with a brand new NodeID, you must first right-click the mouse (without holding down any keys) to clear the "selected NodeID" so that nothing in the view is shown in dark grey. This will cause a brand new NodeID to be used for painting. EXAMPLE Now let's paint the circuit in the top part of the view... Start by right clicking in the view so that nothing is shown in dark grey. This means the first thing we paint will have a brand new NodeID. Hold down "P" and left-click on the top pin of R1. It will be painted in dark grey with the new NodeID. We want to connect the tops of R1, R2 and R3. So making sure that the top pin of R1 is still shown in dark grey, hold down "P" and click on the top pins of R2 and R3. You will see that the NodeID is "Broken" because the three painted pins are not electrically connected. You can fix that my moving the parts so that the pins are adjacent, but let's paint a track instead. Hold down the SPACE bar and paint in the grid points between the 3 pins to join them electrically and fix the "Broken" NodeID. Now drag R1 a few steps to the left with the mouse. Upon releasing the mouse, connectivity is re-evaluated and you will see that the NodeID is "Broken" again. This is because parts (except for wires) take their NodeIDs with them as they are moved. So the act of painting a pin does not paint the underlying grid. Now move R1 back. Next we will connect the bottom of R2 to the top of Q1. We want to use a brand new NodeID, so right-click the mouse anywhere in the view (without holding down any keys) so that nothing in the view is shown in dark grey. Then hold down "P" and left-click on the bottom of R2, and on the top of Q1, and then paint a track between them. That's all there is to it. The only difference between painting and erasing is using the right mouse button instead of the left. So holding down the SPACE bar, right-click and move the mouse to wipe all the tracks that you have painted. Notice that the pins are not wiped when using the SPACE bar. If you want to wipe them, you must use the "P" key instead and right-click on each one. PAINTING WIRES When painting a wire-end, you are actually painting the grid point under the wire-end rather than the wire itself. Try the following. Hold down the SPACE bar and left-click to paint one end of the wire on the left of the grid. Notice that the other wire-end is automatically painted. Now move the wire up. You will see the point that you painted is still colored, but the other point loses its color once the wire is moved. That is because it was only electrically connected to the painted point while the wire was in place. PAINTING TRACKS & PINS WITH FLOOD FILL It is possible to repaint entire tracks and all the pins on them using a "flood-fill". To do this, hold down the "F" key instead of the "P" key or SPACE bar. Try this now by first left-clicking on one of the track portions in the bottom-right portion of the view to select a NodeID for painting. Then hold down the F key and left click on the unbroken vertical track connecting C1 and C2. Both the track and the pins on it will be assigned the selected NodeID. Now try painting the broken track portion on the right of C1. Notice that the the broken track portion on C2 remains unaffected because it was not connected to the point that was clicked. TOGGLING BETWEEN COMPETING DIAGONALS Finally, look at the painted track sections in the bottom right of the grid. (You may need to Reload this tutorial if you modified what was originally there). There is a short diagonal track section going from top-left to bottom-right between two other track sections. VeroRoute does not allow diagonal connections to cross each other, so the current diagonal connection blocks a potential diagonal connection going the other way (from top-right to bottom-left). Double-clicking on the diagonal connection (without holding down any keys) will cause the competing diagonal to be used instead. Give that a try. џџџџџџџџџџџZ. 2: џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџџџџџџџџџџџџџџџџ@џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџџџџџџ@џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџФџџџџџџџџџџdџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ%џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџ@џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ1џџџџџџџџџџAџџџџџџџџџџRџџџџџџџџџџ‘џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџFџџџџџџџџџџLџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,R110kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џєC2C2CCeramicCAP_CERAMICWF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ P   LQ1 2N3904QTO92TO92 SF(123Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   џџџШ Wire1 Wire1WireWire WF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџџџ,R310kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R233kRResistorRESISTOR NF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џєC1C1CCeramicCAP_CERAMICWF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PB@џџџўINVALID TracksWF(џџџ€џџџ€џџџ€џџџ€џџџџџџџџF#џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ Р@Р@@V€џVeroRoute/libraries/gEDA/veroroute_electromechanical/Switch_Offboard_SPDT.sym000644 001750 001750 00000001367 13515171160 027662 0ustar00alexalex000000 000000 v 20130925 2 T 300 700 8 10 0 0 0 0 1 numslots=0 P 300 700 0 700 1 0 1 { T 150 750 5 10 1 1 0 0 1 pinnumber=2 T 150 750 5 10 0 0 0 0 1 pinseq=2 T 150 750 5 10 0 0 0 0 1 pinlabel=2 T 150 750 5 10 0 0 0 0 1 pintype=pas } P 600 900 900 900 1 0 1 { T 750 950 5 10 1 1 0 0 1 pinnumber=1 T 750 950 5 10 0 0 0 0 1 pinseq=1 T 750 950 5 10 0 0 0 0 1 pinlabel=1 T 750 950 5 10 0 0 0 0 1 pintype=pas } P 600 500 900 500 1 0 1 { T 750 550 5 10 1 1 0 0 1 pinnumber=3 T 750 550 5 10 0 0 0 0 1 pinseq=3 T 750 550 5 10 0 0 0 0 1 pinlabel=3 T 750 550 5 10 0 0 0 0 1 pintype=pas } L 300 700 600 900 3 0 0 0 -1 -1 T 200 0 5 10 1 1 0 0 1 device=Name T 300 200 8 10 1 1 0 0 1 refdes=S? T 895 793 8 10 0 0 0 0 1 footprint=PADS3 T 895 793 8 10 0 0 0 0 1 description=Offboard Switch VeroRoute/libraries/gEDA/veroroute_transistor/PNP_BC308.sym000644 001750 001750 00000001562 13515171161 023765 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 0 0 0 1 pinlabel=2 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=1 T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 0 0 0 1 pinlabel=1 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=3 T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 0 0 0 1 pinlabel=3 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 297,341 L 199,350 L 269,277 L 275,310 z T 600 700 5 10 1 1 0 0 1 device=BC308 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=PNP Transistor VeroRoute/Src/StringHelper.h000644 001750 001750 00000004665 14026026345 016257 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "Common.h" struct StringHelper { static bool IsEmptyStr(const std::string& in) { std::string s = in; s.erase(std::remove_if(s.begin(), s.end(), ::isspace), s.end()); return s.empty(); } static bool HasSpaces(const std::string& in) { std::string s = in; s.erase(std::remove_if(s.begin(), s.end(), ::isspace), s.end()); return s.size() < in.size(); } // Helper function for reading a line from a file during the netlist import. // Handles differing line-ending conventions between the file and the operating system. static std::istream& getline_safe(std::istream& inStream, std::string& str) { std::istream::sentry se(inStream, true); // Sentry object to protect and manage the stream buffer std::streambuf* sb = inStream.rdbuf(); str.clear(); while(true) { const int c = sb->sbumpc(); switch( c ) { case '\n': return inStream; case '\r': if ( sb->sgetc() == '\n' ) sb->sbumpc(); return inStream; case EOF: if ( str.empty() ) // In case last line has no ending inStream.setstate(std::ios::eofbit); return inStream; default: str += static_cast( c ); } } } std::vector strList; static void GetSubStrings(const std::string& in, std::vector& strList) { strList.clear(); std::istringstream iss(in); for (std::string s; iss >> s; ) strList.push_back(s); } StringHelper() { assert( true || PreventBuildWarnings() ); } private: bool PreventBuildWarnings() const { std::ifstream inStream; std::string str; StringHelper::IsEmptyStr(""); StringHelper::HasSpaces(""); StringHelper::getline_safe(inStream, str); return true; } }; VeroRoute/libraries/TinyCAD/VeroRoute_Diode.TCLib000644 001750 001750 00000260000 13515171160 022056 0ustar00alexalex000000 000000 SQLite format 3@ TH6ћћ.!%%‚tableSymbolSymbolCREATE TABLE [Symbol] ([SymbolID] INTEGER PRIMARY KEY,[Data] TEXT)ƒ8!†9tableNameNameCREATE TABLE [Name] ([NameID] INTEGER PRIMARY KEY,[Name] TEXT,[SymbolID] INTEGER,[Type] INTEGER,[Reference] TEXT,[ppp] INTEGER,[Description] TEXT,[ShowName] INTEGER,[ShowRef] INTEGER,[DefRotate] INTEGE ўб˜б YллУУУУYG =AOPAMP-SINGLEU?Single Op Amp5 --RES )ESW-SPSTSW?Off Board SPSTЩ)ESW-SPDTSW?Off Board SPDT†)ESW-DPDTSW?Off Board DPDTgC)ESW-3PDTSW?Off Board 3PDT?]LEDD?Light Emitting Diodeњ99DIODE-ZENERD?Zener DiodeњEEDIODE-SCHOTTKY D?Schottky Di+ %!1N4148D?Diodeе]LK )]Red-LEDD?Light Emitting Diode= 19ZENER-12VD?Zener Diode; !EBAT41D?Schottky Diode+!!DIODE D?Diodeт!ћіёьчтггггггггггЮ’’’’’7šr -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 +ооЦЦ>>>8i$$SPICE_PROLOG_PRIORITY5 )!PackagePADS98i$$SPICE_EPILOG_PRIORITY58ir:i$$SPICE_PROLOG_PRIORITY58i$$SPICE_EPILOG_PRIORITY5:i$$SPICE_EPILOG_PRIORITY5")!PackagePADS23)PackageLED82i$$SPICE_EPILOG_PRIORITY581i$$SPICE_PROLOG_PRIORITY5 6)!PackageDIODE85i$$SPICE_EPILOG_PRIORITY584i$$SPICE_PROLOG_PRIORITY5 *)!PackageDIODE8)i$$SPICE_EPILOG_PRIORITY58(i$$SPICE_PROLOG_PRIORITY5 -)!PackageDIODE8,i$$SPICE_EPILOG_PRIORITY58+i$$SPICE_PROLOG_PRIORITY5 ””OЫƒ8!†9tableNameNameCREATE TABLE [Name] ([NameID] INTEGER PRIMARY KEY,[Name] TEXT,[SymbolID] INTEGER,[Type] INTEGER,[Reference] TEXT,[ppp] INTEGER,[Descriptƒ8!†9tableNameNameCREATE TABLE [Name] ([NameID] INTEGER PRIMARY KEY,[Name] TEXT,[SymbolID] INTEGER,[Type] INTEGER,[Reference] TEXT,[ppp] INTEGER,[Description] TEXT,[ShowName] INTEGER,[ShowRef] INTEGER,[DefRotate] INTEGER).!%%‚tableSymbolSymbolCREATE TABLE [Symbol] ([SymbolID] INTEGER PRIMARY KEY,[Data] TEXT) ИштмњєюФОИжаЪLLLLLLРРРŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠxxxTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTв$&rв&qв&pв%oв %nв%mв$lв $kв$jв6#iв0#hв*#gв$"fв"eв"dв!cв !bв!a”Œ `”† _”€ ^”z] \[ъZP0YP*XP$WPVPUPTP SPR Qю,Pю&Oю NP MPLDKJIќH GFhE DCzB A@Œ? >=ž< ;:А9 87Т6543 21ц0 /.ј- ,+ * )( ' & %. $ # "@ !  ” ” ” ” ” ” ”” ”HB<6м мЌм м 321654*)(-,+ &&[‚2!11„tableAttributeAttributeCREATE TABLE [Attribute] ([AttributeID] INTEGER PRIMARY KEY,[NameID] INTEGER,[AttName] TEXT,[AttValue] TEXT,[ShowAtt] INTEGER)"!51aindexidx_NameIDAttributeCREATE INDEX [idx_NameID] ON [Attribute] ( [NameID] )5' number_pos='0' centre_name='0'>+ - - OUTPUT os os ЃЃQз, -10 0 400 0 0 0 0 Arial 000000 1 -10 0 400 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 -10 0 <‹x —t -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 ЃQЃ‘ЂB -10 0 400 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 ERLINE>0 0 0 Arial 000000 1 -1 000000 0 000000 -10 0 400 0 -10 0 400 0 -10 0 400 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 ERLINE>0 0 0 Arial 000000 1 -1 000000 0 000000 ERLINE>0 0 0 Arial 000000 1 -1 000000 0 000000 tion='1' part='0' number='1' show='0' length='15' number_pos='0' centre_name='0'> LOR>000000 LOR>000000 ЂЅЂ‹x —t -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 > 1 -1 000000 ERLINE>0 0 0 Arial 000000 1 -1 000000 0 000000 E id='2'> 000000 1 -1 000000 E id='2'> 000000 1 -1 000000 NN:к&”: -10 0 400 0 0 0 0 Arial -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 LOR>000000 QQ‹$–L -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 1 -1 000000 E id='2'> 000000 1 -1 000000 E id='2'> 000000 1 -1 000000 :::&”: -10 0 400 0 0 0 0 Arial -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 + 000000 1 -1 000000 4.00000,22.00000' which='0' elec='4' direction='1' part='0' number='1' show='1' length='12' number_pos='0' centre_name='0'> 'NN'‹N— -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 5шшIœј5ЛЛIœј5vЛb ) LM13600U?Dual Transcondu? 59OPAMP-QUADU?Quad Op Amp? 59OPAMP-DUALU?Dual Op Amp7 EPADJ?Connection Padb ) LM13600U?Dual Transconductance Amplifier3 !5LM311U?Comparator) !!NE555U?Timer_ 9qSW-DPST-DIP SW?On Board DPST DIP PackageQ! yRT!RT?Resistor Trimmer (On-board)Z"  RV"RV?Resistor Variable. (Off-board);# )=SPEAKER#S?Loud SpeakerЫQDIP8$U?Generic 8-pin DIPŠ!UDIP14%U?Generic 14-pin DIPE!UDIP16&U?Generic 16-pin DIP4.00000,22.00000' which='0' elec='4' direction='1' part='0' number='1' show='1' length='12' number_pos='0' centre_name='0'> ::'В— -10 0 400 0 0 0 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 + 4.00000,22.00000' which='0' elec='4' direction='1' part='0' number='1' show='1' length='12' number_pos='0' centre_name='0'> ::Nй— -10 0 400 0 0 0 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 + > 1 -1 000000 ’ЬЬЬ•7Њr -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 + -10 >>8Yi$$SPICE_EPILOG_PRIORITY58Xi$$SPICE_PROLOG_PRIORITY5W)PackageDIP88Vi$$SPICE_EPILOG_PRIORITY58Ui$$SPICE_PROLOG_PRIORITY5 T)!PackageDIP168Si$$SPICE_EPILOG_PRIORITY58Ri$$SPICE_PROLOG_PRIO8Oi$$SPICE_PROLOG_PRIORITY58Pi$$SPICE_EPILOG_PRIORITY5Q)PackagePAD8Ri$$SPICE_PROLOG_PRIORITY58Si$$SPICE_EPILOG_PRIORITY5 T)!PackageDIP168Ui$$SPICE_PROLOG_PRIORITY58Vi$$SPICE_EPILOG_PRIORITY5W)PackageDIP88Xi$$SPICE_PROLOG_PRIORITY58Yi$$SPICE_EPILOG_PRIORITY57umber_pos='0' centre_name='0'>+ - - OUTPUT + - OUTPUT + - OUTPUT + - OUTPUT ' number_pos='0' centre_name='0'>- - OUTPUT + - OUTPUT NNS -10 0 400 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 NN…/Šb -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 000000 1 -1 000000 + - + Out - BUFFER IN BUFFER OUT > Amp bias + + Diode bias - Amp bias ……fh> -10 0 400 0 Фšv ‹V —0 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 V- COL OUT EMIT OUT V+ BALANCE BAL/STRB ˜˜Ž]> -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 + - TRIG OUT RESET CTRL THRESH DISCH VCC <<+” -10 0 400 0 0 0 0 Arial -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 GND ?@CBFEJ*8:679 GA"! K"LMNOI er_pos='0' centre_name='0'> tion='1' part='0' number='1' show='0' length='15' number_pos='0' centre_name='0'> ……fы‰"’" -10 0 400 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 KERLINE>0 0 0 Arial 000000 1 -1 000000 0 000000 -1 000000 Ђ§ЂŠP•$ -10 0 400 0 0 0 0 Arial 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 -10 0 400 0 0 0 0M3' length='20' number_pos='0' centre_name='0'> --H$Ÿ -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 ’’\˜G&Б -10 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 VeroRoute/Src/hotkeysdialog.ui000644 001750 001750 00000001632 14013667610 016676 0ustar00alexalex000000 000000 HotkeysDialog 0 0 680 620 680 620 680 620 Key/Mouse Actions 10 10 661 601 Qt::NoFocus VeroRoute/Src/images/underline.png000644 001750 001750 00000001206 13661712157 017433 0ustar00alexalex000000 000000 ‰PNG  IHDR йsВgAMAБ ќa cHRMz&€„њ€шu0ъ`:˜pœКQ<bKGDЊ#2 pHYsФФ•+tIMEу}N™\TIDATHЧэ•1K1†ŸЛЋP(‚бE)"Ј‹] ‚ЛKзN.т?PpUзтЯ(usQJEЈХнУv)ˆУЉЕдЁwѕrŸ^ввN}Г|ЩћцIw @@лŠ„*5АqXCЏ U™ы85:ЬF‡2%Nx§щпёŽЧS"г Ф1Oa7AYl-Ї]/'—$ўкyeњиZ€MOeђб`ЈЎˆњZ€O ъЏ8`LMРџXП~эHГ8ƒm1КЈ,ˆКД„е6EнŠл ѕЗWД€х7БtCqуФм}сщ4‰Ћ"=ЮH)'ХЉИ\’rуR+T˜WНOЎiЫl и 9\ŒЪP5М§V%Уй OMBќЛБ ˜UЖШ2GxУу[‡­=–њ;pиazФ™]ЎЂЫ§|рС™кEDЛ №vёFžўСР7иŽфУšQj%tEXtdate:create2019-04-04T22:01:30+02:00Ѓ=‰к%tEXtdate:modify2019-04-04T22:01:30+02:00в`1ftEXtSoftwarewww.inkscape.org›ю<IENDЎB`‚VeroRoute/libraries/gEDA/veroroute_transistor/JFET_Nchannel_MPF102.sym000644 001750 001750 00000001551 13515171161 026012 0ustar00alexalex000000 000000 v 20130925 2 T 100 500 5 10 0 0 0 0 1 numslots=0 P 100 500 400 500 1 0 0 { T 100 350 5 6 1 1 0 0 1 pinnumber=3 T 100 350 5 6 0 0 0 0 1 pinseq=3 T 100 350 5 6 0 0 0 0 1 pinlabel=3 T 100 350 5 6 0 0 0 0 1 pintype=pas } P 600 1000 600 800 1 0 0 { T 500 850 5 6 1 1 0 0 1 pinnumber=1 T 500 850 5 6 0 0 0 0 1 pinseq=1 T 500 850 5 6 0 0 0 0 1 pinlabel=1 T 500 850 5 6 0 0 0 0 1 pintype=pas } P 600 200 600 0 1 0 1 { T 500 50 5 6 1 1 0 0 1 pinnumber=2 T 500 50 5 6 0 0 0 0 1 pinseq=2 T 500 250 5 6 1 1 0 0 1 pinlabel=S T 500 50 5 6 0 0 0 0 1 pintype=pas } L 400 800 600 800 3 0 0 0 -1 -1 L 400 200 600 200 3 0 0 0 -1 -1 L 400 900 400 100 3 0 0 0 -1 -1 L 300 600 400 500 3 0 0 0 -1 -1 L 400 500 300 400 3 0 0 0 -1 -1 T 700 700 5 10 1 1 0 0 1 device=MPF102 T 700 400 8 10 1 1 0 0 1 refdes=Q? T 595 95 8 10 0 0 0 0 1 footprint=TO92 T 595 95 8 10 0 0 0 0 1 description=N-Channel JFET VeroRoute/libraries/gEDA/veroroute_passive/Resistor_300mil.sym000644 001750 001750 00000001141 13515171161 024662 0ustar00alexalex000000 000000 v 20130925 2 T 0 400 5 10 0 0 0 0 1 numslots=0 P 0 400 150 400 1 0 0 { T 100 450 5 8 0 1 0 0 1 pinnumber=1 T 100 450 5 8 0 0 0 0 1 pinseq=1 T 100 450 5 8 0 0 0 0 1 pinlabel=1 T 100 450 5 8 0 0 0 0 1 pintype=pas } P 900 400 750 400 1 0 0 { T 800 450 5 8 0 1 0 0 1 pinnumber=2 T 800 450 5 8 0 0 0 0 1 pinseq=2 T 800 450 5 8 0 0 0 0 1 pinlabel=2 T 800 450 5 8 0 0 0 0 1 pintype=pas } B 150 300 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 50 5 10 1 1 0 0 1 device=100k T 300 600 8 10 1 1 0 0 1 refdes=R? T 100 400 8 10 0 0 0 0 1 footprint=RESISTOR3 T 100 400 8 10 0 0 0 0 1 description=Resistor (300 mil length) VeroRoute/libraries/gEDA/veroroute_regulator/LM79Lxx.sym000644 001750 001750 00000001454 13515171161 023511 0ustar00alexalex000000 000000 v 20130925 2 T 1700 800 5 10 0 0 0 0 1 numslots=0 P 1700 800 2000 800 1 0 1 { T 1800 900 5 10 1 1 0 0 1 pinnumber=3 T 1800 900 5 10 0 0 0 0 1 pinseq=3 T 1600 700 9 10 1 1 0 6 1 pinlabel=Out T 1800 900 5 10 0 0 0 0 1 pintype=pas } P 0 800 300 800 1 0 0 { T 200 900 5 10 1 1 0 6 1 pinnumber=2 T 200 900 5 10 0 0 0 0 1 pinseq=2 T 400 700 9 10 1 1 0 0 1 pinlabel=In T 200 900 5 10 0 0 0 0 1 pintype=pas } P 1000 0 1000 300 1 0 0 { T 1100 100 5 10 1 1 0 0 1 pinnumber=1 T 1100 100 5 10 0 0 0 0 1 pinseq=1 T 1100 100 5 10 0 0 0 0 1 pinlabel=1 T 1100 100 5 10 0 0 0 0 1 pintype=pas } B 300 300 1400 1000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 600 1100 5 10 1 1 0 0 1 device=LM79Lxx T 1100 1400 8 10 1 1 0 6 1 refdes=U? T 1800 1400 8 10 0 0 0 6 1 footprint=TO92 T 1800 1400 8 10 0 0 0 6 1 description=Negative Regulator 100mA VeroRoute/Src/images/justify.png000644 001750 001750 00000000640 13661712157 017144 0ustar00alexalex000000 000000 ‰PNG  IHDR йsВgAMAБ ќa cHRMz&€„њ€шu0ъ`:˜pœКQ<bKGDЊ#2 pHYs з зB(›xtIMEу&*'ъ nIDATHЧэ•Б €0 Яр  @ЩBд0Б ˆ‚(!Œ€”GTЙо_ияc!P‘ЧЭfŒt‚Рa4дXІ@тЪœ,|Ši„3žЮЄ9б‰є‚@Ё€1KFк•Є…j Užщ‡-^‘ЋЭдrы§i`XыЦ%tEXtdate:create2019-04-04T21:38:42+02:00цZАя%tEXtdate:modify2019-04-04T21:38:42+02:00—StEXtSoftwarewww.inkscape.org›ю<IENDЎB`‚VeroRoute/libraries/gEDA/veroroute_transistor/NPN_BC239.sym000644 001750 001750 00000001562 13515171161 023766 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 0 0 0 1 pinlabel=2 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=1 T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 0 0 0 1 pinlabel=1 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=3 T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 0 0 0 1 pinlabel=3 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 403,209 L 501,200 L 431,273 L 425,240 z T 600 700 5 10 1 1 0 0 1 device=BC239 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=NPN Transistor VeroRoute/examples/geda_schematic.png000644 001750 001750 00000364003 13515171160 020206 0ustar00alexalex000000 000000 ‰PNG  IHDR@А,cРsBITлсOр IDATxœьн{\“хџЧёkœ*p (Š xФLЭcXš‡4œх!3аЪ0S)ћх12ЯyРRѓˆyЮІyvN-ГT*§–eц№@žp€(‡Б§ўuьО7^ЯGоїюmŸэзЖїЎƒJЏз @Љьф.x,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( lBКNуЇбЅ !„0e§ћэр–U%IЊPїЅ!kВ„BRџ\3ВK=Щѓцa`%АРЦЮЌщгyКiаwЇў;ЗВgкМ1[Юч ‘;.ъPР Шхф.‘ƒмЬ*ћфЪYёmf,юQЏœЂyп%ћњ !„pm={mk‘ЎћVођрбб lKЮ™У—ЋЕ (+w`6X`cT*a2Mr—fC€ЖE]­БgтЎИt,6ƒ ”KZ$хџїзqЊѕжаfПћxuмхЌЌ+џlŠ ymСПЙ%V"”<,ХHзiќXлРє§єљџ=Ъ•|z.еrYRЋRЅ€Ўб7zMzГ†Ѓщ:$IОaБiБaО’$брА*Нў‘ОЁФЄы4 Ђ#тЕ!nrW $r€{ЄnжЏ{ЅПcєg[ѓЊ‡oн;=ШM%wQ,ЌШaƒи lC•ЧСIuyџцЌwuЩџ[МgиŒјlЙKВ SжПпnYU’Є u_В6!K!„!ѕЯ5#Лд“<ю„вхжрСТџЩ]ШƒK‰LъzссA>.Ю•лљЄќ~ЖTX†3kњtžnєнЉџЮЦ­ь™6oЬ–ѓyBdФŽ‹:0(ВE9Й 2aЁ"ЉЫ8Љ„ТЮЁДDŒй'WЮŠo3cqzх„Эћ.йзW!„kыйk[‹tнЗђ–XJёЄC€вƒ Ъsц№хj=ЪЪ] Г{c)I’Xm@)WZњї@ёT*a2Mr—‡XŠсЂM Bqы…wк:uЕЦž‰Лтв_o'Бф"(ŒXPЇZo mіыАWЧ]ЮЪКђЯІШзќ›+wU@А >=—ъFЙ,ЉUЉR@зшН&НYУQˆtF’$пАиДи0_I’4КtЙ+-R~7yзыјё–ГЙТЈ?83ДIeI’<ыМєёЖѓ$r<sfЎг4ˆŽˆз†И SNкЉ]cК Л1џ—ллєLМ~vOџє]k"э–ў1ЏEЙK…Еaw `f*;;a4˜ьеŽeOќ_мŠЗzЙИљ=XY\Яf’z”œ;ЛJ’FwNЇёЛЛгЂ!eлАжў’фUЛэpmŠЁˆkЅ AчA C€˜IС ЧŠ5Жь}­їмбЭ\„НкйA%„с?нЄ…N}?[Vю"aУмBДzН>9&Ш=(&YЏзkC\я9Ц”Жoд№—;wdqрУFяKЯП–^Џз_9Ођ&Ёš•"ыЏЉяEЋ>м•’ќлч5З ŸtшК naBРLмƒbт6доЙrV|›‹{д+'„hоwЩООB1љx“НƒскUƒбЩгЏ<Й†mИЯщ"ћШТy9}У†Џ•Е>РйŒп8˜šэ\ГЌ§CЏ ХD€eiцЪ_Ь›…•˜œФ˜№?вЯKа†ИЩqџЦд}п|oжЯџ™Њv™ПsqЯЊМт!Ѓэ‰лЗ'nnэыъkЁЛL‹ ѓНеVХ$k_7ЙЩ›aOЛъйЂџœЯ•Bфœ‹Л,ѕЈPЈџеЕпПZlпКІоCѓЗы~іЧўA5,›хœ9|ЙZ€Л'пRй;ЈвuпАXчІ‘лЗ4”-`ƒYнчtЮЎŸњgШgсžШR ˜ŠlЦѓn\НњїЌъœJSћwќdб‚›Л3ќР“  AIК~tЯцЕd\{Я$Є–#О=z>ёћАcc'dф=dЅеh;љw оѕGTIн‡[ˆ6щf^ьЂеІ qоЇ|wќ’ўтБŸЕЏh/„ЎэП9ЙЃЛWЁ‚n/oM-|Х–NЏ„BЅ&ЃБЈхнBЖ]ќїЧёвзC'фXМ.”ˆЂNЗIПoњКZУB§юs%€RеŒ;VnћЮ€AбПžџяЄЖoцЌГŽ2u%€'C€…’TІQxкrіАїhиКUя2.N“›З+]˜!ЗѕюяЖ?і|l№Црј+ёr—Ѓ`ъj=wХЅпљY87увхFЁrђlєZЏъgіЪКЯеa]Š<нчЌићe[Щ7,6-6ЬїХ)yrx"›quРлcGНеТЇŒs…fa}ЎўuŽŸ<,и>У…Ÿ~лёЫСѕm№uѕеjДauТ4ZM vХВvNЕокьзaЏŽЛœ•uхŸM‘!Џ-ј7#~rлчп]s<=ћъпW(пЈŠUџQЇы4ЗWg’МыuќxЫймвЙfS‘ЇлЅУІ+zН^ЏOŽ rŠIўё­Ъќ  dй ‹œ3›Ft|Њ‚$IъvК>‰јхОŠlЦЏ™к1xаІS™Y—Х,=Yљ…ъV§Ў @А`уђ.}љцЏЩkЧО ёr‡rфwХŠПOWЌћp№щЙT7ЪeAH­J•КFпш5щЭЎЯ гчњ”–ОоелЬ4ѕ›§A=kџ(ь“ЌзыѕW/&§25@7bТСŒвЙfSQЇ›њXвН ђХcGьj0ыpЪЅ”УГ|9ў@ІмE*WQЭxЙ€>ƒ[&|вМJЅZЏЎЊ8тЋўЕрЩ0Ѕ5lZо‡ЭpПюучмT?њAd™5_ЁK.ТL|]}WЗ_Н=qЛFЋи``d“HЙ+Ruѕзfюmfс]^­Fnњ{Є\••0LіjG‘YZзl*тtИc™W(YЗdЇђОщ&“PЉь]МќЪѓЭщAŠhЦН;Lкql’\А=4У(Iљ‹… ыЋ‰I–c!ТЬ?Wn=Аo‹я!„x:ъЏНќџ5oс8ЩJšФ“ъфп)Ю'.boD№ЦршVб <<јјŒŸоkау|єП2­ь ѓ*X&вЩУЇŠwЕ†Нч~бЬщш<жlЫЛЗA–*дŸпCгЁ~х\!}Мk;“Q€МАP’мBДzYћЙНМѕ*˜ tюNюЗКb…е ‹lщюф^єЁІЋ‡v]А+…Нsl•{PLм†к›GmЌ9rxPy;!DіеЖя hз!ќЕFŽG…П>`VЛ_Ц№• JмН В!1цге?џ9)ЌъљЕ_џxEOн@F7€ŒјYdSИŸ]'џNqЁqЩз’ƒ7ЧІФyМёЪяkgи•КvЏjmžИўLЎЌйђЙЋAО~|ЧБ*ЏiъЙЋны†tЋ’№§ЩrWЅ(E~WЌ)-ІєњЎз'П~’–“vчхЦ‹{w•iYлYžъPbЊtьxxьœУ™&‘ЭšM ŸТ ВКr})aНюxzіЕ;7ќ[О 2ШŠ EижBln$ЖЕЛ˜лŽ6bs#БЃмu<Ћ.ў‘фwХJЫIЛЛ+VољнЛЪЖ­WVОвPRьМк}вџzдИ]XГ фTЈAЎ?xо{yгZљzW ŽЪю;чџž&РYЉєђNQTЪH‹$sM.-’ФpГмRОі/(ВOЂёБnРу!—QмКыщz„yЭўфЄоgџ}ŠџBŽIмє(юWџƒ|э_Y?ю™•“т‹јЫ>џ%tП—ёН/Аи”иˆНЩКфЄХIюNю"}чЋўoьЭє•ўјч”ЦЅЌ/жНMЈU(J‘g–г V„wmfЧ$юVЌфТЧm-D^–Аwz§уѕб3_HwяMѓmЏпcпmбЗ/Ыš€f?Х;кˆьTЁіњУжзћRёХ?фdнz ~ пёI./~ќ–OktиєfY{!DоЕe“I^№ъў­~Qљ UюИ%U/вušбK]z 4Sцї@ШЌѓб'биљ€мuРм^о#њ$_о#wХЊ‹/ћ:нЊІЎINЩBУЙЄЕiеК5qqŸђм”шVб{#"іFЄхЄ Зm’6ФMюjSNbLяъ5Кt™юп˜КoBЇКž’фQПЯкГ™Њ(8з`эhЩ( („КNЭЖњ“КsF!Œgu iэjжЩŸm#ЈrаўnћнмЎiИ=qЛЬe>‰ыGїмh^ЫEОLBj9тлЃчП;6vтСыђUbѓ8з`эhЩ( ˜Oі‘Яž‘ tм”jzШсw ‰UKнлeЏл~Э{mћКмінЅлГХК;ЙOynЪъ—Vrр“^пїКgB+QІQxкrЮkябАuЋоe\œ &7oW{KБuœkАvДф† ЬטyEеtZќН^ЏпйеCѕˆWЗш^-cmbBТщu™еКфщ4‹$i‘F—Spy~W,пrОVпKV† ;?§0Жу—ƒыГž”­у\€ЕЃ%p ˜O^fjjќд`/ЩЋё{ыЮф>ђѕеukЕЛ~rбЂ„эkжU;…hћщѕ§Д!NЗШяŠЅеhЃўˆВтЎXђЩЛє]ф› М&Џћ‚Ф[ mу\€ЕЃ%PЋХ%ЫB„А2NўнGNyыЅЎЕўјшЅБГўzeZГG\+P]ОGћœжѓФћ?•аяŒ <ьяЖ?ъЈ†kFЗŠюфпщ‰Ъ.=ђўл8l†Ыјu?чіЈну< ˜ВHЙс\P2ZcЋDKрNX@Б№ХтT§е}…&ЗWj\_}%GˆG А„}ЃIЁњIХ;6ВId'ПN{#bNЦLi1ХзеїQыЕДtЦ7,VˆX_MLВk)fўЙrы}[|ч!ФгQэрWтяƒn=”Е—Ъs @ЩJikќ$hЩ( M˜Oох_зlМктѕ†GЖ'z6ЉZђ“5мъŠМ18ВiфРњKќ.Ÿ„[ˆV/kьіђжЋ„бСЙkGK@aJ цcчЌО ћЈ™§їOu™мПЎЅflЉеhcNФhДšфŒd н+X ˜Њ\“Ё›OшѕњГ{Ѓ^ЊhЩхžѓЛbљo žџї| о3”8,А‘M"їwлП=q{IwХкбFln$vД)Й{PЂв№ЈKУc|l<92b,KГ… (˜ЏЋЏVЃэ§}я†ЃŠхХЙFъcмЫзўvBˆьT!IЦшQЌ›ћт1J(PмFuјCxјѓpџG}џ‡љэБIв§ž“'yŒХЁŒг§№sя‘_љOіфАkiХуНљZD1Zr+yз~$z=;+@€eQVЕ’‡2W{ягЅм'0їп9СMG+и’BuGЇъ_o{ХгѕЃK…йp,гНС[гWO{ЭзIЎjaг’3’#іF!т&ЦљЮ*Љu wДйЉBэ!є‡ќЯœГE~ъ-nГаЯ мџQпЗyn‚9w‹}f‹ОчЧОпЛмяy+жщ6ЧЙ.в“=9,РvZcљ”lKnЩwэтуg РZ`ц`М‘*M8є§‡5 іЄыю<"ћШŒў_ћLќхЬѓъПNмњѓЙW|Ћ“`СмЂўˆš?пЫОМGH’БД}/ К4<ЦЧЦ“ #>„ц`ЬLЭvі({яœнЦд=ƒ[Дw№ђЩMлЎЗььчZІRаGs?%НBђтЧo|eef^СжЕe!ЦЧчыЊёWтƒ7ЧžнпmIЇW`aX€9фнИzѕяY!е%IђnєЦЬпвђ;"RЖŽsiаЪOе)G.9х­{ЃЎ‡TОіЫуМ\МPЅŒ}nUSз$Їф !„с\вкДjнъи ‘Л'|}јžмћ^/ъ(VV'LЋбњКо3l0]Ї‘nбшвK№@I Р‚rRџ\3ВK=ЩГр Ж!eлАжў’фUЛэpmŠЁШ=JсXЙэ;EџzўП“кО™ГЬ:š-DnвЊЦ_13дзQ˜Œй™Їу*Fю=›ИoD™хƒgЩ–Лf(‘КNЭЖњ“КsF!Œgu iэjжQ !LY3/f™ŠИB~ЧЋј+ёъxхЂеыѕz§Ѕ?Ї‡hz6(S’Js`A12bЧEj:(ВХŸы„Т”Жoд№—л^џјЄN§GяkЙЈщяwэYмЦэaЗj!ъ€ЗЧŽЪџgГА>_ЦœЫm& iзЋеIZОѓ|HяЊŽх§+еЌвиЛŒSХnНІЌJЩ еђ %RKнлeй~-ќ]Б}]nћ™ЎG?Y§тќыBЛ\eўјЦ”Ц7ЧЊцЯxн*К“Ї‡пtо…mужеВЙ ПeБј,(­1X;ОЧ(FКNsчЂuЅŽkыйk[‹tнЗљ›Y'ДП{іZ\ЉЌ“GŸPЯзЗПъzїžѓщулЏ{ЅПcєg[ѓЊ‡oн;=ШM%KёйGІО:рlџхQ/Л§ГєdхЖе„pi1uцЉА.‘лк/яњT—чЏпњз›k]кДђDХ@?gY JX_ђ XuёХcаНZЦџ%&Д6­ЫЌ6;Рщ™)НєSrtš5бЁк›SЇХ_‰исыъчюф^œЮўgбьЋЁЋžq)СтqхЎ Ѕ ­1и†BЉ ЉIзмkx: !œМjКg$ЅfпГG8Љ.япœѕЎ.љПck‚ї ›/зИi^ЅR­WWUёUџкљAƒКVпЯ_;9jЬю+eƒ&ЬоPЅњ‹ГеƒцFдawM]ЗVЛы'-JИбОfн‚^z*чŠe+:Ћ„"-'э“_?бh5‘M"WЗ_]ЬєJˆ‡—nu эшsяJ xєРRžдЭš`‹і**КCѕEьЗ№Wї>ъ{ї˜дѕТУƒ|\T"АOЪТГВЫs№ю0iЧБI…і„h“B„ЂёИƒGђїДПѓфxjƒ•Q—яб>Їѕ<ёўOхoОšл,}­"6%6boDЯХяxU ћдwП8ЕьяСЏЌ–ђ8фї*Šб%/Ал7ЂуАё{Ч•t(SœdЪв8zVwЫHLЭŽ9—NънjxЙмГЧA•c'•Bи9№Э6ТОбЄP§Є;їЅхЄEŠŠ9SмЏю’s.ўВы^Žf*,ŠЏќJtГW‘sЅРv>)ПŸ-Ые9tn‘ЙCw1-yЯ‚еiЯП нГGЖiЄЌ‡)ћъЅЋйE­^+›М18-'-.4юqв+!„ыKыvtѓ”gŽ8xBXŠT:{Ѕы4’$љ†ХІХ†љJ’š6tr]иг~Э>:кyцичЪ зчЧнЕw2e\3шЉв3oLџ%5O‘ёУ›Эоќ!CюТ№ИђgМŠин*:КUєЃ [СB(†[ˆVїHЦЮпŸRhгСЛу”;імœg*џъЗў]jeў:aдm сB;aHXдчыF>%wIVN’ŒХ>жу!—qѓ6я3їо‘Мљ3^%ы’“'](ЭJQџ PЉЪUђ._ЙiŸ9ы]ѕЮД_SѓфЎЩкщѕvХћя!nп`?}‘џОгДœДˆНљЏФVq3НКёЯ‚^ЯT”ЄŠ CчЙ^њF†о›ёYсВш†Г+5=5Кє›нNoгшв…!eлАжў’фUЛэpmŠсЎcМыuќxЫй\Йƒyf­№tА"†д?зŒьROЪoЂ…1ѕчЯ_oRU’$Якm}ѓovКNу—ŠХ&оЕ( –bИ…h“Д!n…ў!юќ7№Pe›}јЖї‘Ф,!„ƒwЇikЋ–Mћ_ІмUсmOмоpMCw'ї§ніUК}СЕS>?о}{bЂЖћ‰iQ9ГVШЄпїхЊLзќЩєнBДёц•у+пh: Y™Д}Ѓ†џИфиЙ#‹6z_КТ=(&YЏзыЏ^Lњej€nФN=˜_FьИЈCƒ"[фOQ‘ѕзЫЪиxсќ_sџєщ„_i{@n !lˆЊ\Г‘п4ЛЙeя4ь›УУф,ш‰1дю‹"vквЏyљЏтЏФЏ~iѕбU>ЗJnіF“P988•ЏVž­Oі‘…ѓrњ† _[xЏсќњaг#7†TЬ=Є§нГзњрJe<њ„zОО§јЖЗSйй ЃСdЏvфЗ'0;зжГзЖщКoѓ7Oў#оdя`gИvе`tђє+_№Е٘КghШxїYлЦКБ4 XŸ‚(з§Fл9ьN!В–ПгИ‚$љЕ{Еј3hньxх[ЮїюŽWЗ8?ѓQdЅ/љћЕYр7ќ§њjs•Ќdpg] gзO§3dhЯ;оzWv›э8lt;O;aHMКц^УгIсфUг=#)5Oˆ‚u-*жhиВwєЕоsG7s‘щ”ЌЛя€ЬTіvщ:WеЦ}уzЬбP-„†”­#Ц\ДђSвЋЂидЛ6Ђ˜ётіШ)чТї$tЯњ_œНБxгTхwМJЮHжjД <З§ђf IDATмїИЌПfFъЛыд‡іѓ:†Oћу•/ŸЕЭ уЖ›юЪ Qx‡М лоеiš••ЕИGeвя›ОЎжА5ўN?оsbITBї…*цЇZE|rЉлP{ѓЈ5G*oГП;eФŽ‹:дtPd‹?зЩ] мфВэтП‡—Н:dqї uDnвЊЦ;Œј>д—^аEАЉwmŠdГŸ„э‹‡‚Ч—urзпЮbп~њ™ЗWЅИЛк?ќљЏx6ипmџƒв+!„!э|šAЈьь„ШЫМ’iћѓѓпpwg_Г‚wC*Іmж<Жpіл*H’Gу!БщŠžз>урœ{Пlы#љ†ХІХ†љОИ"%OˆЌјeы{П^гI!„ЃguЗŒФд\!DЮЅ“zЗ^љ?3ЉдЕ{}TkѓФѕglwwзжГзN{ЛyС#ЉVurи мŒK—o…ЪЩГбkНЊŸйw*[CкѕjžёЫwž7Ш]йжЛ6E"Рѓ1d\ИzеЎЧ†п—ЗќcкМПn<шифŒф^пїŠњ#JЋбF6‰|ј— 1ИЦк—§§^ŠёџhX ­џ’љ№wNЊЫћ7gНЋKўяиšр=УfФgЫUl1ИuиtEЏзыѕЩ1AюA1Щ?ОUй^dŸкЕЯОеs ЂNч€Ю-2whу.І%яYА:эљWœo^нЁJзШŽ‡ЧЮ9œY:>№[зЩ`{Вт'З}ўн5ЧгГЏўНqе‰ђЊ8 св0bъW§гЃ"З]А§_‘‘­НkP$,0;ЕЋ[еР&UЋЖїП~:ѕўнeцџ=?xcpБ:^нЂ*лpаЗGЏшѕЉџЌдАŒmOОQ0р.дпщŽнљю"oИ3Љы…‡љИ8W lч“ђћYЋћ(œs.юВTЇТ­щњќИЩMtaOћ5ћшhч™cŸ+WшX;ЏvŸєП5nзХвёЕЩъO.ы’?gSA'YIЊ4њ™Љ}ЎOiщы]НЭLSПйдЫяXЄЎеїѓзNŽГћЪЃЬsiѓJЩЛ6Й1J€)ћђ… Wo/ЕmСюх\ЋЕпљuп'МтЗ;Й|§ЪEЭГžœ‘Б7"-'э!3^•rчЌићу2Ÿ/…BФњО8ћŸнoUЮ_ЖоЙїЦšЗ>ЋЫ8Љ„ТЮСj~q б&…ќлЕ§7'лОаСЛу”яŽOЙНЃаСBх8ъ›@‹ЉжxrXЏлs6ніЦЫ# mнl;xФruY~з $4xB†”mCZV“ЄJп˜ўkСšk?є ьѓC†Ь•2pЈњњ”іQЯ5|ћvупЏwO€•пё*Ш'ш:^•NХp”€wmAЌв$]ЇiЏ q3пmfХЭњTWsцсэ­ЎЎ9bа’9‹о­kы Ѓ rmўБюєЧE^Ібj„ћЛэїuѕЕlUЖ"ч\мeЉGЇ‡ Ћ“Ўгј†Х !„ˆѕ•„xЊž›ЇЬ%žякЬ O&чвё џ^­ќ\Нќп™ЗФхнаОŽ+—u•Л*@‘:љwX мUX› И+|QсУ5xчіEœ\А Мk(I !ДQщКЮхЅЛљ†ХІ™ћŽдеšWHXЇKШ2 сшлsюЬ†п„ѕ_|8y-mFКNу)5юЛшONъ“бїг“^Ру!РВQeŸyЃ]уAЛЯы KŽ r7їЉыFЬщŸ7єЮ+&!„ЪЕљˆoМptУбЬпnCЪ6{ЗеЉ‘Ло№O†ЅXІьЬlSсЦЌД,+Њp–ВЏвэ“р}b’ %}OvRр№ П~гХЋ БВs}Іп’CW.o3чL[—ЪЙz—)[7ѓљ>"8Ич№й›œИ‘'wY“ёгћЏлz&[!L™'6Ž yЎџоkrWxtX6ЫЅЩ„Н[пѕ+<Ы™[ˆ6ЩЌ3ИЃ4qє~aрW?ьџњНЇ.oѓњГ~~нwЄЫ]гƒЙЕ‰юБДGшфѕпLшіЌfоАЅѓлёњ+Ф$юx2щ;ЛTуЇ"њтХ$–• Sіх Ўо^j†iкЙжn>ЁmјЫпѕcpЌдігѕ іЭxЏпЊŠ3bзwЊШ2Ю`ш…'уіRЬ!эТЉŸљПШikіПpѕц„[ЄWfaHй6Єe5IЊдјщП^ЭŸП)у‡>}~ШАT цьИ—“оШ[Њдќ§ ПoђbuI’*5z§ѓ_ЎšyfЊtццв^u^™ќг…ѓыzеё”$IЃSxЏ1@QшeЋ )[wэПђXЙч†-љBy;!L7NЎ›Джя“Q-ЪšёŽьЪјНо?Hф\ќcлђЯо™ь\П]—n];6ЏV†xє‰eХЭњTWsцсэ­ЎЎ9bа’9‹о­ыrŸcЅER1oЕ8GъћнЙžН)ћь_њйжгЗІU{єNvYqs'xnљ‘бІIšабЕ?б%яЌ”ДЊ_—f‡ќ:ЖОњQnъСмBДz§УX ,•§їмБп?Н№Џ5†1'l зНх•ВcЪш­^&НfЮєЊЇŠMКoв§УфэQƒGtѓс+›-o]ЎdюЋєШЙt<УПW+?W/џwц-qy7ДЏуЪe]‹>іюШЩМ2‰ _шЕ юB{ѕc'“9WўЭєэнмЧЧЎcЅьгa]ŸrS‹њ]{е™Дђ\Ж0g€%Dю…ŸЂЧ}ОbчџўНjB8y<п926*;хo}uMŸы.ЕЎ'пѓхАЩ!3цОшQB_пMйчЌ™иЏѓЫяЎL{nєжп,!Н2uЕцжщВLB8њіœ;Гс7a§N3ѓˆЛbPй9ИјОаДђуЇWBu•ЦžЇ6ьNЬ–^б%яxЕМЦы'ЖХœњ˜5НЙ _ѕ|gНћлб?;)ѕЪХsGvЭ|M, [|:зЌwА,[eЪ3йЋ„ЪAm<НqХщ–Іѕo^О$ТЋМŒ“{bцN=nYœ[ЇЯО§сЛof {#И–;ћЬA]7bNџМљЃw^1 !TЎЭG|Лр…ЃŽоАјќэe?ъЗcElJж„gъzЬь“>mфi; gз “>kагц АВўн›№сАзkx•qДГw*[ЁжsН>Аћd–Yя`Є ЖЯhяпуІR e•щпѕ н—ŸiЬџbФэ X…а,ьЄРс~-ДэњLП%‡њ-Бx!ћЧO^ЋK§fуэѕулyдўv{лСЗЏіїОцЊё6чš­|Эњ|џћ/5Јтю$rвўћїаЗЋЋwЈщlў{”4,л•ц[0WwЌя­IЛЭ+ЙНМ5•йВKзЖ+N\ЖwАЗxзЏЧтXkРš%9cІі œaBиK5ZtъЛ8цНšŽrзxtX6JоUиLй—/dИz{Љ­#эPДЌ“+‡}vqрЂЁƒьВN{f…‰sоЊuї ЛтЏBXїL oчPИЕxЬSlБХ1…cхЖCЕjЮ›,Y:}_<фф–ьќ§ XxB†”m#zF,Ы­оqxєќСЯ•З"у‡>бё !|b†Фх?;ѓцїЕoЅUъ€о=ЏЕљ`Ukm_п;џ|‹™bH‹ЄGЬ;ЬwŠ-И8Іе­BHР$юx2YqГ>ееœyјЬпK;3hЩБ&ЙKВ%7Nь>]уЭNОNЗwйW ъZэфЎc7,UƒOБХЧdBА-Xx29—ŽgјwjхчъејyK4Б}ћ.?•M†e.ю>.W.хо—}ўШ%Ы-ѓhЮSlЉХ1Y…l žŒКZѓ ыt Y&!}{Юй№›Аў‹Їх.Ь6И41: &|№т§ WВђ з/й5ыНw667ЂЉ‹Ѕj(™S\В‹cо\…№ЗЄЋYЃбuѕь‘V­NЌўЂrW!Ь‹Пё••™y[з–…lŸП•Ѓг,зшn՘wm@)@€…'ЃЎ1Їоќб;Џ˜„*зц#О]№Тб Go0ЛY8Ty}С†ЪmєbЭJž^>uCFўTuєцЏ^ѓБмєuц=ХiБaО’ф›џ]КYkvЌ5`Э’ЎW—є ЊQЩЫУУЋR­ 7ПLxIбЋкзщV5uMrJžBЮ%­MЋж­ŽB'ьЬ-]Ї‘nѓЎзёу-gs…0]?КЄo‹*’$љИ>™и 4cwгoЩЁ~KфЋШЦЈ\jїќ|[ЯЯхЋР|Їи‚‹cZн*„BЈыдlЋџYw.р=_qV—ж.ЈzЪ‰№WcЕŽўНLBˆœФ mЖХ=(&^т&L9iЇvщ2lBчvsЄ/ћэ3ё—3ЯЋџZ8qыЯч^ё­ює№[€MЂ–™2џ‰оЙqUI’$ЩЗiз‘N=l>žtЦЯмS€вIёMjЉ{ЛьuлЏrЏm_—лОЛыБЙ‡Ндёomm“о(D^웈Rйй ЃСdЏv4$lкvНeї`?з2•‚>šћy(щ@iF€e1y)піеŒOn;§Їг.Ѕœи9ю™?>О6й w]Т> {ЕŒЕ‰ ЇзeVы .'фњМрQбЛBАПНЦ;7S0ЌИb†-{G_ы=wt3ЛѓG.9х­{ЃЎ‡TОіЫуМœ'wC-%чдš™‡[Э=№m$•ЂbНЮуvvBЄnжЏ{ЅПcєg[ѓЊ‡oн;=Јœ>vRшлг\­дцЃЗ2-2VHZ$YтnЫHзuі л_ФпNP„х‹yъКЕк]пЛh‘ИбОU]Ен*ічЙzЉ…aoЂQ•tЧ&`cмƒbт6доБјЮ7JМ4}П"І%’$IoЉщŠ3+ћЬэ7њxћgЭЪмо™Ўг4ˆ–ЏІbQ—яб>Їѕ<ёўOхеТОёац=w<§Н_Ÿjv&‡;7х.0?•КvЏjEN\яѕz5GсXоПRЭЊ!НЫ8Uьж+`ЪЊ”lA€Pj`YŒJЅ2цMBЈDКNу+„A1G"LъzссA>.*иЮ'eсйє\ЌѓVзЇ\еЊ&ЏїЎ?u…м•жЦОJЗO‚;Ž‹IкјЎŸu5rі&…ъ'lЈkдYј[…З/НkА=UКFv5bN9ƒ•}ЊЫѓзЦo§ыЭЕ.mZyЂb ŸГмх@>Ьe)Ю5‚*%nћ-е( жbг'ЧЙ !„P9–qR !„ƒB˜ŒFЃЩdB˜ђ#/ШЅЩ„Н[яLЏмBДIк7йJPv^э>щ=jмЎ‹yЎAfя ЈR§ХйъAs#ъ0‰;@)f]Ќ™Ѓ_!ЯЮќПwЇЋЇѕkщчЄ?ўгŠЅGU.їFˆjпІОй~ВS˜з?пЌ<’EШАin!кЄ›*зРQп !„ЈаvќЮ“уe+ B8b1іо]h'жо7М•ПwŸњЏLј§ЉЈб­Ыоs cэО“zІ ЌънтГЋ/6•TyLи 3.w<"uЃHLтnЋЌшЬJ‹Є"WxдcžЈЩЈзє­t>9ЅсQ—†ЧјиxrРіаЖж‚!„”KZ$Щ]@~XъоЎUVд} Oъіj­BЁіiбgЪт‰ЏVuBУй•]š|$О>ЭЌќ@iAWIРІЅы4~]КмeС=(&YЏзыЏ^Lњej€nФ„ƒ™BaвяћrUІЋЃмхА z`с~Rх..]зй/lПщЎНAВ˜‰ЪЮN &{ЕЃ"ћШТy9}У†Џ•Л.<Y†—шyА0,Р†ИЖžіеАor^вЋЁk~їЪtІAДЬU'-6ЬWТЩУЇŠwЕ†Нч~бЬEЮЎŸњgШgсžШ]•…у$fаиИМјё[>­бaг›eэ…yз–uо•<ЕЫиіBфш4kЂ#BЕ!NBˆ{6ЋE€иU™€žЃЦоуЂM ‘Ћр‰ИХФmЈНyдЦš#‡•ЗB˜є{ІЏЋ5lПгOђ– 3ћ:нЊІ~œœіTU{a8—Д6­кuьхЎ (IЬP*•КvЏjmžИўLЎBdœГbя—m}$пАиДи0пWЄфЩ]"€,дujЖеŸд3 a<ЋKHkWГzЪ‰№g–Vlћ§e“"'ёŽMРъ`ЬЁJзШŽ‡ЧЮ9œin6]быѕz}rL{PLђoUцwFPJЉЅюэВзmПfШНЖ}]nћюЎЧц:єRЧПЕЕMzЃyqwlж  hv^э>щ=jмЎ‹tЗ*y;кˆЏ§эvД‘ЛEтЩ(‹}@їjkNЏЫЌж=@\NШѕyСЃЂw…`{!Œwnж9А,ЪМsЪВО‹UЏ/iеХуQм1}›Ъ5pд7їЛц”Z№IzМпj=Šо§ХcWєј$щяЙг˜|эo'n>E(€Кn­vзї.Z$nДoUWmwЃŠ§љ_Ў^jaи›hB%нБ X?,K3WъФњJГS{ˆьTЁіњУзGЛшї8YоГєz3џЬГЃMС“€BЈЫїhŸгzžxџЇђjaпxhѓРž;žўоЏO5;“У›r— <9,Pрх=B’Œ›^й8ы~rXml’}ЃIЁњIъuўVgсэKякЌœu~@ёйзщV5uMrўЪљЋ­wcЕu`EАlЋ­ыF€`ћXmX5,€R€еж€5cw€<фY™ЮLKСтQБxЎАк:иˆ'yWхГЌ@6ўE†">++Ћ­€mxРЋ$Iz=oЛАMXЅЋ­ЋХXP4,(ŠАЃјкпnGЙы TД,‰9АЌ˜$•дlФ_ћы…йЉ%tѓ€5‘$–у*ТзўvBˆьдтѓЏЉяEЋ>м•’ќлч5З ŸtшКмe€’G, Ћь„MлЎЗ\ьчЊAЭ "]'„ҘКghШxїYыЛљz8Є›LBЅВsptёђ+Яч—R"ћфЪYёmf,юQЏœЂyп%ћњ !ФФџХ™œœTЂќГ•Хоl“Ьe  UЮљ#—œђжНQзC*_ћхё?^ЮBaHй:bЬЅA+? Ќа`јќіЎ_йЋвS=э=ЌОZц’a!9g_Ўж* ь]ЛэеЮ*! џщ&-tъ;јйЛ/6ˆ ШЪdЬЮ<W1rяйФ}#Ъ,<ыHЖЙIЋ>}ФЬP_GaHŠљtuХЯNКєыtŸ˜WœЮ•ЛfXˆJ%LFc=ЌL™G—ОзkM§ЏОжаХђu€"mk!Оізok!w@Щ  >юЧуS/€YШ2;ЧБМЅšUC{—qЊи­WР”U)9Я Cкѕju’–я<вЛъѕу;ŽU едsWЋмBКUsђЦРЬк]ЈЋ5іLм—ўz;IUhЗ)уаєАтЛ}НЄO€‹ъОз€в&/ЋрџжЛŽ6k(сА€в†hJё€ХбPКИ<ехљkуЗўѕцРZ—6­^НbвkuTЇw|1tuѕ9ЋЛњў/]VЏyЇ&/(ЬоYфe {gkЌ7wƒeXхЫиз  3‚w‡TЉўтlѕ Йuœ„BЈkѕ§ќЕ“ЃЦьОVo№МїђІЕђѕЎ•нwЮџ=MnQZ8јє\ЊхВ ЄVЅJ]ЃoєšєfьпПZlЯаІоRОsN1І„Ђѓб'биљ€мu%CЅзѓИхH‹$sѕ80уM}ћ’ФkУ&Yѕ™•$Ѓ•ўšXўаРЦžЋ~GsБЙЖнŠŽU рХE#Р€Ђ`”:[šŠЏ§ѕ[šЪ]@ёА ЁЅБf<)Џрџ–]ђЩƒYЗРу!РВ(жŒ€ћ3œ]йЅЩGтыгкЁг4ˆŽˆз†И !„Hзi|Уbo“|ѓ"Ee/LyBeoбЅжЅтўŠ—wyџ—ƒ#~фb–PIпŸ>wHЇНBˆkБ4кчзХ-IRjЪјЖшўсф‰сMм !ѕЯoЇџ,z˜гк7aHй:hёсkšОѓхЊ)šЪvњƒГœКуд ћŠЯО;§ы‰}…ИЃ-Ђ@1BP“~п—Ћ2]‹КЬ-DЋЯwхјЪ7š„hVжвх6цеCЂOЂєъ!Йы(вп'XVіџ6Йpхђљc”нњyLBЖBSкЏЋо0nYlЊI!„{PLВўъХЄŸчОruzЗЗW1фпHFьИЈCƒ"[”+ИтОQУ \rьм‘Х?Н/=ыЏЉяEЋ>м•’ќлч5З ŸtшКn‹€|АJ}dсМœОсъТ;Љ{Зh5ю`zўїTa8П~и4ЧШ‰!эхЈ€eГгsœ+UїѕPл;”ёnњЮт§[х7Ід§K~ЋљюРўuу—ўxщірG•“{ѕ–Ѓчw8>ouBŽBзжГзN{ЛЙWСpƒЌкп={Н\ЉЌїs}B=п~мдxтџтVМнаЫХЭяйРЪтzЖIмЇ-ђ#РШЯpv§д?C†Жё,ќЖdHй:bЬЅA+? tS !„ёЪюqГ‡nчЩ›`гЪЖ=ЁЉіеК;єˆяіѕ’>.*!вяi‹ўй§VeF, Xr0eўГfмˆ/жь?}MЗš/і9}LїЮw–~ч"\%†№ТVqfa5м:lКЂЂPЛ'tы\FLy*ЌKфЖіЫЛzлgŸкЕЯОUŸ |•ДbyёуЗ|ZЃУІ7Ык !ђЎ-ыМ+yj—Б ь…ШбiжDG„jCђЪЛ6Qкdџ=ё…ЮC—Яяџœ}jќюŸЮлћЛич&nZžмfЩ‰ѕн+к aМДхРЈm=„B˜rєЇЌŒќП_›}>нЏШљз:ЗШœЄ {ЇТ VЇ=?7РщвŽпџЅЫъ5яд,ˆМюm‹X…Х`†ххЅ|лW3>ЙэєŸN_И”rbчИgўјlјкdУУЏ Ѕ‹КVпЯ_;9jЬю+F‘s.юВTЇy†5ГЏг­jъšф”йєUя‚зTКN#I’oXlZl˜Џ$IЁiC'7б…=эзьЃЃgŽ}ЎмЕпПZlв7Сk IDATЯаІоRОsNх> ( /•^O ЫЪ99ЃuчПЧXв^КЯ 7нњѕЯАYМю•ўŽбŸmIЬЋОuяє З‡\їq1ИЬV9œаъNЎ$ѕzbw d•шZі•Б/ў\хЭ{О"ёЋmЁ)AпПsхУWcЕŽўН’OŽ лX/q@ЁMХѕРВІV(]ЇЉ?ух‰ЭЕѓ56yDзЇ\я)\’$s~Ь=5Пcл•MЇЮъзш†nђЂЌоCлˆИoЦ|qѕг=‹;хЇNfОG0kjл‹СЊŽU `ЁХe'МшпН‘ћ#$PNЊЫћ7gХш’иэбqиŒјНу–ЬъЮV—h ˜8Г”@-uo—=dћЕ№wХіuЙэgК›ћнЁ—:ў=4orыD!ђтц*Д‰'ЄrЎоeЪж?/<Ѓbћžotяјќг~^Ўъ’щі–uђ‡гCжіhюЅ2……L^qѕ§НG\ZѕТЪП2;Еs-‘ћЅщІхЉT*cžб$ФЭЮэ’$I]њƒЎcRз ђqqЎиЮ'хїГEЎ €ТйtЏ–Б61!сєКЬjнФх„\Ÿ<*zWіЗТxч&ЬСбћ…_§АџыїžКМeЬыЯњљuпёРЯЉъ3џЎнrфъдПЗЌ;nяэъ`Ь8љЧхЫp6РЃ–Х9зЊ”ИэЗдž/;З­^Ÿ?T№!зR9–qR !„CI‡Ž…ЧšбmЧ–pf(€Кn­vзї.Z$nДoUWmwЃŠ§љ_Ў^jaи›hB%нБ ГБs­н6|Bл№ %y'ъЇЭиџНvе‡f9ћЕћhўЧЏэY~јйOПjZІ$я”XчшзcШГ3џянщъi§Zњ9щџДbщQ•‡‹b:Уmи*Ю,%P—яб>Їѕ<ёўOхеТОёац=w<§Н_Ÿjv&‡;7х.еКЙ…h“B,{—vRрЕ )МЋ§Ђял[Ж(ѕ<„Ао§V]ЩГdEwjљ{,=/!l`nyёуЗ|ZЃУІ7Ык !ђЎ-ыМ+yj—Б ь…ШбiжDG„jCœ„їl€zp‚РŒ­ЗX:jщgб{“хe‰џŸНћkъzу~ТH@$Й"C(‚?*Z+к GЂu+Ё*nСQTlн“jЋИPTм'm5D­жL­д:PD“ JBH~р@ˆ2Грћy||ШЩЭНo’›фоїžs^а !ЈiЦnчЦedBˆтqњ~I“nЦКŽ Р`Ё@cИ5ы&ў[ји}<›<ІJКs\ВюŒўF$0u4QBфiw&–И Pijњ™ЎRпљTЧSt№ H`д<5АЛlFТЫбcIТТ‘–З6ќ~ЉgЏыЁEЫЛІR”МсR‰›UR‘фŽоŽЇ6шрAћ0„@Œн6ЩлŸ–šњр@~“юфyjЁУ—VЖњ8Ђќ№&€ж(ѓ’їЬъзойŠЂ(ЪЎEчРEПмyЅСюР…іёДІšјЮ;§ŸpNW+ŠВџ|ф–љш‚ •‚€&0ZИvuwыждз=šЕ`QŽЦ™g_<Ы~–˜І$„ісM-)|3ЌЯђЧО+NмЮzієбх}3Z^ыА#­PC”нкњЃЈнŽkMؘ5xЦ•оћSŸмO™§уфнл$дNH`hЃСрђ˜эђƒ0ˆ‰WhћkећŽY#UЉ›Къ й­›гћХDOэюоам”^пЁMПяїююwomtJ†Ж˜y]ьтп‰ндзпJм$(аЫЪЬЪkш(зŒгw5ДEЈЅ0€fЗY ^іцЃЉл–нЖМПЗдM-eІМ`hQПDЭВU7'ЩЖl9!fšиd‘ЌШЄF#ѕщЦ ІЙ!„ffiЊx­РЈ єРЈ#ŠфEFєR—/Lh*%ВI ча  ЮˆxьВхœ8!ZйЂш§І5ЙEЈа  n`њ Фj ќ˜Еe‹OžЦнІeз~вс‹‡g|хBQ”]›!+ЯО0€њO76Яп|Ѓ€Ђ_X3ьГFE9uЗ ХgЁ& @MЂЖ–НЌ]QтqтŒ@ЫЈ­дŠŽ+‚[ы:а+…іOє 9ќтГ)Л6v<9ujєПЯЎп,к5Ў•MзСшЃ‚ф ЫЯwмucžj7`^ѓ9ТŒуvщ{Чѕ›МЮям‚ж ]‡їiђtС.;lb+кЭuС?чŒЄNtIп4xl”OтLwКЎУ‡@MњDŠЂ(Б)*ЈЭввЂКDБ-йКŽ>B™—ЛdўКIwХJbfчй-`њ‚™§мъi(™$ЛЕѕGQЛзцОž?t№A›бћSКЄmх žМЛЧяС.Іšй(€A“чмЫgлоССЈ—ьЏџџ˜ вК лВ=eDпXяШ_Зž8тs›z4ыaAnЋљiЄцX*YОœnСxџІ,Шщ,3Œ4ЋЅ№Ц@…)s“ћЗАІ(ЋжAћ)>МSРј;ћћФћD\ŽаMxPŽТ1Уњ,ьЛтФэЌgO]о7ЃххА;в 5ДAYцuБ‹'vS_+q“ @/+3+ЏЁЃ\3Nп-аа& УбЫњўсSi2ЊЏ0уи7 QОКs”‡ђt0ˆь•ђѕгЬь\…#Ч9ч\j>!ђGЙoщnЋ‰юWyMњ&ьШC!„ЈђяФязqBтK lєXPa*Bužu№ffкIо­K/М*}pыр3Юˆ2E>ё>)9)К>Nvkчцє~1бSЛЛ747ЅзwhгяћНЛћн[ЂЉtR‘ЌШЄFcдЇ3˜цF„š™ЅЉтЕГЁЈХh992HњгїHо4(Х…Ў/НvJ+§O`[Еl!иљѓЯК/П|їиЁџ^миО-gаЪižfиг7bІеіСЫэ[<р юЦзМэ›КcŽХк C ТŒ­<Лv!„Шž*TЬF–Цja[В\СІы›ИnАGpxлpm #ЫLyСбЂ~‰&šeЋnN’mйrB4qj•fdХљ^№яћл&ь1‚‹ctOeXxЏ<љяЪлOаиіLэК§pШ#iѕјq{mW‹љлЊ;2Z=А rйЧ˜*ъЕfњ'fт(юŠ•’“R™ЎXЏџ‹ќЬ–Ђl=6нx…:5ЏH^dD/uљвШ„ІRj№Х–ˆxlŠbѓDХPХkn{Е‘TШuт Ѕ5ИТу§Ќ)ujt+oЖUгСЏѓmФ6n}—џ•y аЭZ3ёƒо@,Ј„ЂgП‡ЖYОVGъгзСи–ьиБ i эŠѕђќŠ•З&ЄMU­эqaјžЏъ—ѓЈ4‰ˆЧ.[0—ЂЁЭ1§(` ‡˜=љ—‚чne9xїюуыйˆaPЕaёћR'!Vє$>lЕљЂГ;2+xœыяьŸь’тяе%ЪУкуЃ‹š0э˜ЦJЁ™˜а4i€u5Nћ‡ћв“Ѓћndі9"РЯЫРЮtD*ьуФ;ЃІglЭ^l0ЊчЬ2CфO/нЕdјїf­ЛїаПWћ&ѕЊ1NKKСBHaі_Q Wю>ўЯН BнкНSŸбсѓЦz[ca­…!„PaљWі9ПО7ЛEQд—›гх?„л#6Мm8WРsnŽDў‘ёcfŸM oКНЇГ“oДгЬIS)м€HOŽюкoZф/—ГeZ YПг имŒоЦХЋя”Ÿ_Ьвж– •ХgУК{M9•).)ƒЯaifstлЖgn8ПahНФyН<мF§U*~Z О0uѓаQ‡X#ЃўИ•љ,7чщу'"‘Мm4UXt ,Ј0fя#/оў=бЉ]Й§§“’3^fјФћˆВDj–(ИqЬ‰ћN{АьЇЫЏk,jxCћщ$#‹f]GЬнrќzк•уZ<=8­‹[џ•.<.@" @-cЧs|’ѓ+v‘ЈКTВЬѓqKЧѕщ=vЄуМ#oФt­Юј}­_p/1У}jиMmъ™г-Кv ќa†{ъЉЛšЊЋ К‡!„ %Х]БвфЙёТл…Гш%ЎЩ*$™Esš‘!Eљ9љEК ДЖ*N'uёƒ,ћкя‡тbЇu™‘зм?pфШРО_8šir€бЈMŸImњLZђ$1jжwќ’ъ?јЁв9€:цm'љА‰щ'HїЋбхнMšЉГпЬлџњmэєэД“Н€*e]Лp9NЮ]ћЙОJН}zMиъ Пе&uА2ЎС­H…}”щMЭц‰$е[­v‚'‹єX5A"тБ?јђtшОсЪЉ}зДаQРPЛ hœ—‘UD!ŠЧщћ%MИRxzєЁб—hЌWФіŒs~NрЩ@‰М’G ѕкŒмœЁ‰АЋЏркуЃhSOЄfeќЛВйб™Ы.НвuH ПTE*c† Ё™0”тw?шМјЇ эдpў‡X|6ЌЛз”S™т’2јœЊuƒ~O+СЭХz ,€šРт№3ФЅН8Ša,№QR!ЗDжЛQЫ^Г{Tјa#EеВynЭК‰я + Q>ІJК7scBTOѓŸЈyл‹]Ÿ]ѕЎXzШЬkщ?ЩЛGzк˜3Ош`O^ЩTК виy№Аv”&ЮкЬёIZЬOWh`х„OД?ш!Ь #,?EрЧ$*Йфў‰љ§ТїЙМE .ž@Њ(ћшЄ!їѓк5aƒи]6#схшБ$с@aHЫ›sbПкєŠBDЛ(R/јЯa+МшЌW№мx!‰!ќЛќЈ.QUK3Ь!DёDИl }Ьц/jзл 5L"тБпЬ,)bП+„Тсgдф<цm'љА‰щ'HїЋюzЕ<б\ќ ЧРЈ6|Q@ѕаŒŒˆRЁ2f˜ОНJЉШ<і“ixМŸ­:ны’БћР&yпЅЅvUШoВЮўйŠ@ё Й №ЃП_аУкуЬ€3—#<у<ЃКDљ;ћы.шšЁЪПЙcЪ”Sэ7œшЉЇSu€>`њННše€ :xа{B #oІЯГmъйљлЈ—пn˜їyqbC™sjс:гАyн­kпЯ4Ѓ…kїWwЗnM}нЃY‹7SVбЬl-lЭдM*о6\РD\Ž<˜‘—ёЉK…\6O$ёињ8юR•wщчac}Ђb&zжЧєщ•WћŽŒ ‹УOЯўwэШ [Nџ}bWИя›юVђ;1ЉУПЖ­•?вŒƒ{ШcЖЫ{ j№vЪuSпэƒЖћšЊ_ОИ+–‡Е‡OМЯІы›>К^ІŸрЭ„5шГЊњ6Ц}ЄнФЎOи—ЃV ЙЫ*бu jˆтa\PŸuv‹~Пп‡-Kй?7tўo>{†:М-ŒИдnJИї•o,Иіуј(кєЉCЅ'fsg.ыпmЃw=ЦNїŽДЎСїЛЎёЂФ—cчŒ8в\txD“вљ йЭe_/№:rPяІ} ,MЉHfJmJЋ*йѓь<ЫF6 дБ€:)#/#$1D"—$/MfЏekmЛЧ|‰,—0ЌˆјъЇ;АWёВФЇшЎУCEžыO№х eВЛ{жІјЎо6Иe}BHћ11Ic!„Xv]ЗП+‘ О[вЬkщ?Щ*К™ 4јЂƒ=I”щ|KљНИЈлнз_ыЭЂRПујѕы/xЯнwЯЏUhЛЈ“ЉыБЎ§џЮЏЙJћЋuџaЏГY`!€>SdбЙ Eйy ћљм‹тKўyuњ#OЧ‘@U”ѓз‚^nжeя=nћЏД~LЦПУї‰їс8pЮ 8УЖд^іŠвћ4щw•є>­Эm–TЏMШxйњ”8xа.љУЋЯ›tqЗЈШВЦ 3!Š'Тe[шcІQЁi’,увsчЬЗ—Рh,ЯЏž_Ь—ZЮЄ} ŸУт№3ўдЯьA @Џ$Џ§Aи,ђъУылПО=JЬ­з:Яп@]GГщ6їШ'iПѕКДdщљ|эmX"—ž мt}“€+oЎН ы Ѓ_…Ќ—“o˜ГV0Ј”ЪŠžŒЉђonзzѓС0OsЦU!ЅƒWBh4Cьв!„zLўьvžs`'KчQcЬЧŒ1нГЃПЎЃ€КЬиЊugQМ|№LBkиЬZ[32%Є%„$†{Чіˆев&uы§i%чJ3vјхI€Ю‚=T•9Iє†СЯhтev"Y:Є;UnоG•wщgоф”;c‚мЭѕ!Kdцфm›&М"кЫŠF!*iђ‰єFœ„e‘’BTђќBCш*€c4iп0ѕ€0•;МЙ™){ш†ШДСМ 9}%Ињ:$rй<‘IЫIП$x0*ѓРЂ”EП§аєы_†[BŠ^юшs"уЧ~ <>йK]"—„$†ЄфЄФіŒхиsЊ9@эRvж]ŠЂФbУ(eHСг]G„~о-lvьюeƒмhŽ­ uY7ЁYй+yЪgЧB'э7ЊYЅŽ’4Шдe№фV‘пMкДуЇ‘Ÿ7^х‡OMjГh™ уЖ•QкЉГ{v&wьИ!3&4sу‚œ<Й’IзЯСzњBaДY?ЁhгМу9*BЭВ§Ќƒб_о<|ѓЕ>dђ Ўbњ ž?ММѓ‹„Щ+ЎTцЦnчЦedBˆтqњ~I“nŸЬ^‰ВD>ё>ьњь3Ю {:bт0tЛpЎyДŸЋ{џЈзЫ†75%D*фRХц‰$"›Ђ(Ў0ытцCЗN‡ЖkDѓ^ПPчС;лqxы`аgŽЖž#іYЮŒп:ШоиТ{сšўwƒн9імLџ†cM+Њзeщl‹Й_ŽњS_'\Іщi‚РРQ[Љ V!ЌШbPŒЂ”b1вю`Htв1^Гп*ŠьГG/а;uo–б-0}ѕе]]ыПЙЇ"_hВœ_§эИ;žMв6 ШтќЕШZ§хI‰\q)"!=!ЊKTI]сA№Њ@ЙjйІўvbЊƒДCд*|ДЂ_ШсŸMйЕБуЩЉSЃџ}Юp§fбЎЈq­,а§ *NЫ'ЯO™™ШЏЌџvдˆ\#ћžKuЈ_ў#JbPЛЫf$М=–$(ьIЉЯ^‰ВD!‰!жgœaбY56Ик“iЈIВ[[ЕлqэЏ ГЯИв{ъ“ћ #ГœМ;Mч=@tШШКыт“їХbqюBZUКАŽБћР&yћгRSШo2аНHШнJQ[ЙТ…œ#.GўИТ{ElXdЏ z`Ј#ЫМ.v шФnЊђЗ Э єВ23j0t”kфЁЛС.šЉК%‘K6]пФЂГ‚[kdкЅnєЃ…kїW‰[З’з=КД`а?”X %'%$1„mЩNHFъ JB,ЈнфiќбmQvэ'ОxxЦW.EйЕВђь‹ђъјЩŠLъбi4F}К1ƒinDЁ™Yš*^+4P^T"—D\Ž№‰ї!„№мx5ПНСh0И‡ћліFНьdx§џЧdж§н–эy,#­еЯќ–DФcП™ YФ~7)2'ЄІcŒИQќёъЭЌрЪrk$$-лщlD‘хŠњTЧИ . uVŸКs•ЖЂ(Ђ>6{љ_џ }ђi{ћdKN$џюяMfПщњІ9Т9+ќVžV>?v’оЁ)уlљ›5 ђŒр-ƒ ^m•[§,}[у~tј‘Р‚Zсшe}џ№Љ4юОТŒО„Ђ|uч(џхщ№щьгO ­ЎсэТљwј<7^pырvПЇXtу˜/‘х†_§TŸа . uŸњЎаxM@uЊSњуДђзY6WѕщУИŒМŒФ‰\B6‘рYХsџ)Ÿ&žЈзљKГH`дŒL9щфріœB­Цh992HњгїHо4(Х…Ў/НvJЋO'АJ’ ЙN\ЭЭЦо6ќЬ€3„ŸxŸˆЫЙЄм‡д2НO“ 4Њїщђыw•”ЛTGяг$(MЉ…џп'о‡уР93р yёЖЕ(ѓд ‹n--4Оy"OуыbЋСsНr(s“ћЗАІ(ЋжAћ)t…A j7#+Юї‚уќоІ‰Mиcўрc­WЛ>‹Юz—Цтпсы: ’Ш%'7]п$р Тл†p_ўѕƒ‡6іњO$ё:ЬЙR Ѓ .xuѓєыіЎцК @EЈЮГоЬL;ЩЛЕ`щ…WК‹Ф@шеY<@VœЦ*ž (л_=!-С3ЮгУкуЬ€3жЅРьѕ[ЎXœСчА8ќ +МЬД'дEѕкŒмМт#sjžБ•gз.ъ™г*f#KБ)XPЋUsєŸJ–/SІŸ ]рЧ$„eЄˆT^qЧЋ9ччФіŒ-нёЊ”пКх(љ%Џ*ИwpzчЦE5lбsЦэЯ'Ї IDATўдтю[Šм+qпїkIYыntРЧ)Вџ0UдkЭєrŠŒ&qј”МП& љ}Ржх}›0ˆ*џЮ/ЫІ.Й?=qпз9­‚Њ‘ ЙQ!)oЯ]•yзіЎ˜ ›>иНMЧЁTnЇКдЂ,QHbˆП“T—ЈVЋЈХУИ >ыь§~П[–Вnшќп|і ux%ZqЉн”pя+4АQ€j)zі{ј№h›хћguЄаНЈ\H`Am'ёиeЯ9ќŒ \оgњFЬМ8qpРѕА!Šи%{Ѕ=чnпдй+M+ћ–б.zѕ:ZЁюzFK)k™D.‰И‘žе%ŠcЯбдfdwїЌMё]НmpЫњ„іcb’ЦBБьКnW"дд†ЊЊшI|иjѓEfwdтb}E Е‹УOЉиP5LэК§pШ#iѕјq{mW‹љлbXВTы-=RмёЊxЦ+ЭtМzKў№ъѓ&ƒнQО*L*фВy"BDln…њ7дИќ+{ŽœOњНžBZE\Kœш„ЭЇреPчэwY nHEЛnA•1§щ~Кj@ФхˆM)›ЂКDљ;ћk~k4Q)•*Bp§*†щ'ыДГ<Гї‘uНЗ~Ѕ ЕZ•Г!:џ.0X)9)!‰!lKvr@Вf;^НУhтev"Y:Є;… @­„iТд+ЬўkmА_;ŠЂ(ŠВmжЁпДшѓ9EКŽ @ЏE\Žр ИС­ƒc{Фj){EЁЛާќ\иьифч9џ§ю7(њ^Ё–6Z€дnŠЌпІxлQ”kяЅПPBQНОЛювѓљŸ|\aъцЁЃБFF§q+ѓYnЮгЧ7ND";xлрŒр#|т}D™Ђ3Ю№мxкнВ‰УаэТЙцб~Ўvvю§Ѓ^.од”ЉKQ›'’ˆxlŠЂИBЉvу€Š9цKv:ѓеu Ч0„j5йѕ NЖкr-N1ПЯтЃЃ…#lВŽ­˜wФfтВAŸžъЗр^b†ћдCC:иFБhшк1№‡{Но-˜рbЊиы–UКjЯм:X{лћ`œ8УePф™A‘ЅРxpC Ы}ѓ?E)5ЙЋђЉЦЙ Е•*Ё™e›rе-WP+Ђj!Еš,ыКи%ˆуфLњЙЎЙrћєšˆcѕ†ЏоаОAyеЭšuaпZЛђ€ѓЄžŽ,:‘KžмЛt06ЭхыffZ‰j!Eю•ƒ?-ZuІ)џРIYGУІlЛњВaЛQkіЎрк›”nБјыb u9Ху*€*bXY.aXёUЋ™У•%Њ*t84Ў‚бlЈ†CЁvSЉŒ&„fТP>ˆп§ ѓтŸ&”ŸН"„˜КNŒ‹щџ"f ЇЉ••+gјšдžлју›Ёћ•жеІя\ЈгђD #.ЙO їЎO!D%Iš;ѓЯ1ЗпижсЯАyIвВ-:Žj"їJмї§ZRжЦЈ{ЊW7cЦx;Rхф3ѕP†\зё!Єїi”Іь}Zзq€C ъ ЅБѓрaэЈ яђІінBЗўžќ№…X,‹Х9i—6NтиЂг"T•eзuћйоцЭїHССEыРБ>v:X_LИ§ЂLЫытE•ЙЇЇ{wYxAЊв]єP=Ѕв— KВЋ'ьtXzіaц­иЪў~Œ €!Рй8дv§ІџŽˆ§Ў#‡ŸQљ!9*йѓь<ЫF6 i€ъSфІПduЖІBш6ЭXyчreeZŠ!D‘udжќgSј+;0ёэcА,ЛЎлп•H…uYъ/G_uŽіqВdЮД ]ЧƒXPЋ1§bЕЪЭ^)ВŽЮшм„ЂьМ†§|юM§ТМ?‚:§‘Ї…Иѕœ<?КM#ЪЎ§ЄУЯјЪ…Ђ(Л6CVž}QГг-R[ЉтЅўЈ5ЪІЃд$Ј гїN^єjVd˜j‚<ѓЦ3zбa-ЌЈЭ{/њѓy‘Ў#€Š@,u ’зў ly5ЁЫ‹CпЯšГ~ыиц•\G­ЭЖ$oX~ОуЎѓTЫИѓšЯfЗKп;Ўпфu~чДfдиvоЭ€HmЅЊ59ДJЅЂбаqєŽЉЕ 3/-ЗX™ЪŸн3›к˜—i1!D!yеФ-}зёLПoуG њTJYўƒdлШФG;žЦŽљfњкў–xжмhŽ…д‘?ЛчиХЩвЦyдЦѓБcLїьш_‰”MИP%Ўемх9їђйпЖwp0ъe'{Рыџ?&ƒДюшЖlЯcЉСVI…\6OTВ…ећрѕИ–К р#Ьмћxч/$ѓF5М+щДС*гb&%цž!?Fочѕ ?кcWџF(BŸdкРйЎYc?ЏFѕшЖнWьЭ’$Ає†ЈУhвОaъajŠSіа ‘žћxЖ]•дь9ХpєВОјTšŒъ+Ь8іMB”ЏюхпЁ<єс ФИбмЌыПЭШ[ИЈ3ВW ЄB.EQlžH"тБ)Š „.o+фЕrњ|кЭ>‘ :ж'––j!„ТpГrанЙѓOхр;Ј.QхџЧŸйЧЋ1EQХnзџћУї ˆTШЕq ˆЯ~3ъM*ф:q…вЗ{EQхрйkЪЖЫљƒЅ”\ŠіuoHQTCwп‰бХЪЯБ˜КЇLQE7žш6шФЇы<šџЏ_Ї— GЎ=Эqѓ—=wlПp2гј3€ъC @F‹ѕŠ6Э;žЃ"„а,лЯ:§хЭУ7_c !Œ–“#ƒЄ?}џ‡фMƒтQ\шњ‚бkЇДв‡V Fц;џњСЪчѓu );+Ÿ kЏПп~&~zыј’ЖЦ„“FЖ0§щ?&1їZxсFєзжје6XЅг—%22ъeУ]”бэчПd?ЫКs|сg——ЬмŸЁ FцЌœ˜ШГeKRВ8ќ ё‹Їщoшћтч#ї>ThъЩhˆтсоƒжНиuхQіЃ+;‡цGќдГ(ў@e№9,?уэь–FtK&гЌœŠ%gёjŸS†]€n1§•E.ПyЕЫ†ѓпљR4BˆmЫ> ї!„H…JуІЃ&Њ6nОо~–GйžC4:ЫЅspдІkfЧІ oa@ЉљНИЈлнз_ыЭЂRПујѕы/xЯнwЯЏU%VbФАdВЪK`у†нПЛЈ:б€жсZ.д„RCeЫѓkЇч3ф•YIНNыOЏщPOс€ЎЁhVЋ1VpБђ{cUЖ›h—šћ*5ъzYќy— ЙQ!)?&!RaTЉeT’ЄЙ3џьs+Ёѕэeўц%uоію[Ђ(ћшЄ!їs B Ў§8>Š6§DъPgщ‰йм™Ыњwлш]Ѕ<EUЃэИwбh4e‘RE­Dm џF!„˜иѕ ћrдJ!w™ЉкеЈ” %ЭШШРFНгhDЅ,~Ъ„BT„В5dUeЦN~кLBЭЌђ;’[еVˆXŒ Щ  <евH`TŸ2їяUуBџі??šmB!ba@ЭžkwЭюд œJ…}œxgдœApBд-^ѕ€•W˜§WдТ•Лџsя…‚BЗvядgtјМБожC /Дљ@!w­љиYа­‚Ќ‡$м~элоœB™‡Т~2 їГ5&Фиkщ?Щ*К™ 4јЂƒ=I”U2ORBnе\š5хиЅ§7w(зЦЈDžюн§tзсЁƒ"Яѕ'ъњhНИ”nџЅ‹žЭKX3'oл4сёа^V4BQI“OЄ7ъфlnЦЂфф+ гˆR”їф•™uНŠПРЋДОЫU Eт4ћ№†к§ќХбЯЈЊІž\h›ьцњ)[hV mќ6#ЬъЖl†ХŽя6ўgXУ7*ШтГaнНІœЪќ`6ъ >‡ЅыР S7uˆ52ъ[™Яrsž>Оq"rйРлібq6Pы)rг_ВšZг !t›fЌМємтYС•9ЇЎ3 ›з§эдјЦ 3!Š'Тe[шcІaЁЛ˜ !ІNƒg|ёЯwc>™*–ОЪО.Œо~“feўўР­^›ёВѕ;(?8–SЩХї“6wюѓщƒдwЯвWІ.ƒ'ЗJњnвІГѓхЏВў‰љnjR›яЛ0[ѕїЪкЛ7щ~юыќgЗOnл§ДуP Ј{РЈ6йуkbЗРoм,Œyё[oЖп1УЅЧ ІЯ/=Њ• ,cЧs|’ѓгѕ­РUСНФ їЉaC:4ЕЉgjdLЗhшк1№‡юЉЇюш:6аЕщфwb"R†m[ђHH•sћјРИ曆yšk)К1nд/ZАДyвЬ.Ю:ДюЛјтџ"ŽGu-‘V3j№UиШz9љo;ђHD<6еРжЙ§и_lцќВЙ_#Cыzjт8lЧсЌƒAŸ9к:xŽиg93~ы {cуF§6ЌяzqVЗціŽ}—?В=В rдABPm ћжЌ;ќ_nњ~ЫЮќ%.ёфФ…ЌЯi<ЌпмЦ€Ъ?U†yлХ‰G>lbњ в§tЭ;fЭКАo­]yРyROGШ%Oю]:›цђu3Lт дNЧPѓНмM­]˜yiЙ…ФЪTўьЎ˜йдЦ”RВуйЗёЭJ|KЋђ.§Ь›œ2`gLЛЙ>ЬEГhАъhРЊ[K~й;ќђ$рm{-˜ўЯˆеnТц?'l.еlbы;gџ?sд>D~}@+p  к­ЇmЇŒќЪЉQ“оЛьѓУ‹Т=ZŽ8лaЮ$OфMДЩдub\Lџ1c8MэlЌЌlь\9УзЄімЦпЬАЦбд тqтВџj~3fю}Мѓ ’ŸJ2NGЧJ:ѕu7#DvџD’q—Ž пїQR>;:щlПН[FщGі є‹"їJмї§ZRжoъ—.sЌЎE_(%—Ђƒ}нRеанwbєEБaЮФˆ@ѕY}~8хЉX,NK\3Ј§ЭWŸ‹ГЏnчиє#Е€Љ}За­П'?|Q<1WNкх„“8Жшj  ПЈ­TёП[ЃDФcSoq…RЫN —ЗђZ9}>эfŸШыBф“ŸSn KєПzyqѓЁ[ЇCл5zѓ@яѕї1yМ•'ZqЩ}JИw}BH‰2Чolы№gиМ$iйGќŽтсоƒжНиuхQіЃ+;‡цGЙїЁš›ьцВЎƒ…zwY8Џ€J+ИЛ'lЩгр­Ё­ŠK\Щnў<2Всвѕ#\Ы)y•’“’’“’ё2#%'E"“Hф’”œ”RЫxX{Аш,ƒхaэсaхСЖd{X{T=VЉы’"№cV} 95аыЊф 2ІК‘tЬ^+~ПНЂd‹e}w{|ИLя#Й†?4ФВыК§]‰TxАјfй2Ч/,KЗdJѕ8аw‚iд’пвŠ\FIќ™УдA?oљНИЈлнз_ыЭЂRПујѕы/xЯнwЯЏUhЛЗ'JR!зc]ћџ_s•іWыў;5Т^чвD @kru@ QЄэ ^ђpјЩцяВU їo‡ОєМЗЋ` [н—Š(Kq)B”%ђА~“т5чБ,UœœЂЖRяNbSrR$r‰D&IЩMспхgфeЄфЄpь9сэТ9іэUќ *ИwpzчЦE5lбsЦўдBˆъеݘ1оŽE9љL=”!/w%jЉлЛЪ–ДћxcэЅxђ[HЛ†ѕПсќ ƒ+RЖЬ1ЅЎ№Б>0u<ЙUвw“6}œ/•ѕOЬwS“к|7и…QЯЪ(эдПй2Yій;nШh„fbn\“'зл…H`@e™8‰><­ўoSОjfgmуаТяћПЯћuѓ I6oЛ8ёШXЇ’q0§щњ;Šє€тa\PŸŸUS~ПџфQђžЁ’ѓЫ,’нX=aЇУвГ3oХTўѓїcdА *дю]eJкSлX›™: ^›tz~ƒѓЧяЩtKЙЄB.EQlžшMНуIhЉ2Чъ ыЧa;Я` њЬбжСsФ>Ы™ё[й/\гџnА{#Чž›щпpЌiEѕК,m1їЫQцщ:ф ‰Ыы  (ЅXŒ”Бz%'qнТ—U5UљФ7Ё&шэЋJQТѕˆьПхeЎОАсЫч›ВK:(ˆ>ЛЌfЌmвьŸкНыЕѕВЋWDлР~ЧЅBЎ3яi№‰?–vАЄсЛЪa8{6€>“ ЙNќQЄoылeС•з: *Bў№ъѓ&]м->lЬМёŒ^t`X +ЊAѓо‹ў|^ЄЃшРАЉнЛ ˜тйПg'чЧ­§'_зС€!@ @3Lœxѓ}’–Ч?FђCЏН+бU‚J)Ыlžј(-iVН]гзоаџ!N дэ]№†тQќєЮн–ŠПфКЁЇ#T€ЮЇЌЈ-$"›*нHѓЙ–шˆ ѕЃ‰—uк‰dщюдћКђІ œэš5іѓjTn; а}Хо,ёФ96T–кН Š™иїп’м‹ЎУУX5„ХсgˆK{qхDєнuDшччТfЧ&?/(Шљя—pПAбїLўзЏгЫ„#зžцПИљЫž;Ж_8щIA10,jї.ƒЋИ Р€КЬФaшvс\ѓh?W;;їўQЏ— ojjЩYМкчЯнбхЋuŒ)BмшКSoWg{ЋQЫ^Г{TH!Šм+qпїkIYПŸN‘u4ЌЋ3Eй4я6SЅаaдкЂvя*[вŽ+”~ЄоТB€šРєЄћщ:Ј†Ы Ш3ƒ"K67ьЖшјнEКŠШАА8ќ“Јф’ћ'цї [мЇћŽRД0тRЛ)соWМYL%Iš;ѓЯ1ЗZп^ц?a^RчmОu {ЂšН‹0§jЪэЉm4v:X_LИužD.‰Исч™‘—‘ЬOжu8 за ЊсMљК•ƒcЃ&žпnXѕЙЙКХЙщ/Y­щ„КM3VоЙмК0ˆ>nгѕM—"ќ§Я 8УЖdы:аwH`@5А8ќфУЭпьћ™œŸцƒJ|PŒ‡q9‚]ŸдT†@ѕаЭЇЙўКєаУзи3ЕvaцЅхBфЯюŠ™MmLЕ ш ўОч>Oў~T—(W€ьTX OЄТ> mкFžЯ-*nШЭq9_ЅлА <&ާУ{]]АўъЧнЬмћxч$?•dœŽŽ•tъыnІнAЇDY"Ў€ћ.uХБчTє‘JЩЅш`_ї†E5tї}IЂ,ОCMЅKЈХР§ЂЊз~њpљЪaГŽe+! Їџ=йБюbОЎУ€ђйtŸ3сUФТO‹‘ ЙEБy"‰ˆЧІ(Š+”ZvZИМ­зЪщѓi7ћD.шX_зƒvЇЎBCxnМЪЅЎ!DёpяˆAы^ьКђ(ћб•Cѓ#ё)!yЂ…—мЇ„{cOЊ0шcыNaлYK‡ šГvЁŸђй+…RЉы˜ЊŒкJ•nZЅІБВUчAsЈ­TЉЗЃl МЧєЄћННAГь0w_‡Зэт2/ГзŠпoЏаbtzЈNэ`y!‰!/3Тл†ѓмxUY…ќ^\дэюы/ŒѕfбЉпqќњѕМчэП?$дЭВыК§]‰TxАІУ§„X ‡ŒЈŽ?№—7=2МuSПЃэ—ЬэhЁыˆЊA$Џ§Aи,ђъУылПО=JЬ­зшxѕiѕкŒмœЁУŒ­<ЛvёhTЯœЎP1Yы0аь`х)N]…З gбYе]—™Sл4сёлЏ=•4љDК}'TЈ{Ра4й-хcFЛыђt ™ќйэzЄ\јhџDПУ/>›ВkcЧ“SЇFџћœсњЭЂ]QуZYhцdвˆъ0ѓ№ЙЗ-?si\ŒF6VH…\6ODˆˆЭхgќ˜Z џЪž#ч“~cЏ'„Vз'~|2\ZN'щ$eІvА’”ЯO.пb4sївжњ|‹жРwЩм}}ЙЭЃ{КХяnЉб>вugC€кљѕ/9bБX,ЮрsX~ЦŸхgЏЄBЎc@|vбЛ›Х3ˆЋ юœоЙ1EQ [єœБ?Е@уСзIцm'љ0{ХєЄ—8G•нкњЃЈнŽkMؘ5xЦ•оћSŸмO™§уфнi>•Чєˆ‹щ"Й@aі>ђBќжпЕ2{UЇa+щхП6э™Хql@uŽyTЄбMб]Он™’+~ŒьU…€о12gхФDž•–œІ[ё0.ЈЯЯЊ)Ппђ(yЯPЩЦљПejіL>B–y]ьтп‰ндзпJм$(аЫЪЬЪkш(зŒгwk(Љ˜’“’q9ЂfV 9ЬоGr‹SiIcЃ1h.hгOюWСe•ЦMGMTmм|Н§,7…ТхwїЌMё]НmpЫњ„іcb’Цh*R(O‘ЌШЄF#ѕщЦ ІЙ!„ffiЊx­Јve@ў>џ?уeЯм:И‚Ја  fѓ%;ŽљжФКT„ѕхДСїWХОЋI.xѕy“.ю5БvјИw6Е.тr„ч>Oў>Я—<,ЙЪEшz“_лЃо5 6ѓ%ПЖ!5ѓ!Њ“№VэCЎ IDATжЏ^dЇГбЏ^КŽЃ†дВЇP z`д Yю›џ)ЊJ3 ћ№І‰]ŸА/G­r—™BЁбˆJЉTЂћ’S@$"ћЭЛ,bП{Л9!еXeФЅBHF^†(K’јё5Э,g=;Х„ЂBQЪj„Ѓ;Ш›Qе‚З*чўUUZ+!Єт3ˆ—їBЩ­zŸTэP­МЊеx1Ћь“пЎUyU‹_1ЂЊШ+VооEtПƒќ+іtЊCƒ4€O@  f0Ќˆ,—0ЌˆјjЅ+sЉ=uЁЛmyЎ?ЁТhтev"Y:Є;… –f•HN•Рy_kL3…лynч E) 1{E4ђ!Њ[№VVП+ќy)Ћ–=€RАgш/Ѓ_…Ќ—“Џ$ФФaшvс\ѓh?W;;їўQЏ— oŠьUэТБчИž/$1$$1$#/Cзш єРа3д+4vјхI@ёп —A‘gEъ*Ў:Ё2Х"5„чЦѓwіпt}SBz C,€ЪSЩђe*ТєЄП?Ј,даМЩ,:+Мm8ВW„(Х"ккSeэжsібЬBЉkуŸ]T|џЛъБ…їж{Sя8Ÿ}Eˆ"ыhXWgŠВiоmІ KAˆќс/Гz§Џ!EQ [|z(]ЎІєXя(В~›тmGQЎН—ў§Ђ8Ѕz}wџмЅчѓ?\0яЏIп„y(#„Uўјя§:NH|ЉѕxjЗ‚k?ŽЂM=‘š•ёяЪfGg.Лєš™Гrb"ЯJU,Љ|Kк,ОєL,‹ХтДMъЉ$Isgўй!цжул:ќ6/Iš~СЌkЏf=ЫККЮуdјЂѓOЫДф$а5 !а5Ѕ7VUЏрH-‚є—ьњ†'[mЙЇ˜пgёббТ6YЧVЬ;b3qй ‹—dњFЬМ8qpРѕА!Šи%{Ѕ=чnпдНкSЙ›m0ѓZњOВŠnfB# Ош`Oe*Ђ4n:jЂjуцыэgy˜Н[R™Ÿ+3kfaќўБw­љиYа­‚Ќ‡$м. b[™HU*BЃ™˜šл850kPКi}…w@#yљМ8 ПdYзХ.A'gвЯuЭ•лЇзDЋ7|ѕ†і ŒЫ,jjзэ‡CIЋЧлkЛZtШпЖь"ЕŽш@kŒf„Ђx"\Ж…>fѓѕa}9mpТЌи1cЌп.WєњХ‹ыk§\&п—0œ{Эй=ЕEnњKVgk:!„nгŒ•w.зИѕЬMƒЙ_ЗЖ/$ФДЭь ­™ѕš–jaшь™ТЇa!Р;Њ"•1У„аLЪёЛt^ќг„вй+ЉћvŽЗОЫџЪЮ<шfMQW(еQдЕš*џціёq­7 ѓ4/n2Быіхщ•ТlХл…LэЛš8%ъ\ц“Л‚1љk'ЎН)#ДR+*JчџkЛђяєьєs?;№gя~№КLKЁŸTz`h\йЮеИ`U У@Ÿ)kG•НрЫєˆёk№Q!‰!сmУй–ьY›*явЯМЩ)vЦЙ›—ШHб]‡‡6Š<зџMšŠс>rСмтЛ>чЙЏс?VљЙ0ѓвr ‰•Љќй]1ГЉќvє-ЧnKƒЦєрИ€7ЗщБR-Џƒ›šжHрPУРа8dd>Џ ш#‰ˆЧ~s‰EФ~w­…УЯxSmP=Љы’ђЩeъЖ%л'оЧпйПвXЪgЧB'э7ЊY™Б}ѕк„ŒпАъ’A!В?~3ёб„]Н™џёЗпЕяцТrяуПLЬе№rtЌЄгwГ5•zHxћыaГŽОзРУСвОt †ъ+$АДЁdW#dmJС‹zНЋЊ-МmxpырMз7љФћp8С­ƒ9іœ*ЎыхХЭ‡n%hз(Дјv‹%IпПЛгЈСWa#7ђ'BУ=hzч як;Ž*Вpя?л„цt‹І —ЗЮkЕ№…Еї„ѕЛ;жgаІo?nBіw2zcпбпЕbRKЕ ЅЏhbќBР[Ѕ‹1EfеUљЄЖRHтз8MНЊRa'оUй;дївЊH5ЊAѕ!јВo‡}Bѕс4,кХ4КƒщУPђщHф’„Д„ˆЫьњь№vсUOc`w€ЪБјlXwЏ)Ї2Х%e№9,]5Єl*СPВW`ъдЦЂГxnМфaЩ<7^HbWРхпс—\ %'EWБСA  2ŒЬёIZЬOW”П,@ІШНї}П–”ѕ›ŠЌЃa])ЪІyЗ™‚,‘ ЙNЈнYWМKcёя№=їyОKcѕ>кЛTJ рcРЈѓЖ‹Œu*9,гOŽмJШ-ŒИф>%мЛ>!„•$iюЬ?;Фмz|c[‡?Уц%!sUёмxЎ ЊKдЛ4жЫТ—Ё‡Юј{†ЎC€д4ЫЎыіџ4ВНЭ›LoССEыРБ>v:X_LИ§Кјeющщо]^Њ™Xj%Ž=Ї8w7ŽђZёzпн}_§њ•D.бuh зР=&rЉ7<{MйvYЂ$„(sџ^9ЄmcŠЂЌ›ћNйwOІы0Р№)эскv+qJQEa˜[MPфІПd5ЕІBш6ЭXyщЙE„ЂШ:2kўГ){~шРЄщ8BM)o(ЅК–К€EgнЬНYќїЋТW)ЯSкюo‹)БрLЪ_@‡X~Š З™$э|ьМ FвЯђ|UШŽњsNЅѕgПќk^яХчИЛКжзuœGmЅt”C%NZГ7пвд‚B˜~‚7Ек‹ВN r?ЗаipЕ…šUaњоЩ‹Lf `›j?-Щ-ŒИдnJИї•„”J™ањі2џ ѓ’:omwБTЫ6пZ?9%'Х_р/•ПЯ +TŠœ‚DЧžO‡БоB ЮrщЕщZ‡йБЉУТ—_NQ›)^ОP(щжN jядeы‹Q%зкЂc†IvcЫFљ˜бю3ї—lUd ћЩ4<оЯVђ+зч@п ІQK~K+r}$ёgN­э/Є)Іж.ЬМДмBbe*vWЬljcBˆBђЊ‰[њЎу™~п6Ў­чІ–]зэяJЄТƒХ7‹‡RђБГ [XIИ§ТВtKІtQоп*RTбУк#cdFЉFŠЂ2ФЅоСB04ЫVнrЎ<”šБ‰‘TШЕiь5&y№ІYž ]‡†LёшаWќB}­?8;RцœZИЮ4l^wk#bBЇ=?ѓkСXaЦ“[q>ЇУVЇ`‹Ъ2sяуLќT’q::VвЉЏЛ!цž!?nž ?š]ЄыЕЄьPJY™‚§ @ $АР`Ј” %ЭШЈјвгяшг{.ЂvЮи–*зq``РTтЄŸИ†8г?h–HўЕmё)“ŠбrєhŽƒЙ™]‡юY!ЁPЎтЉФи<‘DФcS ]оVШkхєљД›}"t|3 УuЬЪAwчЮ?•ЃдmМZSЖ/UйьoeежnšPћЈ^\JHЗџв…Q˜їLbbmcNЗn3(ахЧНї І5Ї—џx5ђ.Ќпјч‡5„BDьЏж§wj„}aЪŽCfпЦ7{wœI3­GЇBˆ‘ zTШћЉФоыѓћэяoљ в§!Фkс…Z LЗЪЅ4W7Ић@ј,€PЩХї“6wюѓщƒŠR–wы46юЖTітzќо; к8b!Tѓы_rФbБXœСчА8ќŒ?Gий§IЦ]:64жutPл”JIЉ\YмŒžбЏi#Tљ„ŠB,аoMBŒmлѓЫ§гlBз›д™=IfъјUш–Щ-‘Р€š%œќœм§ќЁкЄB.›'"„"bS„pі\\о6„зjс kя ыwwЌOŒ;-\оvxЩ–:ŽY;ЬZNX8ўшџй˃Șі7рпЉЉ)Љ9-Z™J‘-d %ЪНЈщ^ЙHe-kWїЂEТЕ]dНйwВDЖ ~vВнk•%ЁšJЬд4ѓћЃtЃ0˜™33}о//Џц˜9чщы4ѓЬїћ<{ушŽT P E‰љ|Lаўvп<€дZJšЖM№U>ЊтМ G†^№кШaBŸчїУЊ–K7OъlXѕДwB•ўAVщр•№kЉйˆЉиЗSШу:ЦЇ$y‚­№%Њsf(3сНи5Œб }ыП_хРі˜3Qoуя+ўEf€яƒ€l‰ђnьˆъгŒ2.Џы!ЮЛА`@›њE7rй™ŽTJгcЉJ6c/О•сЮ…ЯnёќмXOƒќН9žљ,лњ5|} Ф>VОИВ йŸƒ2X $АdЊ(yFє5‡Hчђё‚[ ƒ7ж8‘‘ѓќжrЇ3Sf]zCs€Еšј]i=ык+>ŸЯчѓ3VvЎ#УГ,ZАЦяЛW ,њwпŽLж‹cWВГЏ|RЗ‘ *)|ФР3ЉќН˜_Б„рѓPФ@ІєЛ-леђЪъ8ЭНž"бdjˆоф‹ФкЦж†ZєЦWЛ‰‹ѓ„:vzђщ,Чj1~љШ‘cК[‡–P­†/Šя{bЄcГьњ}џ:аВ–є$Аф‹ЁЩd”/”аiyј@KєЯЅQйЛќќ;K=mЧ=*`йєšМvѕoэйВ[’ aд%roJdху~7Ќ’йЮОь3йdЃqШ™x_І;YУBP^дZъ^ЕђЮЪo{!€xz™~z&ЕiтКДКƒЉЭД,<† ‰ЛєќEjRPёв1KяЁ:Ј‘2AХп%–пКПKPcytJ 3А@}deŸ .() ;€ЊJ‹^0MtЕ[ї АПэ‘`|#TDЂ ЫaшєЉх_Жѓц№WќГ₆9qђОI3"Du[бЋt№ђTШу:ЦЇTЉ$Ъ\зwШ“™Gg:щ–oад!eЂЉCј|yЭT@ ш‚X &тЦЛ&ККXКœя{žюXЊЄЬѕшДцђ ‘в&t­OQTН&?Nм•&wь4\[=жнЁEQѕмЧЌОЪWr• y\Њ*)њX яЮяхВяQБрѕЕј Љ]lБЂTгкџзssŸUМYяЫdX…ѕƒ –Р•WPRp<`х•IмЄШ6‘_~€ъУ:YЅVžUЉh NQцгZЭіv^WŽ™­{ŒdфВqݪؘhшВsзЧ\,”Tй&zВc˜їbIШџНxz{ЋoСŠ?<жqьіЖг !Є"ЋђбЖНЃОjbЭ†УЧHVЌКг>ТБЂ]IъжЅ)юKжѕoV—в>h§Й ™„ЋLJвwФ=ш{e„3›AHнNЃbcЏ8Oн™юй\vЧ`šѕœsфўйэ@и.ё)R$jдf`Њ*Ÿx5љђфэ?nЧФ+PGмЩ&#юВи—„АЛŒяџhсіЧЅ[Jžм|нРЭAO{WVТЌkЏm~p4`TТМŠП)ъ›жљŽќ№!гм;ЌЫ№<юœђŸgƒHФb !Œ^Ћ&>ў%„ууoX"uЖ#œPспМцЭАф@"Hн>,tkzН^с+уЦw6в,:9Ин‡…ЩсS <“2=щ€6H`Š)()ˆО}8ѓpœ[œ‹… нс(aNюЉ§i {yЊывЗ‘џтоЭ‘Н ЫˆѓЫˆ№o~uЕkлiл­?,ц’aТjрdœqьvс€”кfАtЌM3x7јОНŒ„")М},гЌГЎ[[[,&„ВЂouŒыHГ`!сD?;eR|iждЫž‡вIвЌ‰ўб vG5Ѕ;$PXBЊ$9;й5б5ыMжљОч‘Н „бЅ ng6оgѕžэ}їnŸ-6яе\щ+zє>E†eˆ{Ÿ’с.ыД%ŒнєXЌAДь‡„ЖЛ6iћэзAюПћ"=ћ­N/§ђ.T‰–mџqЭЯ§ўыЪ‹ЯŠKоfџНўїпЮЕўНП­AsЇьmлЮ=Ъ{WќъСёu[^vђuЌCwД№- f]s3C‹ЖУbw‡Мž:|бЅќќіhЁЋ­Ж+Œ@Ю(JЬч#1№эОyёЫKjУЈжИјДFЊ2Eсх{Ш{еяз„š}G*§эЈt№ ЈЪ.њzєЪ”•ѓ:ЭѓoьOw,Ъ‰efт5кФkДГ№eющщ сGіGxЏqWЗyP3i2SвчЙ”X д\]йкьѓ}Яsє9tЧB#юѕ€eZQдIIVъя.ьИ_J4tZљuмАЄУњ‘ш @ІРR(Šг]ŒО№я kоlZЧtoЏНпpМ>f —цuJз0{“ЉшШ^kOžкцK?,х*dDзц§}ѕЧžЮšQќГzŸšsЅс†Ўxkеѕ‰ЫBЈQ Н kžpЇ*kH>w9ŠV[зє~ЫяKj-% ]]умтПюxеCќ†шW9‹Гvž9ЕT?,џ]˜jкzк4M‹% Bˆ~Ы†4х(y­!•_чщ›™АPV”n‰AЉ%q“"лDr“И“/M.() ;ШЁ#;Јбэm.р55_gцp8zџн‡uЕ–Ы+Ё;0PЂьCЛ6 (sЇ‹/х—Яћ/:9ЌуА“E4GP 3А@йyйxнЖМ=љвdзDзyЮѓМlМшŽ@™h§Иs8ŸŒРЗм^:…gsѓА[ўžЈˆѕБkG4бЅ;(€`ЈЖ6;Ю-.Ю-nђхЩЧjчT,€O(y’:жyE­ЅŒЖК§њ0]Hw@ bJ^=(ВёrГж7qОb=79(hѓ#Ё„юЈ>„Ј  —лo;;Жмбrх•t‡ оqЯ ЪљзУхвпsЎˆш T ЋAћziЛyi !Zпх1-wњ^wГ=„@™ *&ВMd7щpЦan7%7…юpшІiыiгTчП"юП ˆ;|V“рибe+ЇЭ•Bњэ#VwЙЗїо;T)%‚ЈGcЧ$n’—7‰}=šюph…"ю№$ТтW‹‰UšzS’икŒ2oџыоЋ{'vЗЅ(ЪМѕ€ѓUс›(}К+ЈЅ1еР}кЉy“А7Ђ(‹vCзм-Vь> ЊcјоK;ћ˜TdЌ4є[\-їѕ!O…ЦВ`DwпCЅƒЙC TеиcoћнNЩMiЙГerv2нсаDыЧУљќ‘§IђдІ;0PEg~§9ьр!!„HŠ&Fyv}і нQIOp{љмЫ6пН>K2ЧoкГСМЌœЧЧCФЋЧ-ЛЇќ…!…їзЮOnЛёж™бY§'ошН+эХЃУCsцл’QJwlJ ,PalmііЖЯsž|68јl0ŠЛCэ„Щ§№] мЃУ6єї›ЛgчЌОИ+ољoXйC…цн”фІszДЗДtюe.ДіїijР2lса˜ыН ,‰№ѕ‹з_(….|~‡oые™ганЫˆп`X€“‘Ž‘“яpћЌSЉyХUPR}=%e@х *ЯЫЦы|пѓlmvЫ-gІ;EрфгЈ -s){Žgn›ОГо‚фџ§5ФЩP• *ВЌœŒэ=‘!Є~тeљйёл‡‡тR--Y B”}hbзeю4pёЅŠЕ‹E'‡uvВшѓ/,–1ыh3ЌКкš,] BCG_KєN$‡5„хЉ+зDWBˆcй@žРuРжfЯы4/‰›}=š›ФЅ;UPШуRLџ4їLЮѓн)Šтђ щŽMzЌfуb†.Š:љ~.ОшщŽаXAрвц K` n/ТГ‹ЙљфЮ†žўYџbKXIЃ2uuОяљШ6‘lm6н|&нШŒЃБуљОчЃЏGЃ$ЈДвœгЫЇEo:v5Г Œ&eлжУ7dЪxЏ†:2]8nр™ФџО)Н…<Ў­џГ> 7, rbсЃqj-%х^Ѕyf•ЩШF.QIџќїOLNPве )%%ЏйИYы›и _Б^w„_жж>вНЖ йŸSё§&s*Пq—`YЧ}-Кќяђ/j.хЮ0h€(Џo[$й&2ВMЄЬƒPвGыќкЮ_w"іoюZС Pwr{ч?3N­ѓЊ'гЅ9gтf,иrєяє|!DлиЁГw`фДЮЦR/"дk7ТэQTЏ_к…Э№iЊџщ№фЛў]"|zzUTшьƒEя7ЙФg%)Ј‰ЋAћziЛyiмСtД8ОЫc2њћЮ§Љр‹}П?‡(ЕШЖ‘ёу§ћm1і“гЏF*&€o%„ЪDzђБУФˆўэ5vѕї|ЕqK~гƒ"B,ЮmНU,г•І­ђО‡=4юф§чЏђr_>Л{,ІйшчПюБє-№:Ж}цмfy<иее7|йОЫsŠ„e2 T Х#зEпЮЩуПЇЈь!„е$8vtйЪiGs%„†~ћˆ„е]юэНїюkfЬђИжr\Мй&ђ|пѓ„зDзшыбh*3А”‰v§VFщЛмѕ№З|z`їM[}ІИ(ѕњ ІaйWЄŸЭrјmЯ€Ž&хyНzіІLмцœ*mЋѕ{в2ы2vеЩAЉЇЖn§cРјЋ/œЖ?мп[‘­ L]N—Ж,z> з :†яНTхБ~Ћ‘ыЏ\OK0ŸФжfGЖ‰лbьЪ;+уЦm1–юˆр{еАоvaЭ‹p•АJД@ @™Аš†Ќ;zTлPŽuё+'9щМ9Ељf‡)Ћкж‘щtьм8ї—.иmѓыŽVlmRR№"§ZТі лžv:пА; §FГ<gЩ4H)щuœj=KВKp Ќ2љœђ4нQ€ЬH“м‘О‚Љt№ xxsКˆђnьˆъгŒ2цђ )фqMЌќs*І›<ƒZєt+здИb‹(ћPX7Š2iфž”-ЊqЫЧћPTЧ‰ЛnНрѓљ/nэ‰ьjЂI ~X{|н`;wегВГcНOўњ —†ц&FF&ці.ƒџJћq]ќ(;)Ї_x&e*pЅоgŸ9wWт,яІцFя;+*№"№;WџI„ХBIеС _ЌŸPЫ 4)Jž}Э!$вЙnХ ]vюњ˜‹…5є–№Я§Е­XПќBJRpnjјщŽыя?ЛЛЎущАiч ЋoЉiџ№- аЕџЛ§$ПМjTnЦѕУ+~u1UСUњ[ОЮчWЅ™5iљѕчАƒO„„")~˜хйiєй7tG dT№—Ј§nЫvu#…М„їФš ‡‘ЌXuЇ}„у‡“ж…wзЌ( tпE!‚‡IWіИšыi ѓ3pјAОўЧ[оЙЗЏЖ!Ъ>0Сgєжћu;…mŽ\ш' IDATъbЈAˆф]ъю9ЛЌ'Ouж“ѓС y\ЧИрiГ?‚д­aГ_Ž]кМ|z˜№отЁ1ѕўŒbџёt1йЎЊЖђHƒIяMAВ?Їњ7(]'Dїш№Ћcњћн  к>{[сS7ЌьЁ*й7EA ”†„АЛŒя8bћуѕAЦџm=н3џ†чь@уqѓ2пАЛkBДMьиE—ђ„еЖˆjк?€‚ˆђn$,š9;ю|УјЧIžDђіо†Р?іо/f;YМ}Q?Ž6н!‚RоY>§xѓ5Зvˆў№žu(7Ф$ћШМiMЦЬщ'яьезel;ћЩру*ГU,‡AОoмЧmы–Фљ№VCЪ2ЬдZъ+ 6—dФщ3!ё'`ХJї сanфыиќ81nuXgCХ­7aЛФKѕЋFЫмcЪЧsKFмfК$y—ЉlЋѕЈ,!eТ4їыrj/Ї2%сŸ[Мл>ЬЯІЪ•~ѕvФ_г @Ю>^Ц.МЛdє&Ы?/>y~ћ/тП/<+Ё7>PzТь;|[Ў‹ЕMЗ>іoгœњ+lI–ч’хПv4’qZЃчmH}ŒуŸ\ ѕо=<ёИс`ЏЊ9YMSŸЉЧюП“mЌŸ&ИН|юхN›я^Ÿ%™у7эй`^VЮуу!теу–н**†oVШуОx“Ц?Э=“ѓ|w@ccХ№P˜ЪEл~ph§a1—|*’REWbЗœ=Нбђ/B!ЩœюЫnЮЗ5(ЪШ+%FZ%ЏRљ Mt?ођ5]ŸdьЃeьТД}‡оv]эj­Я".у—ЛаЈI™D“Х$ Т?Nмђxѓ_‹кRђјмYЏеРN­'žнЎJwУBз1Nк=0й–КљiЏJˆЩ …ЯяОвЕd+ь>Ѓ$7͘3ЈНЅЅF/sсcŸІ,вТ' ёœ­Я„Є…Œыо‚gRІч7ОџUгЭj/ЬРBHЕЮ)џ=T|/П:­ƒG c7=kBˆAЯ}Й|>ŸЯЯŠwaЛФgbгдлЙјHвэ—YЇVo/шќ“х№ё–oiќ %ЯяОв.л=А‰eиЈїЬгЏЫшŽTˆXгІџ@љdЏ!šV}'Лž›ŸљЭхtлFLsˆœАю|ZЎ Lє6чюБЅЃ†'ЖœбVW–‘~ЫЪЩјбоBъ'^ж‘Ÿ П}x(ў!евR1йЋяSšsfщXЯЖЖ&хѓАLэ:іПњr.о'р=Iiqaqi Ўj$АрГфзЫЏ|О4Ч?Й йŸCQœйyяп”5 Л‡ ­“[ќЉжСњgЬmУѓonнnќ=я˜щъжАЅкў1 ш" ‹п6<ћ4у\DЭ–оUўeM@ЛŠ ЄЪ+™rВПžбm3ыьСжUgKx&eJ_Ы‰i5`ѕоёu„tЗ376БlтuІўД§ЋњY*nЁЋйȘa…‹ЂNО_љ(zК#4VИ4ЄЙтXЂь!ЮцeпћЯ љхWБ’wЉЛІўyЙјГЏ+M[х;|{hмЩћЯ_ххО|vїXL?ВбЯнуREФ * шИЏЃяё"КУVIцЎБНЦž*$eЏNЭўЙY=ŠЂъwМќZсЇююЄ‡%„№YђыхїЙљвš–~ћ^јU{ўћ‰йLГ^ѓўї`^•ЌОѓБ@Yhк˜леїt2ЋЃmк7РaоЖl!iЉ C€6ЊuУаmфЛряњ"а0r‰JњчПЧLNPве …†№ЭuїщgГ~л3 ЃIyљ НzіІLмцœ*m‹ВЕS!ЫёOўp[2‡’ЖЉ%Но^_8#ЙйЊyu7f‡lдžx*нЯ,cыпб1н.ќЁ %Н О0 @žt›іщќц№С[/‹ѓяэлњаДƒ5–КЈ™oЎЛЏcчЦЙПtСю2ѓ"БX$ШzїфЖэЖнэ№FQkщužЕlLoSv^ЯЮЏ,ЅТчѓхН’‹…ЌN п3WЊьЭыR‹іM 4DE/ЪіiaЌgкІ_€}~Ъs40я†дD‚5жпъуeь~EK\Oј;Xйv_Ц YмX[Š=˜Xљ%ц”U>,ЏM)Є'LшZŸЂЈzM~œИ+M яoЄѓОю>ГМю~зY‹FЗ7”ЂiЄ–§˜ы}ђзЙ4471221ЗwќWкытGйaњU­ЅIЕП%МЩѕ™§Lкz-ї›‹д}Yб™_;јDH!’т‡‰QžFŸ}ѓ;дk5ШѕХژ„ѓщІУ†йs9=§жБ Гšєn"лКx…<Ў1хДіFж&ж"XB„B4tик‚мb11а „”НxЋc\щM€oPгњ/юбд™_Г ]vюњ˜‹=цК0оo=й1Ь{™љЬџ=ђцSvM §у€ыV_K)ю‘@aОЖюО–…GшZPy†ЊˆЁзШ;jsЯœ gFЅфЖnаР=:ќъ˜ў~wТˆЖЯоVјуд +{|Яб4ъyХ%–-™=cPи'Eb’”8зІЃїЈѕ›‡rdž{аk7ТэQTЏ_к…Э№iЊЛзZ , „ЂлмЧ){эЖs]‚:š•e_ЗхeЇIŽuОќ:БfУсc$+VнiсXБЈ$uывї%ыњ7ЋKiДўœb‹ќРч$ћsЈђ/“пёE‹ y\ЧИрЅЏvђЇmжetмйбqђ;‚–ЙЧ”=Žч–ŒЙЭtIђ/гяўP„Ёkџѓ”Э?O‘Et_8’ŽmŸy{^X7=иu‰щОщеЙЙЕ‰> ьЈ-d)BˆІYŸхБнЎFx4ВАrќiю“bzk —РW8тN6йhq—ХО$„нe|џG ЗWЖ"+yrѓu7‡ЯW„:x&ёk„$ШHхZrю№}S“Ц?Э=“ѓ|w@ccљмёЩ<ј*ДЬКŒ]uђќІQM_јc@kы_ŽрŽU}aT`šКOоѕїфЖЊVZ ѓ*ўІ(ъKЯ­ЩШ2ЭНУК _РуЮ)Џ…У`‰X,!„QУk@ђМ­§ЯзP~ж%Xъ}PkПщ j9ЕКбгаoф8Ы#pн€œ! ,#"Ь#,#ТПљеw5о‚jл­?,ц’aТjрdœqьvс€2X ЮТЋ%sе˜^Ћ=œZO:<Л]•т…<ЎЃДkЦј#?~ЗЁ(ŠЏ>‰‰ZIiMi”цœ‰›Б`ЫбПгѓE„mc‡Юо‘гF8ЧE†eˆ{Ÿ’с.ыД%ŒнєXЌAДь‡„ЖЛ6iћэзAюПћ"=ћ­N/§ђ.@yiZѕьznV|ІћЬЊбk5А‡SШ‰чЌFЭŠwaЫє(ЅiЋ|‡яa;yџљЋМм—Яю‹щG6њљЏ{ќ=ПY|%™wQх†XЪKУА{иаёуJ aZњnрiNтi?ю гМ}РДхƒjб(Ќ SiКmf=јсІђЉ%PkiZѕькkF|fтkљнЏ вЯf9ќЖg@G“ђщKzѕь;L™ИЭ9!U0кі›Й(&јJ2яЂЪ ,%ѓСэЋІЅпО~х_ГlћХœяCW\ „ЊЏ #XD т‘ждБsум_К`ЗЭЏ?:ZБЕIIС‹єk л3l{кщ|зŽ›“•}EPfH`M y\ЧИрtыP,-ћ1;ж—ќ1?ШeLV‘„ЂI5tі Z?ЪN%ціђИџф64оMq‰ЯТћ‰кB ЂцЯВЎю RаВ№]ыJwпH­К(‚ДРдMј@ѓ№@єЛ-ZЖГфЇ‰-ѕЫЛI}MЧНZOœwaсШа ^Л9LBсѓќ~XеrщцI бœKˆВL№Нѕ~нNa›уЃКj"y—К{Ю.ыЩSѕdtBзжџYŸ…–9Бexњ($јъ$ЅХE%књzZhгЋжшJ`‰ђn$,š9;ю|УјЧIž%OіMЕёrvЉ–yЧ!Ў™ч§vБkпЬEЏъЊ_ў‚7чЧДЕNMѕe’ХRX№):ю‹ХШЕM™њЂфбзB"ыB)О<=т˜ув›йЏВo.s<9ѓВШОџ “3›џ)ЌxAс?›Юš ъoїeЈ…„ЯnёќмXOƒќН9žљ,лњ5|}эЉюи@†„йwјЖ\k›n}ьпІ=8ѕWи’,Я%Ыэh$ух л>ѓюГ<ьъъОlпх‡9EТВякЇТ‚/фqЉ*8ўЩЩўŠЂИМТ/ПTM ,§nЫv-коЄтГІ!ЧˆY&‘CƒЉЅkbmШдВщ3ДСХM—јBˆ„yгЅњCћиЈD99cYД`?ŒпwЏ@XєяО™ЌЧЎdg_;љЄn#mКcY’”I4YLТ`ВФЗ<ю:kбші†ђъЎЇeжeьЊ“ч7jњњР:X[џrфЛ@Š ^ЏѓЌecz{ ˜Вѓzv>ŸŸяТv‰Ятѓљ˜„ЅЮ”c­4ЋEјЪў7ЕА01oъ{ЉO\X aZyк]нt!_B$ќK›ЏкzYЁbдJЌу—ЧtЗ6kа{ГХЌјШВHЧfC.vœќkKКcљkкєи–’ћ]Л†~#РY›ўw33яХўо2JЩ7xMЊЭшј-сMЎЯь?`вжkЙ"љGMHŠџїvЊ_>]­­OдоG‚/МЄЧЕVКщlЪ‘eЦOйnКрBІ§чЛЦ˜ДХ—7ЖЁ–Y-цl:—лЫѕвцлЭƒbЬф•tPrF]"їІDV>юwsР*Уљ)HічTчMцTVщu‰Я’нє"љ•ŸS@№я1єyGmю™saуЬЈf^}JYvBwІ$dх™-]Ќu ROФMœОЋ§ЎЁхHIO9т}ћрШ}+?n36‹aрйзjz|ъЛБ Е4LКЕОњдƒВ„ћmFt3QŽйbjЄЧUpс[‰№uN‘О™ НЂЊ3№Lт+МХ–ЌКјбМЖY—бqgGЃщЇ”<кsгmљхпн)!ФД™їŒЃо„М§\зн?жŠ›} ЃЬ6№рйХ.uљЩsќ†.Оœoю>~HБ„юШЋQŽЄЫЂ•Ж‡ї PјцсбНщ†Ž–,BaPƒ:?нАlMFЇ ЮЎqT‹(ћаФЎ (ЪмiртKљbB!E'‡uvВˆцШдWн€ *:юыш{яЬjI˜qхЅMЏжьS*LmЦыѓћ#xY/юяp=Ж$хMњІˆЬIŸd_˜b|љС;ZТ§šXх-*;˜MnБ`Tй"7ŽY}зhaPьяяЛРъЗюђxg†ы№vњє  . yо†дЧ8ўЩr;Ђрів)<˘›Oюlшљрѕїп)пЧЙЕКје" C\&–RѕџЫ+"VГР@K]ѓŽ=,ГЏ>-ЬИќВёŸІњ,у6ЕаЅ;№jhZBXгФТ)еŸXЇУ’ќ% ‰ @­щЕиУЉѕЄУГлељoc!ы(Зu%ЏйИYы›и _Б^w„_жж>ђ:HKЏѓЌecШk32r\Я†КE _N ЃгаХ<уа?yО\ђTLхЏ~†Vm!„h05!D"‹% ! Щћ”—RQŽ%„ ’DOЗrMЙМТjŸсP\оГƘ5ы5щРгRК#Је4­њNv=7+>SaНšX кзKлЭKHбтј.iЙгєК›bE5BПкCЫКџФџ>bёё4ОАєmЮоъ їFКеГA,Nлzi;ЇОц^лЙѕю—*X 7е3…%OіEєjZЂЈzMz†юЩ,ЉЙ7Ї(яЦŽЈ>ЭЈђЬѓЏФјЕБ (ЪИё“=GDIHјчўкVЌЏEЉ˜VЩчѓљќм[ЖёгЎ!l—ј,>ŸЯЯ™yqО/bж•bšcЈхtлЬ:{p„uе)јžI™rћШе$8vtйЪiGs%„†~ћˆ„е]юэНїЕMшWоХ/qљOoжЅ№ЮЌЎ4ЭњЌNњГбЙp7Гz–-~šuЕiєбИnzеžЈе(hŽoСŒŽѕЭœgчwoK1Ъ”ь'хшBjщП…Ђe9‡~ѕуqл‘Ы‘ЧWммзн(яєДоС3vщWУ ‹’gD_kщ|c7!„nЭטp,ЭзІ№и$nјЮujx(–№юš%AсЛЊn=пЖH+2бгTѓhхF††‹$š,-фЬ@§Ђ№юQЪKƒъОїR•Чњ­FЎП6r=}Р‡аХO§1єšј-<фЗ№У­žI™ž_МџКЧМS™ѓ*6ЮW\„вA фюПŒы.ЧˆY(‘CƒЉЅkbmЈYг єЛ-леђЪъ8§љїm‰Ж“A ;tД g…ЪЗЗ=н3џ†чь@уqUЗŠsOЬXІЖЏ‡Б)$Є йŸCЂmdieж х х л)_!@P~H`œUЭhс+ћs{ЖА(%DЋѕЄc‡[АЮJГM–!„ˆ^№цЌбZеЁњ\GP0 џмтніa;lДЯTн\ђp}tк/kzšVLДbЛФполhџдDЛЈpCЬО€oƒШз Qfќ”эІ .dњзОkь€I[|wZKЙIёН!!'кЏJг“xшWt%vЫйг-џ"„’ЬщОьпC,JS6юб”hЇ]х™ VЃ€ёі‘юБŽа@‹žh BЩуэС§УїЄi6ё[ДkЉЏЕі—_ЂrGЈ]ЈЕн!|;• ,+СЗŽмЗђу6cГž}­ІЧЇ FHГIбЕХўуRњnZ?ЬAЕ•AЯ}Й|B*šЏW4м>8vNгmXН†2­|"{Mˆm;ЁЕўџшѓіЦ’?/uођя!2џ‡q Ў{ЫПІЄтP›№G~\u‘Ђ(>_5J1Њt№@ ЌщQoтМ ДЉOQ”q#їщB_јши9MЗNя3,‹TкоƒBс›‡GїІ:ZJѓ9Ќје‘а_/ійЖf8]йЋК"Т'”<Л§šj\Џ†џT ““GПžqьe™тУ€їDЙom~hgaбЎ‡ѕЛЬ<ДLWќ@M!ЅжЗoЌq"#чљ­хNgІЬКєFБ|”б`ŘАbTй"7ŽY}зhaPьяЭYuОпуђ )фq)Šтј'—џ“бЯsім?кжЌт9ЮБJњ]%ЯˆОцщ\WЁ‡U U›ЏыџА3ѕШ/&Œў‰0є;NнЙА—ieћ@Q$„ЁЉAˆ††Т>RќjГ#юd“ЦwКуz–Ъ|ЅkѕЩ‡@!:NsЏЇH4™Ђ7љ"БЖБЕЁ‚kщџА3ѕ‡*5 ;GьI‰ЈВХ3Љ†9Ђ5nЄЯG]TWEXBIцT^ЙФgU~ф њGЌejОЎ^XУvхМ`Ў!~йOQтo‹JumВб „ѓшŽ”†:Ѕ_hЋ%Уя…п>ƒЁЩdђИџdЖ‘‡ДdбаХ@с)ўˆЕrІЅЄ'яјљќкЕтфˆ;ц–нq€2Q›єKэzCЏЅ <НL?=“к4q]Z нС€|є>E†eˆ{ŸЂ;9@KН•Нz§NLкЦ­ћи>9їH@wD ˜y пFКuмХw+ЛКя-8jKšЛМ(ўˆЕЕ–њшн}…ъСЋVќ oД-!EЄЬѕ˜5щаЪ~І™‰лЖЖТB€ZK”Бyьь'ƒ7ЊМ`9 ђ}у>n[ЗЄ Ž<Ў ФкMЅ—Њt№ ˜ЅжtZ…Ц{;Џ+ЧЬж=F2rйИfH`}ƒК"–ЗJPF%ЏђŽ­ћ{DЏ}cN+ЖW'Ј†wO}IЅƒЙТ'_ъMгФ-jп(КУPqЕІ--‹јИU„9ЙЇіЇ%ь}tцЉЎKпFў‹{{4WpЫQ€кJЪjDIою˜lKнќДW%ФфПOД„ЯяОвЕdЫщ’PёGЌѕ”тLћЊ?€Pщ&”*<ШЎр? ОjФчЋ2 К4aŸпНэњЯі^бЁЎ.ƒюˆjЛйжm1ЭЁwр“}клВХЏœп9rbЫGлъЊЫ€ЂRoMєУˆЈ$АTDBƒ0!BР€OcZ XН—LŸв=,ЃˆлЎ[РД§г},хvEЈј#€zТХ€*cvњЋџУШз'іЇ%L=ўTзХЇ‘Ÿ_У-tЕ‘ЩPАъГJ•q~CЗ‘я‚CО дљˆ ŽРPu,3Џб&^Ѓ…/sOHO?В?Т{;Ъ`(–2ІЋ@эI„љЏпж11dс“+i`ИTК*Ю~'ВЩFcПнqHЉ„ЧнЬх•а†”$зюŽuп^ZKелю>цюUО„юdDХNЅtФьoMŽИг‡МˆžgLъЙнŒZK™lї^TиrX‡ѕGћ"{ Ž$‚д!],)ѓV_Ь+#„мn№Щ"КSN.•rФlВбPп‹v5™EQђ+-Г>›l4!DB(J,Ћ}Vcє-/Z(ы(Mєфс~З Ѓzм8hBё_mŸ|ђ—ЁЬфН >>ПЫюЭ98нЩ+СSЛЦ§ђэч’МњeШчДљФyBЧ™№й—ЭЈ–Ё0OЎ?z2$нOqх–шъœ GšЙ\й[пМ({КчЙш_8Ы:jЪ-:јЌЊЋПaB–Ђ[[„+ќ_ёGP3Х—fMНьy(-$ЭšшН`wTSКCRf.•"ЬЋј[E.кeю›юхЅЁFПyе$ХчЋРЄ§§N–љ|љM|ћ–qјТхВ`?7qїO-Дтў9!Б є:ЛиТ@ЙІм–ЅяHyаЃы•fl!uЭGХvНт|yg:ЇyшюИ`П$OmBJxмЫк›_ўы5!›Л/ 81ЄNЭЗјЪv.ЩчДЉљ{ЄЅ' ќˆ;ц–спT‰9ЇR ШџY’т7шŽуkih3чї‹F№†НИџЃыЉ KR”э]_œuэЭЦ•i5лЄЇЕрjжЧЋ™э]т]Д]т‡žўTіJ ЉъiЃLzŸ"У2ФНOб‡œ0[ЖmRЇќьgдmоphK5љ`ЊбkїлPГЛBгЬkбŽ Œ‹ў.І;*Ѕ…сR)j~бВ€ј2‰fГРf.–š bжУВxЭг2вRЙђ? ‘ˆ%B*RXBƒЁ\гФф„aик’1|ЗYŸЗBf7Q8ѕдЃnЛЈэо?в4q лy3ŒЮ€”† @Н`HCЋŽƒBLeЦ\{O(Ї#о^>їrЇЭwЏЯ’Ьё›іl0/+чёёёъqЫфuDЈMРP;%/я4№hkfжЖЛ9БщянŒв5lЦѕЕЫЛљLNщЄ’ {б IDATмєbNі––ЮНЬ…жў>M X†-|ѓoЩыˆP›  zАоО@лД ћйщ9Я/{&yМыР]О џоСiF­­Xђ9"ЫЪЩјбоBъ'^ж‘Ÿ П}x(ў!евRNG€к ,ЕЃу2нѕяСMZG•NJ\dЛkcnыОD4"6Є™МXЭЦХ +\uВ bƒшщŽаXAрвцH`€ь”цœY:жГ­­ EQE™кuь3~ѕхм2КуЙЃ­ˆ;šШ гв'юŠO\ХЃоѓф~D #—ЈЄЊDР JК$їУ@­RšЖЪwјчшИ“[Б$яђВn[>СЯŸœJmЋEwxJImв/є$ААј@•ђИџфїX–ЮУц­ћѓgЫЂ ‹Ц„,ћпЃ7šѕкјЯ^Лh ‹BDy7ЭœwОaќу$OњТщI„OOЏŠ }№Бш§&—ј,%ЛœЄŸЭrјmЯ€Ž& B!zѕь;L™ИЭ9!U и–J €zЅ_А„ЄРv‰Ятѓљќќ—™ч;№"f]ЩНЕ0xcнˆ9Яo-w:3eжЅ7„BŠ’gD_s‰tЎKsШ№Š/FЎ1ŠО“ЧOљв1:vnœћKьў'3_ ‹E‚ќЇwOnлžaлнNGБ‘ЈФpЈк–€*bhhБHЂЩвЊу4їzŠD“Љ!z“/k[–фЅпmйЎnЄ—@sЄ№5L]N—Ж,ežф e?fЧњ’?цЙŒЩ*’B4Љ†Ю^AытGй)x§ J €zA ЄPьЯЁб6ВД2kаrађ…эt ƒ0хЋ uкF>а5zT—^ЧЩЁжѓЗ$ЛwБаQоЌŒ–…GшZPКУP•сP'јI)А]т3sўY:tєšSŽmŽt7е,пnрyшeњщ™дІ‰ывJш ОCбљ™sw%ЮђnjnDUрђ щŽJ…<ЎЕТCUнсPY˜Ѕ`F„ЈO5Pх8mЌFуэ#џмc= !ЅEЏ ˜Ц&КкЦ­ћиЮпіH0О‘6нA~’rŒ!€rЩЋGPvЅ9Ї—O‹оtьjfA!LЪЖ­‡oШ”ё^ uеŸ,e+1)Ÿіqig}-_k25k8Аj’Оѓš4ЯTЮсЊ!ђ…5;JXЩ[ЅƒZа•РњЈOYЩ“}SGFmМœ]ЊeоqШŸkцyП]ьк7sбпЋКъ—ПрЭљ1эC­ЯOnŠeJtaZљDіšл8vBkЭ”ЙГ&ZйЯ43qлCУжVјйј*Ѕжљ&ДПюDь;омЕ‚AЁюфіЮ?~fœZчUЏкjyнЦђИЖўЯњ,мА$Ш‰-—#ШL!ЯлкџМЄњ?ИWлT†KЅ3;*<а‚І%„ѕ)+О<=т˜ув›йЏВo.s<9ѓВШОџ “3›џy?Г№ŸMgMѕЗЧ2­4LzL§6zЦБ—Z­Bc‡Нз•cfы#Йl\ГђЯB—Ђ(ŽrAВ?SЉ>MzђБУФˆўэ5vѕї|ЕqK~гƒ"B,ЮmНUЌиHєкp{еы—i{џ-+іа_EЏеРN!'žѓЋЪŠwQp"IU† @На4ыЃ>eLCŽГP"! †SKзФкЉeгghƒ•›.ёЛїЄўхM—ъnЃрЮ@!žI™žя0є;Nнй‘Bˆ[дО;Q5<™ЯRЄ ]П•QњЎw=ќ-Ÿи§@гVŸ).JНў‚iXGSБ‘0tlћЬ;иѓТКщСЎKL№јKЏЮЭ­MєY ŽуK4­њNvэ5#>3q„5хp”oИT}х]ѕјU(xPхЈХjОВ?Зg ‹RBДZO:vИ‹0ЌМэ–lКџЃ—!џвцЋvбVЪ-Рїc5 Y1vєЈЖЁыуWNrвysjѓЭSVЕ­CC8Zf]ЦЎ:9(ѕtТж­ ѕ…гі‡ћ{аЩgшЖ™uір‡›>јДUq”jИT=нЃъёƒb(GBQfќ”эІ .dцd^Zl?iЫуRB4ЭzŒh‘Вщ\nY^ђцлЭƒz˜)Yір;hP'юКѕ‚ЯчПИЕ'ВЋ‰&1јaэёuƒэш+ЂЁпШ#pжІџнЬЬ{Ёtй+хƒсU )ў7>млЉ>EQХiыЕї‘ цgŠ Ў­ыюPЂЈzюcV_х+г"YхH`Н}pфОU?n36‹нФГЏUкёдw„ “nAmn9ѕрЬ–ћm‚К™(GЌ2ђQЋWqб­-3чь~№Ж†z„UрЬљN@€x&e&y"љ"%%.j-Uў‡ю@ОEe№*П+ЫNтЮЬђX|цqЮЋь‡GgДК>;|W–Јњ3EOЖ щЗьпцOsžоиф[ѓЫаmOjx"!DxoNЗў ЎwЌ‹ђX-ЈД=М=жЯ>К7наб’E! ЊsPчis—­Щэ4Ѕ3Ѕ6э\п+Hіч|ј“ЩИъдыrО‚С™ѓ0€ 4Љ[УfПЛ6Дyљœ+сНХCcъ§;ЄІіUВНБџфЂ-IiqQ‰ЖОž–RоI?bЕpИTz!žJЏдJэˆЙщЖќђяюƒbкЬ{ЦQяšŸ™О#юAи+#œй Bъv{ХyъЮєсз1.8%Щг€BзqYћІ—џКIЇћВO БPаr9šX…<.Ч?™BH2‡"ЄЫš„Qї&Кq~jзwŸИњїŠ7#ЂпnИЫу{§Џ>=Ъл%>EI3ї дpц|' ( QЦцБГŸ >оЈ2їТrфћЦ}мЖnIAœjїjвмсSkЉяMї­МSU6_3bRŽУїŽ˜2!D˜qхЅЭ/­й_NБ ГЎНЖљХбр§3ь–=­_'f ‰УЧOeЖ_явYбg>M Ќšњ” H‰ЈўФ:–<р/QHLŠESЁAPy8sО”ЧЛ‡'7ьХбўo“ІЉ‹OƒА„ћя‚8 ћ ПЪє‚JЩŠ—ј,%ЫЫ(УˆЉаpBƒС—‰%„0ЊœН5žЎ ‘ˆЫŸI!DRўjХ†ћjUW @e0й–КљiЏJЊn>ПћJз’­Ш™zg-глcР”зГѓљќЌxЖK|ŸЯWОtŒ2Œ˜ !DЇЁ‹yЦЁђФЄb.?+о…]у3­M3x7јяыK oЫ4ыlЃSўP\&&„IIq)M„‘Р ƒnлˆiёжOЫ”‰оцм=Жtд№Ф–3"къ*0 MЊЭшј-сMЎЯь?`вжkЙ5зlVЪ0b*4\„-ыў;ќ§ћˆХЧгјТвЗ9wxЋ7мcщVЯiйізќмяПЎМјЌИфmіпыџэ\ыпћлjЂQЧH#уФ?9BaЮХя „Сдеф•(ВK!XД`Z XНw|н!нэЬM,›xFЉ?mџЊ~–Š/ѕТаkфЕ9qљOoжЅ”gЭаG”eФTdИ!šf}V'§йш\И›Y=Ы?ЭКк4њh\ЗКеŸЩДИqяDvТАVVІ–-‡ьдO\лЯB“Ђч<у/ŸдБfV?Ўвўй՘QVЧэЯIzSЛ ?]ЄИя„СЏV‹ фG%хmJЋRЮџ %ŒJЕ` ЄGQb>Ÿoе ŠџПЦй V;O9\і|-Œ€Њ Љˆ;(exПІ( ЙTEЈЁВ7"ЈuŸH(-Lƒ‚oƒ3ч;a ж)/шўЅЮ^$А@Щ!J ЌЯ=л;ЖƒeоnьЎПїNьfMQ”YЫ~ .х+ВOdэ&ц_‰ёkcAQ”qу'z^Jw@в(Э9§зЈž­Ќ)ŠЂ(ЇžAбIКуR%Ѕ9g–ŽѕlkkBQEQІvћŒ_}9ЗŒюИдGђiЎаЖYŠ?"Ј$А>MВ|іЙі›япŠfEї›ђbј‘ŒьׯӘыBbя evj-UўчЃЏBЗцŠcќv,-;ыŸv‡Тч\{KwH_Tњh`ДюФЅƒ3ћxOоЙMИлЋЙ?ѓ^Щ4ёЉЮgNiк*пс{иCуNоў*/їхГЛЧbњ‘~ўыЫ.…YуЊЯ|I“1dПbЛЇ(ўˆ Nа…№гJ^о/h0И­™™FwsrППw3J—P\_Л[Ÿ I –lRй№ыКЗJ$C§?Фдqњѓялm&ƒvшhAЮ •“ ѕфc‡‰ЛњЗ7aHќ=чКnЩџuЫ ˆWлКlНUьеC_fЧQч3G~6ЫсЗ=:š”GЊWЯОSР”‰лœRЃmЕdsoРЉФЈ|ШЄЙќBЁo]Š?"@-NШHКcP-1XŸІmк„§ьєœч—=“<оuр._ярЮ4ЃжV2Ъ^IЋЧЅ>dуЂHБ1аD“ЅУd"zС›ГF;hB=Књ"эњ­ŒвwИ›џ.яЮн4Эє™тЂды/˜†u4ŒŠž9:vnœћKьў'3_ ‹E‚ќЇwOnлžaлнN‡юиˆЪŽ*€*У ЌOгq ™юъ3ИIkѓў%.К3™k3!_‡у1auH3'А <“ј3DФяžž_9}—сЄЎВ›ЫЃф$Хї6†„œhП*aLK]Кƒљ2VгcGъa*аБю1~х$'7Ї6пь0eUл: FEЯ-ћ1;ж—ќ1?ШeLV‘„ЂI5tі Z?ЪNFгЏО‹ŠŽ*€*c№љЈF 82XЌDˆфеnЯЎG"ЏntSўщHRЃ(ЊЦSQRtmБџИ”О›V sа­­Ыdrк5=sЄ$Ћ1ЌЎ6*Ј+Šѓљ˜  ъ vОЁ}ъК># *jнњї*фq­ЙМBњ”фмИјLЛ^]ХЏGS<ёЋ#ЁП^ьГmЭpЯ^б~ке?s$Тз/^+]4UUPuЪpЉB0\Њ ,UPЕцŽЁi“Ч;Ьm­ Х€фэЭеU{юŸ mkVёЭ;Ч>’]Кк@UЯQіЁ‰]P”ЙгРХ—ђЫЛ7жqиIe(5ЅЊЃ ЊЏчmјa-NŽrнQ)- €zA ЌO+фy[ћŸЏaЦ‡KpЕMдZJЪНJѓЬз:UЉЙSЛє>˜Їjпјзœ6Dъ3GЪЇЉЩ™#ИНt Я.ццaЗќ=Q!ыcзŽhђЉђgВ§б#еЧА:UPњн­ лYђгФ€–њхS y\Ч8šЃRZ.ѕBGKRќяŽ wœќ†ЛюƒЂџёKУЯN`(фqу‚S’< $!DЏеРN­'žнЎJёэOМхЩЉМ!Є4чLмŒ[Žўž/"„h;tіŒœ6Тйk–”взœ6gNJ^=(В pГж7БОbНюП ­­}j~ЎќАF*<ЊP{Hщ{&ŸАёі-ѓƒgЦЭѕ5=UУuд‡WeЙŸ№{м†пZ—нJX4svмљ†ёЅЛєњЎ#.џЫљтЄрљGНг4э0bёІ?Н-•Ёc€’bдq№:НъЯЄLOКТQv.ѕЂј%„eй Aм™Y‹Я<Юy•§№шŒVзg‡яЪ)</вДъ;йѕмЌјLc+M[х;|{hмЩћЯ_ххО|vїXL?ВбЯнcЌЅSNЪpк?sX кзKлЭKHбтј.iЙгєК›bКSщQ€кBєdЧ0яХ’џ=zёєіVп‚x^іљ—Hо=и2Ъ+ќЩ„јёэиХЩ3ЂЏ9„D:зUШЧh­ЧјэXZvж? ь…ЯЙіVЪу@эЂ№VЩЃ17н–ЏўнноЅЅkкЬ{Цб›{‡r їs›ћЏY6Дu=Š2rš˜\(!тќфйНь(ЪЈIп˜›Хtoжm3ыьСжUЇЉx&e*p"˜ §l–Уoa:64ЉЃЅЁЉ­WЯОSР”‰i'RŠŠО§Ї Qё3‡е$8vtйЪiGs%„†~ћˆ„е]юэНїŽюJў*=ЊPKSЗ.Mq_ќgџfF:u-к­?яkљ™IЂQЮё?Мћэjєзси~ж,Bˆ~ЗeЛ mo"э,§я<ЂŽгŸпо2ДЅ‰Ўu‡Žф­вѕых №–0уЪK›^­йп‰2ЕЏЯяŒрeНИПУѕTи’”7щ›"62']|’}aŠёхяЉRаБsум_К`ї?™љ‘X,ф?Н{rлі люv( ŸЁкgŽе1|яЅ}L*о'4є[\-їѕ!…&ЋSэQ€кЁфЩЭз мєЄzВИшжЪ€Ю§Зй.й6Љ“с7^~ї5Y:L!ЂМ9kДƒ&tnOP‹`яЙ/ю0€nŠ_BШ`0Фeb !U›yqyEDТjшbЉЋcоБ‡eіеЇ…—_6тгTŸeмfР ŸЊсЌоДьЧьXя“П>ШЅЁЙ‰‘‘‰ЙНЫрПв~\?Ъѕ!р3pцШFTƒA$bБtØоок™т4{~ї+&&<)Ёёˆ’т{FьhБ*!ЌeэМтƒЯЉг*а‡Йo{ђ“ЂRЬЯЈЭ^Ф]ЇЁ‹yЦЁђ|Й&хЭМ*ы[3Дъh3!DƒЉA!БX,‘HaHоЇМLК5lіЫБkC›Г!„я-SяЯи!іЌЯМ*%7%%7%ыMVJnJА  Є %7хЃч8;ВЕйlлбиббШ‘ЃЯq4vЌqoZЁk=BЋn’_ч№…н ЊdJ}>VћЖг†(рЬQп6†х#–’›’U”U>t)Й)%ДJfkГЫGЬбИbєЪ‡TЪРTzT V`5p2Ю8vЛp@ъЫ— u]ц­Œє4v` ѕі 7р-щeњѕ-)Оћˆ’Ђk‹§ЧЅєнД~˜ƒЎZ]л€ŒМНЕ%сюрДЪM.ёYRg0"Нƒд„ТXZж§'vˆљ}ФbжЂ‘]­ЕљЮlйpaЄ[}*‹гЖ^кЮУЉ^ў&џюмzW №ЩbЂŒЭcg?|МQх-3ЫaяїqлК%qЊ\rvrєЕшфьфЪcџFўlЛђ†™B­ЅЪ›І•пW RђRтSуЫяЗ],\"лFКXИT "ћP„o№†лЅЖНТуVNшdЈAHбЩaо“Єє•Ї ‘тЬЉRe +г‚хЯ?œq8%7Ѕ|иумОмSY…Gj mћ!Ёэ<Т&mп2Ї_cЦу# CЗлЦЎn№йзАь‡Ўп]аџ—О37šсђЕK ПѓˆЦNўѕbŸэ;†л}сsЈЕє=6ЇОждb*~х(…'АˆІYŸеI‚ссns2Љ–Qї€шЃ“Кщ[ќбЕЭё§_PЧњъu?Њ-uЎLС=Шо=<ёИс`/Žі›4M]|„%мФбЏс‘m#ЅœЭQ™в*ПЭ&UюЋ? ИНt Я.ццaЗќ=Q!ыcзŽh‚ЉѕJэыO"3ЇМ_žstмЩ-Ž ŒX’wyYЗ-ŸрчON%ЖUђѕn_?†^ж^c[Œ§дdДЊикьђL_е|_y2ыЫЉєЈ@mСДєнРгœ4Фг~мІyћ€iЫ7д:C ’§9дћчИФg%}аFžЁчП™џгPППvml2­i@2!„d%ХT—я;тРЋkїoьnkV1ЛѕџьнyXTхРёwиTр И' Ђ˜Й/ЙašKbЙ/˜Ѕ’eПTTД,Е,Ь4W\qsЭЧL35ZЌ\Q3%м7@…aцїИЃ‚ЮЬНУ|?OOsЙ3їЬЫ8sчмѓžЗъgZ‘ЗT<рібУ‡MпrєJ–p*]Џл˜YSоЎVЄрхz™ бƒ;лxЩЛїœЙ-Жја gпз†GЮkђЌ=рЄвjЉЊ}Œє§џk№A™uћТ_МwE0уШјІНЕ‘NoјLiЄћKiђ%uGЇZпєўs{W/•ШJњін^[^]БЄгЩ.5 [–$ДкBqц „—"mGзZпєјc{7Џ{gwЦЋk_oДnјсuЏ=&І УGYѕЈљVxоКcŸ5}ѓ`џшШОѕJˆ+,ичлfліЎъєєЛJ’tяЫNЦ_aѕпОѕѕЮqЦIAьЉ­^ˆ*xжШF АœЁ>žKНQуќЃћ[єsќѕŒl§эЫЧwЬиocЭёЃъYЌJ]ОA‰јЕšј ЃŽо=fOЏљm№ E‡S,\Œ†ќSТЫFXљzy УGYѕЈ`Ѕtч%Wщгух2EŠ”mмЇ•+$ъ ў8™зџНхнКAйВк•жљwzбM]МzЇоUДGЮ?УЃ,Žж8”ы>У‡Х6}ЕRiOЏВUЧюyaмІy]ЫZnтЅКjшЌAйsЧ}н(„PЙ6Еn~гNЄгуTБ№ВжО^ž2Ц№Qж=Њ€ТۘёяКaЏМ IR‰ЊЏ _Ÿ!DцйяFЕ{Б„$I%ЊЖБ>ё™—™”ŸК|}Џ–Fџq9]ЏП}aєвS%ъ{чЃќъ‘Ч)WЧѓЬ†] :щ Mві7‹ aИ}jkє)ЉfйBT~…S-Ъ4ѓ˜ #fЌ</›чЧљЧ2`mєgЃпj;Гє„ХŸt№жХ­љxФЏ};ЏЬЧѕ†zЮбL|е#љЇqЏ‡&Я>Вј•ЂrGњŒŒiG…§oЪЦУWВ„SщњнFOŸмЗzБќ\Ю}pj˜!96тэaqЁ;WJBЁOŠъиySуo–ŽiцY˜оѕ˜WPŒ`-d.hРГ0ъЎ]Ns-хЅІ ’Њ ЊQиКЇЩQШKwzХŒИ–гuЋVLб $j_ˆК8o‡TЃQЈTvŽ.^>Х­јЌ_хZkРќ=ц?яуиyŒљѓоmя˜ПBžїQ–R˜.6Jњ‹[‡ПR^’Jзщ9ѕЗ9­Џв~ьлАяi2Gљež=|­|sџЫЋдеGЮэvш­ъeМJПиуЗŽ‘aVйЄzyЭŠVзБб-0†‰]O#-”о4%ЏBаNAф9\"яcИ"Ѕl™WџIѓэнмЧеЫЗпœ(—w{…8ЎXвIюЈ |Ekѕl]ЇішmŸе/rocЊ&ЈFЄ|1Y?F @ъђu<vMэоZК—СК§Яі“хzUsWЋм;—ћ4њtК&А?љIЕфИБI `͘BЈlъђ JФЏеФg…pєю1{zЭoƒ-:œb;0(œ}ЙЮcšэ›Ј—;’Т„Q(“пл#ъџ6zебkзџў.<АыќэЪT—тзkўIен<ѕ§†‹зАц…і )"C^ЉRB’$ЉdеVя-;q;zh@aGKйдUCg Ъž;юћыF!„ЪЕСЈuѓ›žиp"ўэЖтк_Ђъљ€gИЃKн‰{ЗМыs‘Ѕ[`LЂ-іц1|Ѓ P‡В=k>v™шWКДЇШєо“њT,V}иœй_7ї.ѕBГ]ШЌџНdН ,퉙ƒІ&ї\qєТЕk/ю8БџЌ2хŽ `qђL!4yMfсЂl'5ЙсЗћnЛжu`@”|СВNЮ/†Ы…uc …КBзщ?w~џІтMF­%W@ІЄ;(ЙJŸ/—)ЂЂlу>§ЋЬ\•ЈUо1Ÿн  я(фdыeТOkšЂБ;НŸЫNй0 щ•Qы5(nzЛоŸяя0Џi‹Чрр^жхFќеLсuoбAн…уW]ЪК[рKLЊ&ЈFdhœeSW9ьЫuгЌнјшФяњ˜ѕ™ъ.гVшру+:њ}sшŸнпDl/вgкьХэЭyTSS—oP"~­&>ЈOegGяГЇ't t§“иŽсЌX2QЉ‹—(ЎVЩЌЏœчФЌB‘к§Лн›9'{š-šз(UФХIot+х*Ы7t—zЃЦљGїЖшчјыйњл—я˜1АпЦšуGеs‘# rЉ;qя–ГWn1‰&ЯІГіjЁrPўлИќПW&~=Шњв1ъЊЁГeЯї§uЃBхк`дКљMOl8‘nђОB1\€5Ѓ @є—ПџшƒиvпЌ­.O.ЭЁ\їљФЇУ‡О–&„ЪНR‹оу6}кЉ,пaLЮ`ял­g=Щ*ЫьЄ†#7ќvпmзZЂ ˆ2у!­yИ+ЦП9ЫйTG,ѕеnЊ#wЪГНЅXъkЗНЅмq(/›чЗЕ‘XъЋнкHю8А*йWя3пы‹5Ÿ6•я{КЪЅrЏЖ>ЋеjЕк‰ОћЂSEГ'гŒК[:у§O†Œ” й|Iељ˜Ё'кЃMы%I’фkОf* P’Ћ’dОuU’Mѕ@K}э„Т($Iі@eЩ]2#“^6Я/g Г3фŽ+’}icи4— kG7vГЙ™їi{оыўCч…_МQ^-ŒЗN}7щƒЯЮ лћm[Ы7У27ЗР­Vю ЌУШ­$АДж№VВЉŽF!TBЋЅ№эл[ ]ВP{эaFцaМlžпжF";Cи;Ыљ—Њ ђŽ"ж;(:IŽ>тЗ­иђћОЭоГ„тЅˆ#{›ЗИ’ИЕŒљзрnНŽ…uзЏњleъk/žлк’‚TMŸрŸѓXG/ дд‡ЪКМ'rќWЫПџупz!„“Ї“§УЧНлШгzZ;1\€ЭА™Я!шxHH’dЙ6 {}Зм(XЧCrG`§:ќ.w”ьЕnЏoЙaГg­ŽЅ[}ДОЦОiЌ,9-v}ћ’ЮN­еГuкЃЗ}VџОЅS5A5"M| Ќјy=њ­oљуђх=дЦєфЄЃ;fы,vЧ ЊрhтЃ™ Уи j:X“ЙЧцFŒHЩL1ёуІj‚юД5ђЊђЦ{._XлЛŠЇХ›й—ы<ІйО‰б‰z3(упНIў„uoXбЋˆЃНSб~{4м?~зi+ъНРp6ƒ ,жЄНOћˆƒЭ66 Џ\%иd+{сл.u'юнђр&ЗИФ@ЦЙRsя“3ОZыћоk5ЪЙ;‰Ь”KџXЗ*ЁBлJVе{сlXЌ‰ЗЋwdѓШШц‘бЇЂƒb‚b/Цšъ‘Г.я™1$А^Џœ:Ќ’•vќpўязГMѕјЪтш7xuTЇQ!K{yxx•і шѓMќk‹ЂVbBмЃ.@nT`А>eb‚bЂOE‡ю (`‚GДН&GŽeZXиj„мaX †  ,№I2Ш`›<žОЫ”gtiЁ”Џ§F>uфg"ІyжбiбЯJn“ЃѕнzЉ„Bф69Zйhнщ K&Ає7ы4hХЩbУ–EmZмNcњщЕ“жјŒљИQQг'UT!ј|Ч)‹Ї…дqЗоЉ9 `+H`€{ДZNЪɘЌћRžЙ*э€ќ=ўSE‘OЯѕЌЃOEGŸŠNК™\%8т@ФѓЦЂ&GКcГ?нљв‚#ЋѕŸt˜ИЕПцmЏ‹лПЗХk№ЄЎ&LЧф(ZџнцgЦЖыR?ь‹Q^tЕЦO† Аќ›`MR2S"FдќЖfєЉшр*СG{ Џn‚ЧUH“#нХcк A>О-:њнŽџgї7aг’ЇЭ~ЏЁ‡НЩЅrЎаёЫ-›ТЪю mжЌЧШ™п§~ъršЮЊz~1\€Э  €5™{lnRZвЊ6Ћjxж0э#+ЃЩ‘1лhЏv*Ё6ќЗqљЫОљКždЮТЧRM‡Ьћё­г?­[Бт“юўuЉЮЊS›^w3уMŠсl ,жФ4ѕVљ”Њ Њ(G†Т`ял­Їyг1wиЙVnеbЋў-p,saИ€Т(IJlАwn#ГXяЛЭЂ“LšGs ŒI 4нУЩ‡сlƒl Ќќ.ƒbЕђ~‚Sђиžп†š@с–ЊщPщэ‹oF,ўІMW;!„ёкц^V4˜5ьeѓ/ќ–ЊщрќГёб_„šћаїs ŒбЪёјu+-гЩЕЈЃJ†ƒ?;† Ађ$Аl!ec Я0-Ѓsе7ЋьиѓFфšАКХT*Яз&Z8tnрО№еf>vбZ=[зЉ=zлgѕ‹м똌 Њiц+CкЮђM–Д> `qЌB@1ьЄzƒ­ъzр§їзžЭBхR9ЈЇп•?’tц?Д}ЙЮcšэ›Ј7џБ” U$нЧ;86%6и[’Є MЊмБ)УШX–РДA ПTъJ}/ЪђAњWŸwѕˆн‘рZЅ„“%ŽьRwто-n*ФŠ6™8s№”ЭЩu„ПпЖЂKšœэъ­УШ–%Ў @UЄк€YуЇ yЇк‡‰іењЮлPгYю {Љюлб]NЧܘа-Њtаъ6RyіŒ.@n$А(ƒkЋЅћ_vuBaчб$lЭ‘0™#*єTE+wЛЌэх_–L—A5бS0\€ŒH`YШ§Г)Шђ R{•~іVэ…~Ёsѓq*еtPфоAЖб­ўљ1\€,фH`o§НzќЈ)ЋўяІn•^}kьдOКT|bMpЊеO0&iЫxєЬгЮE}Ž’$iЕ…џ‰€Аќ*„йз…MHj5uЯ—Џ^<ѕ§јZ?Й&‰ ФШ‹Х+А2ЯЌž~ИљьпџзRR !JVы0ўћBˆфMAЭжО1Ш1ђГЭ йњoй;5 ˜6vRЏwІў~ЃtЫпОeДtЄ pLœ,† А^O`щі_ёэRл]ѕp NЊk?oЪˆж$ЭЗл7Њ]иДИ]НЕФaєЏgп)ujQПщ–Ž”Œ‰“’ч\ZF А–ŸBЈRЉ йЃBЄj‚ЄAš4aTWып? Ќ‹sщ†­Ы^ќы\jТяWЊМнщEWЕgнюoUwБxЄ€uаŸ[Tв3H“šз/яuп9їЮs7Ьт ,чŠЅЖў™lBИЦhЕкЄшw!„*Ч"N*!„АsАBЃС`0Bу”€‡ЕћОYyЫеё1ПЮ9ыжjЕкыџЌшYЗзрњE-ЯЯт ,GŸnУ_ўуяNнЏеeнО|L3ё •‡ЫЃЈНы•ˆџvлщ›КыО]q<Ув‘ж@w|СœЬўўj!„Щ›‚^ ^0ѓк%$ЩЃЮ№идЛ‚ѕж‡}эўy`I{йbU–TMѕh`,?…аОTЧљ1ŸWо7ВЙoЉeЋП1ёЏ#ОlёшU ЧЪ!“zЄŒoјBЉFŸнxЕžЄЪ6X8ЂЅgю™}noйw5I—NЎnЖ;lZœN!„сњЎё3УЦЕіДќWž—Х›И !TEЋіšВЕз”ЗЦ$цўшvччж_юNќ2wуј‘–‹А FэОЉk§ТVћ:эЙЗ-ЗЗЌJ4l]іт‚s:QS-2OEEФwYаЖЄІЏR5|‚ЮЃ-I@Јхƒœ~~…AкўYЫї~гЊЌф›ь§ъђK†GzЫ !2т–Ќw~Ћ{%'c•UбZ=[зКы‚і~wЛё`Емк~w§n.& :щЇЗKчu†Џ;ГcŸ}ѓЦ%lЗљ•}ЙЮcšэ›Ј—;Р3‘c !KЪ<єšд­„Эж_ !„Kн‰{З<ИЩэО6&eSiЕZЙc“$ЩПьицГ~Œ`-˜BE#E#E#E#E#E#E#E#E#E#ESiЕZЙc#„сuУй‡}и‡}и‡}lpРѓ“JљйM;@ўЏ?&”Яg- н6 `е‘Р‡)„P4XP4ЙРEŒ 1˜Cž}ŽlЁЅбЃOмžѕ3cИЋC @сaГi›}тЯ†сЌMм6wыkl*OqU‘M=ёgУpж…ЭMм#FXр((”X…ŠЦB(XP4XP4XP4XPДB—РЪŽ›АёЗВsoн\ИaB\ЖМ1рйК–}•Ю/$ЏNʘ-„њѓ‰kRЪwЎb/wT<(т`„м!VЃа%А„КJЅVкгšѓ! ч4ё)­+UМ‘0Ђљ2IZXЎёО ‡џЛћѓw r €Їq;гSK]Zы†oЛйџ]БmmV›щЎЇgюкYЛUќ/x9dЛ~BюЯrЧ АeсuУхА…ЏK{џ.хгж$ФЧџЗіVљ.ўтв ]Й^^Bˆьћ~€5АDЫтm>дU§Zп>Нpa|z›JUеі%Ћ:&ўpхВ^qџЯА…БKuёnm2ЃgЖщZ\-ьk~аЈЭ‘§Н–yљчS]яўМgэYz`(žJЋеЪ№X…Г … ,( ,(šƒм˜’ДPzцћjа @‰lЅ‰Л$I6ђL І ƒˆƒr‡X XP4І@бЈР€ЂY"E›<3*А hєР€ЂQE#EГ‰)„[‰ь aя,:ќ.w(( ЙА„ьŒмџK’AюX2аjЉ8Ќ˜M$Аьs+Ај6ˆЋ€ЕГ‰„N‡пEпѓЪq0BюЋa ,X/›hт.„$ѓР6ёX;Nш h–H`бцЯŒ ,(=А…€Еу„ŠF ŠF ŠF ŠF ŠF DŒ;РjР€ЂЉДZ­м1X‚$ДZВu`‹јЌ'єP4K$АhѓиŠTMtOЉjэFo>—% к§г{е-#I’g•зFoН•ЛЗ>љаъБЋIžAšTYУ(XLЪ= :IЋеjo\IќuВПfдФ§зLЉњ`GќХЄ?ПЊДuфЄЗ…BЄХŽ8р?4МQ1™C(œƒŽ^7мG (*;;aаэеŽEъ|ўЧQЃ“ГƒJЙaБWgBскbцš"UГNцHJg‰’ь- сфQЖ\Љђ5пš=ЅО‹АЮBЁПЄ™ДР)dоЫEх`UH`0)ї€шЃ*oњxcЅБ#ŠпЅlМubЩаЁЛЬ[7ИІ‹œёЌ=А˜šJ]Йї‡~›>_6З]Л1эРдž!{›EF ЎYL%opыC €8”ыою№ЇГп2 Уеэ#оћЕуЪ§ќ]Ш^ ŽГАѓj=fаэˆё;ЎЄќ5o§Щн#ъ•’r4šu&K!R5A’$yЧІФ{K’ЄI•;h€"ЉДZ­м1X‚$ДZВu`‹”љq0BоUz#FˆЇ­Ь>ьУ>ьУ>ь A PШ)ѓ#@іOХЇхPм =Ж€я@ўQ(фјЌ%NшsfVЯ€+вP4І(iЁdљƒjиФ;ЬФ6?hЛ €ТФAюX Ї“dI™”УцЎH` (П@aB ŠF ŠF,Xэ-….YЈ=ФыЛхX ,™I’AюЌЦR_;!„.™AГ ЧўfŠЃИC’зЧ=йЂqрilpБПgЦ*@ў‘Р’пїђщn–і0#f]gP–5ЕZ‹Ў{ˆgCr€B†Ы-”ƒDЌЦыЛEпѓ…ъћ@vм„oЌИ•{ыц’Р тrnej‚–i2яьљаM H`€чc_Ѕѓ ЩЋ“.f !„ў|тš”ђЋиЫрЙЊЫ-Ќœ%X#,p u•J­ДЇ5ч BЮiтSZWЊpёTџZ‹KжнyЭ(„ШLxр&P0T`€чЅ–КДж­нvSŸusлкЌ6]\OЮ>pрЕvЧb*Е!В>p( K$АЈ;РТ,]ўlяпЅ|кš„јјџжо*пХ_\‹Я*лдЃdЉЭ|э…0"ПшсчЄн?sШЩлЯЄл—|љнЉK?яPжQю|RiЕ6ё]T’ Z­~)60ebИ%SьПPХ`bїXњГбoЕYzТтO:xытж|<тЧзО]XeV“‰УжЯьс›КctPИнтƒs‘;f ЈР pб^1#ЎхДEнЊB4‰к"„Ÿџqдшфь Х_nXFьеQ ыСi —ЬГ‡Џ•oю_єЁЭіjg•њKšI œB†Нќ№ях"€ ,НJ А-*•0 yTXoX<Аїъъѓж…еtБ|\РГb !xvЯГ,)‹B€ТEŒАќЊ 0 uљ:ž ;ŽІvo-ЉюлlL;05ј§ИЮKЃњњЛЈ{o@H` ƒBѓ}р I(I’ld­ЧЩяэѕ[…^Е|Rз*ЊџЖOБЊТЌUџёоЏW­юWI-w€@A1…€ ДћЇїЊ[F’$Я*Џоz!+U$н/Hs^фЄI•;RЫєfт“xч†КBзщ?w~пЏ_п’Lq4ЌXLЧЙЮч]ўNM/7Ÿ—–ЗяЎЫЋПА>ьkЧ№ЯKкчl0$яжЈљј§ЉЌм x K$А(ПlGоыђЎя?г1l\kЯмї§Х-Ѓ>Й:tХG нh ˜Ћ 0Ё‰;3о:Бdша] ц­œЛ.oцЉЈˆј. к–ЬM_e%Ў|‚УЈНМeŒ`-˜BР”ŒiІі йл,2jpЭbЙХUqKж;ПеН’гє)ЗЫ{Ц-ћў‚^Ў0Тђg&$А˜Žсъія§кqх‚~ў.wЇъЮьиgпМq ћЛЛЙд ўСŽј‹I~UiыШIn !„QЛя›•З\i’J~-)=А˜Ž[žыђЖљіt›ћіЙГВoёћ[,2РTдU*ЕвўЂ9я?а[œгФЇДЈpёTџ7cc}{;…™ Їпwг‚ КдLgя оj{•(UЏпЂŸћхўЦ˜ќsдŸ•о]п;КгтŸЎvuЮнЎrrЏ№ЪШЙGŽ^п3МЊ“Ў-fЎi!R5ыrіШ8ѓ—gяѕЭJuђшлЫГћЖŒS?џуЈбЩйA%ŠПмАŒиЋ3 !tЧЬЩ щя?reŸГUS№kIyЈР@Ќ€ѕRK]ZыжnЛЉЯКЙmmV›.Ў'g8№ZЛc1•ZƒйGИiIE›X/цЭЊuкО5ь‹ЈэqзюLю3\љ)ъˆpгŠMоzщФ’]ЕђPЙОдкчњЁГКМSŸœxгНЂЇ“ТЩЋ’{ZbВ>ХЧѕчжO>8ЂЅ'Y†QюkIyxiглкH,ѕеnm$w–ЕНЅиT[lo)w`"\ny,{џ.хгж$ФЧџЗіVљ.ўтZ|VйІ%K•hцk/„сС›хTЁз‚?ЯќЙ|T?нягК6~gы5ƒ"ћвQЧ_ nтaябј­šЇ—lh=%ЃAoPййЉђ~а<7oX<Аїъъѓж…еt1jїM]ыжЫз)Џ]ёЪ}-)SAЁ_%0;#їџ’dC— —њк !tЩЖѕЌё­–+Ф€-PWѕk}{яТ…"НMѓЊjЛєrі~НqЕ‘~o‚A•єРMЫ2шnыеejЖъQГUA! кДџdЋШWЗ.њэЪ‘пќŠчюuaыљQїнЩxуРЖФ2M+ЈѓzDGЯ ni ЩYТУ1ѓъi­[E/GaL;05ј§ИЮKЃњњЛЈ„Hн?kљоŸ–”§F!DЌїЋ3џоѕv›ЯИф‹r_KJC ˜žНГШЮіЮЖѕe~{KЁKjЁ=lCЯї#w‰BІа_nyътнкdƘ#олS\-ьыŒhаАЧі—vњє-я`gtx№І%УвћМi‡§Н–ЭдИЌ}rмЎ=ь}]ьГО[–д2ъдњ.%э„0\нмГaФж+B!Œ™кџ~_ўПпъ5е'ЯўыЮўнšs4И_‰ƒѓWЅ4™эяtuћя§кqеъ~•rS^nmПЛЎBˆTMPШаȘ@7 =уB@ЁЏ%хQiЕv\6БˆƒВПёI’A™'аŠ L™.@Щћ/TБzЖ9ђ’$Yрф Še›/{JbМy4*ьS6Кœ%JжюЙ_Mзœ_Їj‚Мƒcя=fРŠПоџ5є‹ўИсйhаЌхул8џ№†oЏ}ї2іU?;јѓаŠŽЙї%ѓ %3ХІL  dЧЊиР =лyX6Ю6_іX€%>_eЯ^3Љє­ IDAT`khЛ €Т„ DP4šИPQў €ЩI ЅgОЏvЬё^NE жХC[ќ‡ ж‰7m@ЁђфЌmQ Ox9ёZЪS hT`<Ѓ<ŠџЇф=#Р6K§L…2ˆ8A›ЊТ!?™ЉчirСB(0cЦПы†Нђ‚$I%ЊО6|M|†B}ђЁеc;V“<ƒ4Љїя­?З"ЈфУdжПГIwљљѕЖeУJq0Bю  ,(§йе};L5§сЬЅsGWєH™ѓЩц йBЄХŽ8р?4МQБі6jї}Гђ–ЋЃRƒ4Є'‹к\еjЕZ­6an“"Žд†Q~ф ,РЌsIе•­?љdцн_gХЯlђB‡‡Krђ.™ТшNЏ˜зrъчнЊy8+г $j_tВіBИƘЙцыwx=81[w|СœЬўўjЅiИ•Ќsі(joйј€uрr хАD‹КSиœGъ\T†ыПl>~grVЦЉ˜/шКЯcJf 4™g_+пмПh~іеŸ[?љPрˆ–ž–ОVџ Ггoм86#А‚$IЅjїœўgŠСќб@AQ˜С#u.FuљЊgзџЎ5 !Dк UЫЋмхq%3P•J угw4jїM]ыжЫзЩќA=,пA:–iеo№аШп.\:rkЦр'tц ШЋRwŠg“ЯЕЩ­darзZЭгжьКвЂk‰ы{зІ4kшінё~Ÿyі№ЕђнђWз9ЉЫзёLиq4Е{kIѕф=гіЯZОїЇ%eПBы§ъЬПwН]Ц"YЩќЉічгs~Ќмзџ›шѓ™ЂК…'<Тv™шWКДЇШєо“њTtМ“МѓŽM‰ і–$)шс&§Ъ Rчпwи+ёc”+эїцЪ’Ѓц Њ,У„G˜EЁ*ПКџЫ2‡ѓ”ъ„,І$а-0&1аa=(пAЖД§ф$‹…л2EюžYбњя6?3Ж]—њa_ŒъєЂ+зћOcЬЮ§П$YшњЧR_;!„.йrG|NZ-ЈŠ”гŽyкЂnеŠ !„Dэ "}ВЮЙ’Т+'˜AЊ&Ш;8V!DЌЗ$Ф‹ем<…АѓjжЅьиЕ]ЯЋ-‘Cй‹5іЃпє{џІCщНЧЭюSбГW)БСо’NeЫ•*_ѓ­йSъЛ{с,„њKšI œBцН\T!ьеyl`ыR5|‚Ю#ЃjЩ0TЮ:~ЙЅэ/‹> m6­d›=ЛДkђ’—ЋZYЇqхPй cЖPй[.MГНЅа% Е‡аЖ‚ФЕdйlQžэ˜я,Vўў™ЕoЛ1 чаР]із ,Р WŒужsлЉžB!ђ,ЩЩЋdЦъИDнPyгЧ+Pќю{œёж‰%C‡юj0oнрš.OмРІ­еГuкЃЗ}VџОBѕTMPHЫЧтXЊщy?ОuњЇu+V|в§УП.еYujгыnІ;@Њ&ЈB№љŽSO Љ#џ9!рЙМy@H’Є}\IОМО[H’Є=lE}ЁLwW0ПЏаТБLЋ~ƒ[ЗэпЕЖуё…§ЛžбњзOd_ы‰Г%ІІRWю§ЁпІЯзŸЭmnL;0ЕgШоf‘QƒkЛѓЎ˜чFРvDŒ;EВ/зyLГ}ЃѕrG’ЫЮЕrЋў—ўp81љ’IГW9юЬUЗся4ЎLЫЛГ‚љ№jџw>§јэFe‹8—ЈмзџЦ‘ѓ™rХw ,fрPЎSxЛУŸЮ:|Ы( WЗxязŽ+єѓwЙ›ЈЪs#сRwто-яњм_#ю“hђфбуXђp9s7…•нкЌY‘3Пћ§дх4]ЖEŽ OЧх №Ыsѓ›J\Ќœ,*ыђžCыU№ЪYŒГdЅ†?œџћuЮд !;ЏжcнŽПуJЪ_ѓжŸм=Ђ^Љм5XЭ:“%nцЕА%…j•@[`д]ЛtЭLЫMфЬUќyщРЏmўЄћЫ>>]ЖЫЙŒ)А)y­`^L‰‹•Ћ,9GWF’dPц’Š Ь,ВтgЕiГЖQФз[е(яЁ6І''н1{иИПћэŽTс‘†хвBI;р)ЏЯќь˜Pž/9Ћ~š№)і MБY5iЁdТGЛџѕ–uyOфјЏ–џЧП7єB'Oџ&њ‡{З‘ЇХЈы/nе#tёбЌ эFFЮжИИ]nЎаИ‡+Гђљ%янѓ˜АjМсЖЬТ=Аd9т3уэБ@Ќш/kI–xQwŠ\џюMђџ Ќ{УŠ^EэьŠ–№kмћЃсўёЛNg˜сpFн­Џ•2R2LгaDŸ|hѕиŽе$Я R.’’љЊ{н$IђЌмrшЗџъфШкd&DПUЁЄ)џ Бcc/ЦцwoCђО‰эЋzJ’GѕОkЮ=ЖљO>w{Ю`žЮєУЋ^/< L€v€і9џЋсYуЫЦ_о{мЌјy=њ­w'ђЧ“Ў&_ПrўјŽщ]Х’^С‹ўГX™fЦбi*M?|іитЖџ|24ъdКy Џrч*Кšяг XЛ‡OМгі є-aЃчсd@aAЮ•š{Ÿœёек?odш }ЦsЧ\Й*ЁТЋ•œЭpИД=яНЖхЌN!ŒЗNmиxао›&yфиёќ‡†7*fŠG3‰Œ#SB—Е+сђ…#Гыьљhтo&yІЖуі‰нщ ќLКbФ‚фюBzeдКvŸќєѓ§ЗŸoЗччЩЬ0\А:сuУS2SЖ%l{ž‰8сюф>Єњ{›,|Љ#O™WџIѓmпмЧеЋNП9QAБ!!Ыޘiђ цќД˜PЊ&ШSЊВ№PŠх.2d]ўщ›mkљxJ’$I^Оuк†DФœЩ0пg”чЁoу;.лYЌ*]a,‘РЂЭr9њ ^ещFTH@Хв^^Ѕ§њ|џкЂш•™?hn-#Fz,южы‹ѕпNьќrаœєрХs[›dš†k‹™kО~Ї—УгwЕч:_Œ[дГЊdoШвœ<}Š›cH Б"ЕћwЋќИО„вBщюїп|ђCЦ^Œ­сY#Пи{дlбМFЉ".NzЃ[)зЧ}&хsЗGд№Ќ‘Ÿ Ќќ>Э'ТхЯ‘Э#Cї†ІdІ<лнуЎЧЭ›й<ђ­Од‘'uљ%тзjт3ŒB8zї˜=НцЗСƒ6зѓ}ZLЫТKЧfYмВhзo[&tь0цлM F6ПњХ›ЁšЋъкŽOМ зпщдАЂ­žˆ+ш 8lc™V#ЖaЉЃ•nѕбњћІ АВфДиѕэKъDЕЪоA•Њ ђŽuЎОmsM[}S3‡ћ;зфГпMNіЪнЩН@в_ўўЃbл}ГЖњџ|љмэ~юNю99Ќ€2OиэюSГъЎ^А˜ž5‚ЋљmЬУIЈќ нњeу/Н]Ниъш7xuTц'“C'Ѕ…іRХFэCЬuЉ#OъЊЁГ…|8юћРеНT*зЃжЭњАџжєВц9žm}Z€ЫY:Жэ/‹> m6­d›=ЛДkђ’—ЋкЖyэ?іЅ\ iЇ^r(^„KЖ)ћТЎE[U+*wВЁ –”зКNi?іmhъ5˜мcф^ВСДыsхщС™ЌДЋ)ž^.NžЕЛіЎ0yх™ŒЭДаЉžкЃЌЎ(щfRц !В/m ›ц2aэшЦnЊчп-/5Ÿ{ь…ињR?е­C+ЖќОoГї,!„x)тШоС>yН?чsЗМд№Ј}::Ÿ;?хiц{И`MR5|‚ЮЃ6 є‰їkял>њttФСˆ|ж|ЅdІ„ю l™їлœUEDўИМFyЕ1=9щшŽйУz‹н1ƒ*XhЁўтцa­8YЌqиВшБM‹л aL?НvвŸ172їUOЃюкх4зR^jЫ}^ђС-0&1аВ‡Д“_sdј§›к,мйЦВA@fžxoNжŠTMPШа§6—НL!„EYl]'sї;Ь™єс›ь­ŒЙЮЕFЬъ{ћЫWМKUh9н8`цћешU n19Г•Д&KЧИЋ вЫэѕ-ЙѓЅДZэ/MKхsЗЧФ“Ђ{Цfл„aњс‚ќŠжъйКЮа]ДїKŠШЧ 9ВyфмИЙqзуђsœˆ5О-:њнŽџgї7aг’ЇЭ~ЏЁ‡‰'1о)L>{lqл>u2…бƒ/ЙА uеаYƒВчŽћўКQ‘ГЎSгNЄ›zš§!ЗИыqыe~5•h ѕэ-ХІкb{KЙу0'[xŽJАНЅXъkЧ8лВž5†дК7яžялЖХ] ЏWРД]кЮ5zьД|CЈœ‡їzц0uЧC‹&РГ*|—[X/KT`хe"vВЎыdj’єФЅёІШ€B$?ѕA–њк !tЩB’Ктяёић˜џЉ=ъёOж<ЯёЎчxВљ]ьSЬ~kќ;2…tg]ЇењO:Lмк_ѓЖзХэ_Žлт5xRWgЏ2ЂwЖё’wя9s[ў22lёЁЮОЏ œжЄИЉЪЕOќzc’'Oл[ ]ВP{эс‡цБ.ЫЉРѓ<йgxŽ•ч˜фї#a€ЉЂxКЧ§эђъгтМ;ЮАZYџEѕь0M1kЧТІнГЏžиЕфгmzниЛОПoўлOE6 нP6рў\Uшоа!5†–ўŠnСѓ:ЙŽ(ЫweВЦа]VњwДФBЪЏЫ‚ы:ЭўтїЦЫŽœhœдkмљ>šЄЫџэj˜џўЬ:гЩъНО[єM0МО[ю8ЬЩžЃ0ЮJSрЖЛК“Kч%vŒšџAkџ.ŽNХЪжю8vхђŽџЮ˜—Q€‡ (P& тРНЃGŸŠNJKЪяЩ€НTїэˆшх#Ћœа­ћшЎ|QDBєР‚%Yl]Їыџођnн lйFэJы|‚;НшІ.^НSя*к#чŸ#•ЂеоџŸщТE!ЄР%џИ0"”Ew!ю†їЋU‹нЗIхњR+Ÿ”у—3 іH_6ў2њTtЮ?ЄДЄ1П‰lY GP­мaьВГпИНnQ\ Ё@ 21ѓКNхъxžйА+A'НЁIкўfq! ЗOm>%е,KwX„Л“{JfŠмQ< %3хщэ‡PˆМќ9;3лЮщЁжv*ЃСXРrwrЯ™H(юL|ЖфЉSЉІƒ"їžПМ•љƒ ЫВаКNеоŸо7ѕыБ?оI шЯ­1+ЃџŒЁ/‘Р‚ЅЄш–РвЅИЋI`с‰xg–$)чэњYЉНo{w'їЎпwMЩLЁ“ а2Є]1Њc_I’ЄвU_щ=сЛSЗ zхЇВЮ­ Љщ)•o9nїпš1mќ<$ЉL§wПeЦcТ|Ву&l|cХ­ьм[7—n˜—Ў Z(I %i‘_ѓ=‹ŽfEц#[lMмaA\зЩ#`lЬŸїn;x‡Фќb‘CпcЅёђЃ?5S (—їаBlђŠKf !žЈ€oбљШЯžїк цЕ ЁBЈЂiхPгЌRК“ 'Чж[rфуєOzt[чеMќж ƒЛНПМЭC*˜х0'ћ*_Ht1јХь…ў|тš”ђSЊиŸNбНЖЖчџ:іNПпќj$ођJ3л<'"˜E~жЄˆ8q "М^Иu•'Xѕrу]Ь{[т6ЙЃx@мѕИі> JЈСкхч­@Z(јус›ыоul@БЧо фЎВцƒ&9QekwЛВФ•ЦЁѓу‚ПЌыlŽ#^8І­аЋ‰wEc{њіЎусlWМG?ПщыOgР2!§Х-#:ZіЗSƒсЋз}мФ\o„PWЉдJћ‹цМџ@oqNŸв: ŠZœBЁrrzЁAЅ7œЗ­>žє№}ГЦfЩхd&DїѕCэœј˜РЂзїLь=pіяWœЊv›ДdFП‹( +)SyЄdІDŸŠBDŸŠVZГ$ЄйЦfCЊQHІІ’“УRHЮH9‘р.ОфЭpѓŸMSПXsЙоЯWБ‚•c#)I’жB rK‰ і~є2F@ЈEŽ{яац<Ђ rђђ+š№УчъЄўš”vKgІrЇ\ъЊ~­oя]ИPЄЗi^ѕў3Ÿl§… Л„яgеэЏ=ВХЌ!н‘г™дЁк{пmЋЁŒs2X€ rЪЏr2VюNюaJсѕ”ѕUZ<@оnюђMЌQlо§ЩПˆNЂ‰;X'ЈObЙ%Њф;ЂmrЎ9$ЌNћ> Оіš—G73gMдХЛЕЩl1GМЗЇј,Qfl№2Iи•ЈU)|aгEŒлоbоˆюp ŒЙvіЬїу:Пџeч§_е3G[ЗВD‹КSр!9IЋЛ7‡T’г …‰Ђ*ž №$n1785 OYчж  нpЃжаesяќрƒљ^SћН9aYф€—Š*|ЦН5бЇ\•z,;щВІ[7§а*цNмизžдK;щюMЇР˜‡ыЛнb~њЫПnнядЄuЅnvЗгЬй,џhˆЊ<Љš Ÿ MЊBcЦПы†Нђ‚$I%ЊО6|M|††ф_Оъ^їI’<+ЗњэП:™УХГxhТ Л“ћъCDЊ&HКЇTЕvЃ7ŸЫ’1Jф›UЏЬhеСCщFšшqюџd”ЮCюX!эшŠQјzH’$•ЎњJя пКmОXК“ 'Чж[rdЯ ЄQн†z}MќЅ3лоЙ<љ§х |m0!;‡ЌC3;W­№ътrcОhчe;Y“œ9ƒ)БСоA𛙇fuї/[сѕu~УG5TЦbа–јSP~ѕЌєgWїэ0е8є‡3—Ю]б#eЮ'›/м:2%tIБQЛ._82ЛЮž&ўvSю0aBюбIZ­V{уJтЏ“§5Ѓ&юЯsЙн‰I-К)ѕЛœ>љаъБЋIžЙп6ѕЗ†Е№•$ЏЪ­FЦ\дѓEА V9РЬВў‹ъйс‹ѓ-ПмёЯХЋWЮќvxЕƒamz-1[6Iwс˜ЖBћ&о[Жїа–ялЛŽ‡ГG§ќ’vŸЮ0г!m’]ё€ ЛЯiЕзŽ,{Ч/ЭŸ25A %iЁ$-ђkОgбб,Eєёзпо>fK%iЁTqѓищљЈЁr Œбцˆ ”<[LмyFЋе&џН6є%ѓG›єРR0нщ3тZN[д­Z1!DƒЈ}!BёХС8ЃНƒўц НСЩгЇИ2–0›]кIeg' zЃНкбpaЫШОЃ–џqI'„[е.Ÿ.RцЧЮMІТће™яь–В|hП‰џж:Ux§ЃЈязu•Йx8-v|ФzCУZ+„Ц”}ќЉaдЩmеџ™д~аИ}ЏL“7>Ъ–Њщрќsg}ДЇ(Œюфвy‰Ѓж|а$Ї:ЅlэŽcW–Ив8t~\№—uЭ2я,[—эPФIЅХœьеn.vB•ГЋЃ>]Џˆ„‰ms ˆюЕЕЕ8џзБwњ§цџг+Эфnн™Мѓ—vxЭћћѕ—тўhџў/ЭїЗn[\цž ,Ы<{јZљnўEкЌВwPх”і9з пЖЙІ2–0[\к)wU'ВхJ•Џљжь)ѕ]KкOљс)B3Џџёu`№чПїXД:: Fdh\L`‘Фљ}чиј!ЁC™ЋлТК _ќњЮџљЩ›гtm1sM ‘ЊY—s3уTЬ_žНз7+]дЩЃo/ЯюлўIo%„ТМ{Dрї[?mшЦ„}РєЌЕќЙh­ž­ыдНэГњїѕ'Mееˆ”/&ђЂЛwУћэЊїЯ­RЙОдЪ'eбхL!аёЇrrzЁAЅ7œЗ­>ЎoжXоt‹ўяЭWЫМл№е2Ž%j (Гщo}л&VžВйœжHЅFƒ!Џ\К[рж+џў4AZ:|Q|ІХуBОДћЇїЊ[F’$Я*Џоz!_…Фюб‰—џœёЮ ЛйБ,МeI{ЁПДугNѕ|K/YЉэWџ\зІпПŒkњЉŸПœS IDATџЛцн—НK•ЏзMТёи3J+ж''оtЏшщєію<.ЦќјwššщаЬгЁУ1•RЅB‰”e–•›P6?Зrь’ЃYьЪUlфЌYLумHЙЁШ•TTB5г=гП?:tЊ˜ГљМ_^эЬ3ѓ<ЯwЖfцy>Ячћљ „КІф’ЌB>Bёђ.ЌњэГџёЕђНjmšЄ ‘ЃЁ€Bпе=аёVPTќyu|._‰а(" ЄŒ6{ '"ь$/ †е*Т0ЌњЖјікMEе˜ЬџX,h§™т%(љШгьFTF)Лiђ~tHd ЋџO4ƒl'`Щ0bwЬ+)Х ?ўЊJ>Љ AЧz’ЗЩћ[2Ае*Ÿў1?ЗјJz^іƒmІWnyTоЖqФžоKЬўй|ц}B•?мєП˜ЮЋ.>{ŸџљuИ]у@Ђ2ВTi'теE‘ъˆ5œєЕDQ#№-)CИхЏ‹”Е№в‡ЩP™UY…Њтd+х?ќ#џЏ #˜ЭX>№юŠе‘)_*+ ^œ  N:№Ж$uыШ!ѓЂ_sŠžХžx­eнUJSБъuŠZЃЊuЊ6›џK96гJWd4ШЮ•sк~!FЙы„€бO~пѓЄLˆTєЌЬЛ™˜Q0~цЅ}'ВЊJs 9BœВОВ „+P3wэёfџсџ>WВ_ž˜=ˆКћ•ЌeфЉш˜J2 ЋBмЯoXЄКЪёихнuR^Ю•г ЭсЛOэ˜iЋ[s~]=MržЃ†ўрYž:у^хз+T/нЂѕr4T:ŽBi€DH>œT|mЮ№ёKBЮ%чЗум|† АяввљМмG™з‘ёдОR`)їњЅѓчШ—‰я99w_EИџд0[PT/Y’ €%Ы”ЛL‰`ЎS;@530А˜ZсНezЭ~ЫїЬ*Fб7qњьўЕЗ”X,Vѕ?щь^р‰ЊЪ8„x™[ў&Ь]:Јq53„P‹=ц•t]”г7\љЄдcњoіџИщ[ЮПйћсйE+эg\CN›WkЌ:ћFХ{яІоŒ)= Œ†lЪГtЊAœ/щ;ЈZŒЕ/ЛФHљФЮŽ?Щ2ЮB!5+П?і/(І\ЬчK{€"аТ4IY$GCUа%o’'uВvƒЛnкщж&6уќџ<ћ0Y?Ќљ dkšй7Щы(Іsд)€=9| ­z3Я0m—Ё:цЮД<жgfо№іЮBP"xЩ'ч%М:$•‘E­НC4™’8)ЄўуКNkЮ=[#љqя ,K;ьянvџщ…V­wm№ЋЧiк­;i‡BhрІћ…›jџђ”Е!„а‚ѓY BiN Kš&тџ€ъ!„’(BЧnэячеgC‘ާ‚=ЧwBWBˆh6wлЄуг~Л>,ьgЙЄЫQ/9*ЄŽžL—зЎ аiШк yбQІ[/RБ8}цL/кCЂ8Ж”4L‡ЯX7|ЦZNўгЋgЂ#—8-+щщц=sІїИA]Uс8OŠT†ьхv(ЋгЖOpssЪн>ЎъRO `vkvк Єb5%,yєЇзЏЉюGЭВPSœЏ•б$И“†§†ојZшwЕŸ№‹ƒŽ/­6Кr4T:„‹ішˆБвE{i€ 9љЯяY9e№OЖўW5<ї3ˆ+œ$({{ѓицљЃћйЬ:јJвюЄєЇЬАеSь`ў PкЊэХ™Ђ%?­Hc.BЊZењ4I|ё[˜уЗдмћпIЌ 9*ПВц'†‰1ЬbЩ}щ@шeooŽŠŠОЂlы>}ЦюЄcХ[ЋєЮ– g5™l“[}Бю Y$‰фЖOНи!„Ђžћ… ѕKm†ЪЫЛрщ№IiчГwžІ* Ыг"ќчќvіeйrЦŸ‘;&QHРКПлзїKxНAѓў<Вyl—яžїк4,…a˜Œ4#а”нНb&ЭВсз1/ы ћŒї/oДЉiдWEќJ„WcŒIЌЁ1э љpЩ5тІЋі€l‚+xВ‡DeАXЌь(ВCT6‹ХbP›&  йЗж­МawшeЮѓƒv7VЌПUŒ8ЯџZpЄЫц;яs_FNќw;‡‹Pхг?ц‡т_IЯЫ~АЭєтЪ-ЪЅ№‚€ŽIйШы7Ч[[csј5 ЦоCГ2ББїЄ:*ш€x…ЃзŒяща˜ХUНнcе1іН#Г’kФЭѓЛ–К€d($ІЪЇЪзŒ‡:оg 4кГь€Ѓ‘&9,йыP§<›ЭџЅ ЊЪ8Є5ШЮ%p Х(HП v’ЅЩ„zœуг2яЎаћ ФЇ$i§бџћЧ1!$Ј(DжAЎ-6§БЖjЙXђ‰W˜UJюЁC@tMЩ%Y…хЙЯ?ј1S{icZ=ЧlМёЅњb0žЈЊŒCˆї‘ЙхoТмЅƒ4Є;n@žе$G7Tt:—€xiп}jЧL[нšќ AY!GU[К' X €%Џ'Љ œВw)z 2o­R?КtзsNэ#eiѓНЃћю?НТJMвУ/МœГОƒ 1ƒОЇў;ЛlИ†aњV“Жн-‚ђcШ ~EQбГ]T Ує­Ї†<`УлE,љЄЂcB*Щ,ЌBq?Пa‘zшЊi˜ŽЄкшЋc}нН-ŠŸчqBHXђшЯЉsC-Дъ3Гe‘ќєUGЂ2ВlеёUІюнtЫішЫЇt"}вкГ/eцНЛБBљ џž4Nыk$AХpфь…ўЁws?ОaЬ-лЕpМ=PР’OЊcэЫ.1R>БГуDВ‡ŒГањiќвИ O?•Ѕ;ўZo‘*B‚Я—–/К3ўФпГ-д zВ„žL—іЭс~zЩю>r€Оў€ШиcloLMЋ7mŠiс“‘Ÿ! 9e ” *й•I@Ћˆ3_7УО‹Кjч^Г,ŠžцpЅ=$€јAKNА“М(u}6hЬbЭ!Жіgzѕ1И$mlШяƒ;!M‡ ПЏ{Yt5Б›шПзЯœ€PщУ§g^Ц/ _ГЂ§žŒ*iПFаыEЮЙё8?їо•сЛSчŸГ*‹в.œLзЖюJѕОJn.њeХ…їеiѓeЏcзP/H(ѕ^ј2zЙ…ѓќбŽўч2Ъ*П<ŠŠxc8дфлoЯb&ЭˆЦ,FЈ˜Iгэъ›ЯoДФЭŒšfЂWїїаш. а…PV‘ЈŒ,ъзл,V“'ŒОњ*Ио|ч‘/Пйир9c.6Y€ шx]Б№&эљЖ7З!–|7ІjщџЛу„щНЌ [1™ЙщDёЈua.0M€ІŠ™4ŠWBЁ$ †аааУУnкvЭзА˜№лС= mн’’ЙрPШ—­Ž$˜Ђъ)O‹ЏА5SЛжќ]  €бhKdЊйВDЙЫ„аћBkю]ќЭgџƒ‘kЯXоњkОЯ НП’ЮИщAS5 cdхrKsWєН&lљŽ- №=f/юлџЬv•ЅЊ(†:uы9ЙБAзšП dƒ$ІЪhо)m!ф|љјЅaЙЊSЬЄеж†а5Зѕf~nŒЗЙNuЅбэа”‘‡.ёШиљŠЋ g uxy— ыŽa6SџМ[T]RНфпYvГў-нNHTЋYащёS6Лbhќ6f>Oк#Д‡$ІЪJо)hŽіэы+эz2О%*u@•)Лж2MCžФ9YГЪџаž№yНдФАŸЊќ›ЁЖЛќпл"Bˆ c1dьœ€ѕѓьu`! `иЬ=їi~1СlњђnГBюN@P |ЏИЬ87c7iBБ@@ЁИЬ8ƒ–]’-э РјЉcЧ/ЋщŠУ/=L=Л1•/н1ZЧђaЕњя{Ж+ђ9k ИŸ_•Л9iъкЬоwˆ–4wюб бџ"ЊвїO™}†<3єп—ЙŸ >х<П2 іє:ГšhЂАљ„Хж эпиІКЕп|Юž#яpF BЕиI^”ꆕѕя6Ч/С/ъuд76ЩЏˆŠћI738щЙыSБ€ЫЄЅ1ЙЕН[љ"ѕћђсKП5№v!Ф 1мŒнcЁ`Rƒ7wяVЧG!^Nж)vwwsИ ОЄ_Щ‰ЬYmDьnл9=†™^)DH…2eoˆеIЏŸА"нKхл„l‹Х+&лѕаUWQТ4:› і^ЛЬ"§њ›J‘юа%­+fЊ”‰іН фжз™н *ЉЩнцЄxІ„= ѓK№ka‹Eџо§пMУ§fфЄŒђрщ?šџ[учg.ѕzеkЧPš>фЖX †o_пDїФЄм$ЧXЧд‚TiD47ЩzУЬ $јРLg˘і(Ъ\юtУТЛОuіЩЛКлчrсX ‰V•—U‰ѕЂhэœЕїЯ"~~ѕ›џЁ—p VŠˆНќі,р‡­П\ Dс4mW>04эlZ…HO,TM(/wm‹yUTЩx•Ežџ{"2гd„)єE@фHTFVmT"Ћ.ятyюcžп‰L 3h 6—э}Э›Эe7~˜їтмGђxг!&D =}џЎ3(ЭD_„%ŸЗOM|с9bƒ‚3­ƒџGр+Š&…Acx™{б4HХ@ђˆиDNL\)ЏЊ4.ІЪuЂц›нїЏYLџт“swЈiЬЕЗ‡MшоHLЩЕ)–SЎ‰5J2sж@[)av+Яо=9^З&bЅЄйЯчаЃ‚/Ey–ЋbЖ0ња„ЂCszшjkы˜9Lп™>ъ`д|Sбэ€8‘ фHзH2LcаЧАХy$#еo~ІѓlN:UeЖн_GЕ; 8UЇbЅЄB*’†З˜иНфTfzњЛ˜Вю-аЧ4NзсККЪ!~НлHLхѓ§Пэ^‰АюяœкOУ0Ѓ!>Ÿ—uфшJ1“†еSSУАЋ`ќ(ЩЬY2FХpфђ№Ћ)я‹ЊчЈd&Чэ[ф ѓ !—œбcЅKЮ?КPЇPпООVбV NŸ•Ш†ЪEщм–зCпwэ:]љ`иЇвŽ|d%:РЭ hR"]#њ@*’EьeцRў&<<НТеДЏзK%ыъЇ|BЈўmа!ШЧЇ+7‹q”‘ХEˆ“ЖлїЯ‚™ŒємєXЏМ­ѓB_ѓxLОi кНpЬШЩkO&чБXйQd‡ЈьoUСјQ’™ГкŠ—wопоУЬЦlО]S‘LXёцдКЭїЪФМчb&ЭHlqR q k~bэзhS^ц^szЯљ#љЏ‹”{{t)§чЭэь*NQQфЏзіНnк ЇЎЃЂ3дzNщУ•gJЁ…Gы €Zфfь–т™віTЌ’›ѓ;УQ?„ЈхсЪ=СuЄEDxЋХіЎOџЕа 7”јzRнэ›1я!/H'ч ЋяТuеuћOež7Гз™Цc§gаЃŽ­ь•Мбcђъу Ф8сœЕЊЇцZщ`нзЧП`Кšic˜сР™wьЄ9бт<лћћЕ>?}МMяdаХ|Ф§p)ШяЏ/c§l5Є=6$N>.З№]ˆк5?ПЇЧeCQЏЃ"в"Vї_]oy˜}ЈлчE§шїМќ‰е43МqMjЅќјхМ џ#iРсЇы*~›тqZwЮЉє‹&™с^ПsНъkХ•к‚“їŒe2ЫСШ7лљјUќNњ%ѕщэЕещQN1sЌ‘Wb3Ї*-ЕГ Zcт† XO~єXУ/С/Е 5Х3ЅбЩ2^е1€šVя€Ъ№ЉљЂ2fRЋoЉы^їƒЃPš‡…ЭŠЌNХЪ.ЭvŒuLЪKjіљ‚‚{зv=ˆ’ РkїюU2qиР~.[“п\:ѓЂЂђyФС‚Iл–X‰АQZeЪо­ї}ž$мтЙ>g:3;џн5С_wЇqDЗ—яBаК 4!'_”еЛй\6=™і,Ld[Ќ“ћŒeт6„вУйM›е}–ЗЖЊЖЭ”йfйёo:pвœˆ љB№Kт#КcЌcЈSЈƒсшѓ…,TЬЄY†њн‡шэі †aM !•)Лж2MCžФ9YГЪџаž№yНдDП%m‡5Œџ8e\!B8„2e.ус\A%›+@ЊRIЏЊЧ!*ћћУvЂ^Gy™{љіѕm1§Ъч;7ў_‰€ш•фСBаxsїn…бйy|„тхdbwwяЏFъъ—рч—рЧцВ!яd‡hвŸЙŸ_•Л9iъкЬоwˆ–4wюб QNЌЏфцЂ_V\xЯA!aйыи5дС JХГЏV‘ЂВ›ЖЬўЁяИ€ў‰ю‰!ЧXGz2НI5I1Я\HЉ€h ЂЙщHжfŽ!Сf:лХдМzV‡ƒЁCЂ{"™@ЖŠЖŠЫŒ“ђ0ˆБЛmчєfzЅ!Ъ”Н!V'Н|ТЧмw’3}Ѕv„‡чж3'ƒмбіUxE„ЙtЌ‹"dЙ.Œѕ:JкУ'РRќ‚›П6зС0C{Ÿˆх­]?o4Ё‰ˆMtсФФ•ђЊJуbЊ\'b_Ћ’ фрСС‘Ѓ"яVїЧ№HБ—пžќАѕ— „!œІэЊг†ІMЋР‰ag*#зžЙАDљФя';oKККs†–({Ж˜ŠЋУXО}}ХЕ€ŽXŠЇ;rн…з3Я~ДiѓНВvЎЗ˜иНфTfzњЛ˜Вю-јLZ8†…г˜мšЧЋSБ((ŠЅаŠ™4ь+§оЃWŸџP…Ќћ!ž§ 1 г1ЕњbnB oo›мП†a:=§OОхH{ь€ц(av+Яо=9^З&bЅЄйЯчаЃ‚/EпЉїбЁk>nыЭќмosб7}S BNGX?'ЈdWŠЛg €8AKaрЕћsшEц}fу:›ъЈДw}b/3—ђ7ссщЎІНˆ*У‡ХђaP _ŸQŠХ 1шЩtHХR\Е…cŠ>eнљУ‚Й*ш~Сг?ц‡т_IЯЫ~АЭєтЪ-ЪЊ|КняpЇUз3ѓsŸюЕЙЙ6шЎД*н %єф–[б)•бДодзœњММѓўіf6fѓэЂъААтЭЉuэПќ#-2UP @ €ЅHŠ™4нn63яўsЉeћ“Е<\Й‡"ИЎ“ДОЕВЅŽeЂ{ЂЅŽ%Єb)8œ’№„xЂŠКЭцџRŽЭДвU# В3Dх!BЊ6[“SNэ…сU<AЧHЋнAU€Ш(ч;pžэ§§ZŸПŸ>оІw2штG>т~Ифїз—Б~Жв[)@A1€dРх€ь€–"!Q_о'їk№уЪіЏŽЗотЩbynБnCI’€ўuЉXй%йэп[ь$/ †az=Ќ†M -Жw§@5„'Њ*ут}dnљ›0wщ „Тс••ЊƒЊsS<ТVYЕ?Ј €\M—@q“P(‡›5ЧZ3А]tісйe#L0 3АžМэN‘t&НqђžБLhFЦУЧ›•ЇПŠпЙтЏlъ_{йiKЇ&зї™‚b€|рfFM3бЋ._ `нојГЉŽŽщЯAЗY0_v@Ka№ђяœЛ№АЏе™ЄT–_ТћыRБcУž…‰}@FЂВђьšЙряјлWŽ8ыUŸ2 Ыв"ц{Gїнz…•Zн“Iд‹ŸооиˆYv0лвв#™PNeЪо­ї}ž$мтЙ>g:3;џн5С_wЇIЇ<ž/Ф•N™(x{ьнА  lх%ўХ"%—[јqхiёЖfе'*МЇ‹д К{oSЇПў ўsgаFЪи=™|вЇЄЬ}Мgкь…J†Ѓ6ŸБы$Ёнєp3rѓK№‹ЫŒ u ЅhR$Дc E8bOя%f›Яб'wWA K§щѕkЊћ‘CГ,дj*AW•|f+ышЊtЌ'y›ќq"ЃrIOТ77 ‚кPЊхнЙc&ђ‹_м‚Зe”iЖ]К(6рМѓš№‰ˆњN№6пr<‡ƒњJ5=S€7і˜*†—,>$*ƒХj§i@tАpLкC№Уд­чxфЦ]CЁЪŒЄЃ_œЭLбxЃ ы•>I>ƒo“D Ш%сAз2‚ЄАчъT,z2н1ж1`4W Ъ]'Œ^ЗjљžЅжj_.-_tg|dєlгЏчЁ•Љ[GNЭ^}1l’^Vь‰зZж]a !ВMŒЁbWŒГз3i“Ч1ГЧ!„ ќѕХЈз˜Ui}2А“М(5Q‰$J]xТ!*[ZuхлЁ*џfш†mЧ.џїЖˆ‡"шX ;'`§<{9I"“+,ŸЦсB УXCЙ&ЈdqTHЊJJˆЄТ6О2D—!§ „њ$К'ЦeЦбДяЋŠuЩ1VКф,ђЁБPвu \PNпpхћсў3/у—аЏ™дbП'Ѓ Љі[ОgVy№0ŠО‰sˆаgїЏН!€€H‰Ќьnua;ŠWRM…Лj"Fь§kШЌтkў­э^ЫћН|Oхœ]ў}ЄђЩ s]лЃ*}џ”йgШ3Cџ}™ћЙАрSЮѓ+!“аaOЏƒяЊЄ=6@.реДˆœЂ >ПМCФдрЬ€ , 9M ƒЦ˜vmšе:+tД-kжПsФX !Ф)D1pYEЂ2ВЈЕwpšvыNк!„а…ТfЎEы:­9їlфЦ&mX8<82œ‘а|4%m‡5Œ_я+Sц2Юџ~;ЂЪЗ й‹ЯLЖг­žА­бйlА#r IDATїкe'ьOПЉ\`§^€VЉš:QоŸ;]xOgЊ*эё€ZР’“]’э—р‡JйœBйеюbX—œЇЕы‰# ‡“~tЁЧŠsядm—FЦЌwаЊїз—Хр€Ф@њГ‚R5uЂМмЕ-Цxб(ЫЎdтВ?О}t:2гфg8ўZTЬЄQМ’JЂаЂВ/КošyЪг~А’§ЪЈ‰]!Kf@ HHu ,7c7ё}gяcтбј'hLМШ‡€ш>ХчЬ‰OO;ГдN] l№ ƒЦp3vsŒuйм.hDХlaєЁ E‡ц:є0аежж50s˜О3}дСЈљІ~шPx…ЃзŒящ@—UYаєз!oП ЏTŽlЗіrFaA:3` зЖ №+тƒт~в Ч NzюњT,р2iGiЬКNы\&-УЊџЖѓђЕt:-Ы9`ЖсЇnŒwМŒ_sЏє0ѕьЦT~›VM-HuŒuLЪMJtO„љS ƒЋ|sх™jчЄ™}њЭ<‘GжlrЙЦЗЏoЂ{bRn’cЌcjAЊ4†шрT G.ПšђОЈњ0М 39nп"=HКt,%Iш,ќьЁ=œ,hњыPИ_PбПwџwгpџƒ9)#†’Ч›1!jшщћŸpAi1ж‚Cˆ/РЉРФФя,аFDsг‘Ќ7ЬB‚ЬtЖ‹Љ9!$ЌќTіЉRиЬ е‰WЉЉ­$^•ЇХWиšЉ‰mрH’Q“дЭЎЗnvЎЦхя [ŽэVЇbеНMкЖѕŠМћщa˜ž•gиѓђцоw@Ž@ј@ŠDйц^Pќ‘G2R§цt}n’зQ зГNx0dрЊŠл%јкŠˆMtс,‹+3ХХTЙ†hІFŽ+GЁЄЃRїН15иІ6ŒLOІ‡Ѕ†…:…КЛЕВ]uы9ЙБAзФ;z :X8&љВ|$аMTЭ†хЦ\Kgt=[ЋЏ!ё[ЯЅhR"]#у2уh šЏЅoы%ЗKяo{51.sБpзHOњ§щЧG(JJ62M*ŸŠ-*fŽ5ђJl&Рэр'љС(ЈТжŸ€ќ 'гЁ+шЈ8…5?1Ќ§_хлоU"*ЅWp‘ат*‡(Яѓ6йў›бк]f]!ѓрh3МХФю%џЫL.Œ)ыОл‚а/и›ЬeвЂC§<дкїijAЊ_‚E“’т™B&Ѕ:b .'ЩжЩсЗ)w›М№ьфСVх3žя§ЭV57cЗ”.)~ ~ŽБŽЁNЁ–:–-oœd@Т „ЇЌLаъЎѕ˜хœt M?1 cБЄsзш7еХЦzuмІъ_3i–ЁR “ˆкumюл§Хнј EЙЗG—впоміАЂYzf§Cжb“цжУšј›^]ж№я)i7˜BкŽиЫЬЅќMxxz…ЋiЏšsœЊž†ž*!„и\vрн@ƒа? в5ЂW@!с4mW3пБXљїw5hу—™@Žt ш@cаяВЙьцŸЇкoI@ˆQЦFЮŒV.ъл†ш@срЛК:о ŠЪ‚вАQш8—[„e/ЂVŽЕщ†a†QLXs6Ѓ3iК]=cѓkzSеU ,fвА]ЌFћLf7-Ш-ћьG|-:cжйТyс‡,A“ЊˆЭНd У0Ќzс•‰ц“ЎtмŠcтбЌLˆк쓇й‡К}^дџˆ~ЯЫџ˜XM3УзЭЌз‹!„я5Зiпи\yќЃ’6IФќ яДУ jyИr‡яC‹njеž:Ћ8GLrF%х%љ%јYъXBтпЇQ*–ƒЁCуgT> ЁgЬН’БПoєœЩуv‚тq@ЦШSОdЧЅж?(сBУE$*#‹*б€˜3iЏ$„BI !‡Јl•двГљyЇчв6 §УnjЄЪ~s=tйњ•ЇlУ;+Љ‘ …мqйъHТ5Xƒь•ЪЃЪЮМЙ~ћLBт™нх*a†їўФŒIЛЕж}|Сc%GЮ™8S-щьјžNЂ2XЌъŒ]Пдкџ“ЅMIЕ-I/MЯ§Bћ4X‚а…omAўсUЈiѕTFƒ4m*cfѕw1Žм%фVЩЎЃЋї :МѕOж–†Ыи\6§=ъuT›*^5Uћa—DЁ}ѓ[€ŽЏ:+.3ЮћЊЗ—ЙWР€€с`;—Эы‰SRBˆ_VPЦ—о@hŽЬMІаU\кˆ›ђФiяНџ9c8„^яБ.E3јГ їэfЛЪRЕЩz8йd˜ohиSЛе‘щSzЕ\нHцpпF‡Оrйsž=‡PЇСѓїьЙoПюф[jŸvlD‰ЈI"З)€емЏƒкp †AЦјQ’˜BщWXR^’cЌ#›ЫNёLљžшЊљАcБX,DЏ@Ј:Ы3…Эe;Ц:&х%}}@УnевЇЦŠ2^ВТNCzCђК58™ї?Ж&уš>$DфЁK<2ЖGОkЉ{4NГ‹QСуїБQд8йОЛZжх•сШV?}y˜Э§цZЈйПгNНѕ' P |ЇъŠW~ ~ЁNЁЁNЁ0mШ,QіЧ•2\§ЮђK№CуPMU,œ†•џщДЋ№Х+ѕfС:Шсp8_ DЈ~Б'Г!„ВСиCуЗ1ѓ[Ј(№8%%9;єТсP јк•VˆТсПa3mkХAШ ‚)„R&‘DJэVЏэкRэ’ІГBЊ+^e3ГГfAшЊhюяАх?›э->">-ЗЖmН[љc%TгWЌo7бПб н˜F-VХ eў,‚Тлл}–пv‹‰CQF!ггuПеЎЃЋ‡hС%ANaЭЯ–ПЩ!„jƒЬ‹ Їаt•ъ{Њ{СlњђnГBюN@Эхh=ŠЫ2j"_§sTьѕ2™YSFkуBHXœr%KˆБš*™PYP&@$%„ПфcЙЊŽzЛОУV"leЛGŒYЈіЗ РwSœ–6B2Z†ƒХїAo+/МюtКщљsSе‰WIyIЁNЁД…ДкшUХ‹ѓІЎЫB”1Ѓ-ьЙ!rЄ…ПРџЄRЄљGЪш\rЎы+жїš(пhuШ2ыЋ:dь`ш<8ј{BЦѕЪjЖVта2NкџПqўЬ)нjŸШ#З,;>њћЦ%­ы#_'6 'ˆкurэ>ќzдЊbфБlPШџц§Iмс3ЬˆРzuѓXDN[эыБЁКЕпќžлп |š ЙЌwїŽќяюРmЉќи+‘0_ћ„ќoQис3j?‰ X|Ыzу’в›М№З†ЮЕгчg'<іi№jЫvMмоОЃйjuфќИ^к!.3Ю*кŠL 'К'6H)НМэеФИЬLЦФз;шїЫЄ7DšЦ?A"ъ+fќдБуŽз–gч—Іžн˜ЪЏIХ"ШVбVq™qэоlmЅЙЯџЄвІДяP‡“ѓ”eю§‹Й†BEчЧPЈXDзI=О<њ _…Q@~Œ‰GГ2?| ‡з€БЙч­•NЦњЛєє№'њхасѕ*Š*iX1SН Ќ6aŸфEСДєŒmчг <ЗМ>ў‡ iЪ]Ї>ЛŒ|zVПЎz]Ќfœд\>ЩзПwЯ№‡ЋFі4ьj9nыћЩ!ЃuФбя(:ХЩР?„Эeћ%јЅЄFŽŠlf“2Щ€„NY™ е]KОЎN ;№цюн Wgчy§д x9YЇинЗ›уЊŠ_zсФД_"мŒнќќЂоD}Oс9~ўХ 1цЫў‘ЏаШЂa_ђыЈsiЮг(ЙчЂГˆЏмЯˆћї}ЇžКrд— NЃ—чі‹žjaPYдклј.žч>zж.я]t•ШьПБ`ЃХЪzЮЇў lvR§џ!ШШРR‚Т[AnНt0LЛяЌSZ(PиМъФ+J'JуФЋ:Њ§–єˆelф|РhхЂО0€яD47ЩzУЬ $јРLg˘šBТЪOeŸ*…5ЉX”N”яHХтМп]ф9ЏŸšxFк КЪbп%{}!#ŒєЛ9jРАь=уŽ]р"ЋІ­з€HAKa6lещДмЬk^/п|ПМM+БЙlяkоєd:ƒЦјVёЪЇ!єŒЙW2о]їyЗeGr…Ч €b!b]81qЅМЊвȘ*з‰ši‘vд+‰›фuУ"3№фрСС ƒžLїОц]г АuO".hzŽю"oщяШ%эЁgS?БXЌЬ„“l'яђ…•џ$ТKЮъЂ@лСх€ь€™$ Џm5м !ФљФ’є5лp—ч—рчkщщйЪSyь\6Џ'NI !~YAmаaIЅŽЛЂР[Lь^ђПЬєсҘВюЛ-§‚НYС\&-:дЯ“A­ІdЉc™шžHOІ[E[…:…КЛЕВYNЦе;„a ДсЊ…ьPŒ.аmˆА /џђкХIЃwЦ|{–_vIvрНРь’laЉcйњv5ьV-э1uŒёNЁЁЫЦSv­ЏфзwДэAьeцRžŽ*\zеМSqЊzzЊMš{єp3ЊЉŠlLбЄДИUnNъЭЉК&€@иаq(Цх@5nfдœKXћвдN…З6OŸПыіGaЗёa—~эС,M’ИyЇ2‚џљjРєК[O§>ћЦ/>ьY˜cЌcu~G›ЂW!œ†•џщДЋ№Х+ѕ&Їй€Ж#jyИrEp]'iеFšUœ#&E87}Њ{Ћ:Ц:†= kqЃšЃbв/ЙыР›€oЋxqРЛŸ†щYy†=/J{8Sž_akV]2їЛj‰›,бDЏ™љMл›ŸєЄ@Й$ќБ+ўRлГz0ЉЅSиь’lП?6—нжФ+€8р­ЗxВЖДgКTЌИЬИPЇаoЅbОЁє^№ЖWу2 wєЄпŸ~|D'iI2д­чxфЦ]Cш{jI€$XRЩ;mKdJБъј”=>~со­ѓ”=!д‡ў4aЁQƒп~иГ0њ#КЏЅ/ф  ъЊb9Ц: №эы+э)Ѓ'гсѓ н”I$М@ˆpЪЪ­юZ \„Ѓ5ˆ$Іcf`fЦ\(j1ЈGcаB‰ю‰И€\ шрегK*ЉX—œбcЅKЮhLМФі €ЈЉі[аУ~”q">pWFb7’WWƒhерoе ’$`„r3vƒ| :Š&…AcLЛ6Эj:к–5DSpњˆБBˆеЋeЄ_|ЪЇ!єŒЙW2уїžГ#yмЮAjв’фЕЁ‘фA (R!0@]1Л”Э)”]ЭРт"ЂЖФv€ЬвFОXЙХcчВy=qJJёЫ ЪјвФ3iЏ$„’(ДЈч‹О]ƒH*d$ а1 oo›мП†a:=§OОх4]RЬЄб˜ХвЉ˜pžoъ‡е}ЎPт-KЂ^G9Ц::tqќŒр1ёhVІцљІaЗjiScŒFE/YaЇб–u„ьМ@ћУv№'дД „—I ЧАš4fY§ЛNcrХќ*т•_ М`Š…c=ЮЏЙRСk}•СЊЦ vsЁˆUыЖ,DЏd`DЉђщvПУЏgN ”о\?Ц/шЎЫ’+–8M‘і(ХIPV€А#ѕъМю’nдСцВ§ќВKВЁ‹(пЇaх:ЭП=Ћ№ў[wѓжЄ_ВчTE,y~+›пл!DpˆђdP 5OЁњА—I‹ѕЋЗPœ Џн^|Ewџ‹1}RџsћѕЖг}—ŸЕъ=—™IONN-(Адб шппЭиXcњAU›­ЩЉЇіТ№‚*ž€ cЄЅйdIMи\PПдоiУ§b‰')‰ПЌА0ѕG]Lзf~Ьћ*Iэ6.3Ю*кЊК!DЏф=™.э!QЈL;Аl|§Ž›X €Vс”ТќyoјКKŽ9/ДєЕьц№^œџl8ЏяC•.Ю–>Ÿўyб Ыд/!!x№`–O№рС~ IyyвiлA J8МВR1“ІлЭfnŠGи*+b3KBММ Ћ~ћь|­ е‚ёФ5СaёoŸьЗМЙqзгЪіЌЫOн;юxэ${~щaъйЉ­MЙgsйозМяFŽŠ„ЂнHjяцїV•і0@<рr m‚А~фJЗг,O ё}ЮЉ^ШMђ:*Й ƒ J>ђ4Л•BЪФnšМХ‚њЛ†:99"„ Cœш}{{d ЋџO|џљ `3i:˜Эм№ЧlAыOH‰zёглБ#ЫІs›[R•uтзхЋB<)*RЊШL~Y8зЅ‡Жб№q=ЪпДы‹ oюо­0:;BМœЌSьююцпМz“”—фыHщDItOt0tј‘Щƒ€#€]rFGŒ•.9‹dcJ˜ў‚аqЯ_ŒrКћреЙN‡Ј™,–‹х#™9ƒFD2TfgUV!„Њ8йХЪфсгњsнŒ!Kд4ЮsЪX3zтњГ/J Š€,Њ*љќЅB€pыIо&яoeT6YТAˆЧ.яЎ“zєrn* Ъў—Л'ўfІГrnЧeъєяFlзЪDsг‘Ќ7ЬB‚ЬtЖ‹ЉyK`sйw§ќBBƒ“ ф;@#pЙt`œТšŸXћ5оџMDт’ˆТRМВ&AШ“‰О…ЪН~щќ9ђeт{NЮнWбю?ЕVН}/Y$РYо)Nеd|№…VtЙцчш8eхюsї^ч—pФ№З!ф”qдхTВ+!d@Ћ*SЗŽ2/њU1ЇшYь‰зZж]…M–RГђћcџ‚bzРХ|™јp!%Ub>sЩ@уО‹2Цo]аЋ},DФ&КpbтJyUЅq1UЎБцзЏNМЪ.Э†Ф+ЄЏКс4;Щ‹eАyBдЎљЩjПЦлТwГгЪћ3–B9ТФzх ъP‘tЇ"m—Ё:цЮД<жgfо№іЮ CPoу23ыюФef:Жя%Kƒќu!TбъЛџпionœ>~ќЗЩK~Д‰|§Я’HїQrsбфЋюс[Чu'"aйыs[oЪXšpђgбю€ŽGЕпђ=Г| Ѓ,тЈtБќя_{“Щ—я!„бlюЖIЧЇ§v}XиЯ:r• њmИN§—џѓzљїЎŽЗ˜иНф™щУ…1eнw[№™ДЏ$ф5ѓkж1=™–ъъfь&ЂA~‰ЪC:Дۘx„aж‘œŒЈѕщ{ъyпz T†O“#•1“*ŠнЕ‰В:mћЇ17ЇмэшЊоЈ4Щ5П„Ÿ"‰DCУИЬLП„„ШQЃ$6Ая&‰–ђN•4{Žœ4rNЈ7\фL_љpЁ‡чГ“y‘›NZцб+Z‡зuZsюйšњ‹š,Ё2ВЈ!dГсўs‰NaсЋСБ—™KyBx8ЊpuъE$єЋџЕ—Zъ—рGбЄЄxІРœAа*z2ц}(ЖN-њЌИ<ЯvъЩQ ъП5*№юнд‚KШQЃЊ К[ЎиЩOт‰ЪШbP%ER1ЙіЬ…%Ъ'~?йy[ве3lДdЁ& У#jyИrEp]'i5˜?HOІг4пООћU4њuѕnгLЅb&ЭЈvN“АђэщЅУКaжЙзЈeЇв+оо6Й7 Уtz:ћŸ|ЫЧыH ŽdИ=yzЃшB9&КЛГ||нн[^Щљ `5Ћўщ™Ј6X[ЂLз|мж›љЙ1оц:†Aa €Dр­ЗxВXž[ЌkЃцй%йŽБŽIЙI‰ю‰^=Ч<К’Џдю€:я}єЌБ §Џf|ќr| {пoчsЫžnї;мiеѕЬќмЇ{mnЎ К[*т—Є вЏ@G"5АФ *Y4…Змn`ћ7Eˆеtв/в€aшТ нЪулkўлш]SwЗйїKиГА@f`05иЗЏ/BH№хв5‚]ті ѓцјЎTчПzєю„В{шж\„кšœ*Ф++ёJ‹x‚Ž‘V“Ы2(И&“|[СцВУž…!Gё@qЩOЋ˜9жШ+Qиє?Qю†—sжТЏбй]=w…Км_Е,т ›HqY~ |Х`-9OWћN„‹%юwp+я”fUп8=Ю.ЩіK№csй( љЎђE!$ј”pE}иPе#э `qп?љвнУBЃбb^Wн@Mu@@мyЋvіL”+к­ў‚јеЁЋЈзQ^ц^YgГЄ=€H~b2§ІКиј_ЯmаШ1;ЪAД…Œ+SїnКe{єхS:‘>iэЧй—2ѓонXЁ|аO”‡HJды(ЧXG‡.‰ю‰ЈЈv)?їњ‘НЧЁк‡CB ™+ˆDНјщэи‘eгЅамЙЧцВщЩtЧXG„PЂ{b@џшБ’ТћpœІЇХ^€|тЇnŒwМŒ_sЏє0ѕьЦTОhУўф‘šVBM—(.љ `сЛК:о ŠЪт‰s/мO/йнGаз0Т{ŒэЉiѕІM1-|’,€јБЙlяkоaЯТ4FуFeЯNŸй7њ'Џ$v’—]руЪ6o”инF'ѓJJqУVUЩч/„#шXOђ6y+ЃэЂ@OІK{р‡@ш ЄKШКЕѓD™&д@r oюо­0:;BМœЌSьююцТџжнМ5щ—ьŒБ д>пЪц#ФkВDЩO !ЕўA цеŸѕ(ђж„Н^фœѓsя]ЩО;uў9ЋВ(эТЩtmыЎyrMkš KwLtцЦeЦYE[YъX&К'ZъX6~6iєљТъЬS‡ЈћС6Њmо СlЦђwWЌŽLљRYY№т\uвЗ%Љ[G™§Њ˜Sє,іФk-Хў” 5ЉЉuЗ!tP2|Й…ѓќя}мЙs,рШ+ЂЙщHжfŽ!Сf:лХдœˆS"ѓфНсы.9цМаPг% LžX’ jщџЛуг{YЏЉZЛУ$’fl`тќoоџоŠќЩиllXБп9ˆVuтUрНРШQ‘­4ћžРНr—)ЬujЈfB+МЗLяЁйoљžYхСУ(њ&Ю!BŸнП*єЇœ4@—@9ѕ:jЬХ1BW 3xЮќё˜КмYNhќ"b]81qЅМЊвȘ*з‰сЌЙRчэ4ЫC|_Їsjf‰ƒї{#Ъ]&„оЯc}zюm;6јњ;‹ѕ1хьjE­р^ЋilИGQцrЇЃоu№­ГOоен>—+not,IyIŽБŽ”N”DїDC‘mЗAЈ‹h2)$ё‹Хњђђк.o uТы:­9ї,ŸХb}~~.`ЈЖbЪаЂeЗ—-ПНМДЊBW$Ѓ—[„Ќ[֘­№4&H{$ќМХФю%Ї2ггпХ”uŸhG)aњ BЧ=1Ъщюƒ?№š]ЂИ$qТ"ЂМS^оy{ 3ГљvQuDXёцдКЭїЪDБљo(fвŒН4`уиАц›нїЏYLџт“swЈiЬЕЗ‡Mш'СД›ЫМш—ръ<8Ю‡5#ўqђЭЩ ^сђЫѓ(t%`?:рыlбУАЮЮ ІqКзеUFёынДYuтUviЖˆЏЂP]є*ѕKjyU9BHˆ„1щ1й%йпЛ=оћ3&эЎ№<њјCў‡ЧGІ”…LšѕWљєљЁИХWвѓВl3НИrЫЃrбНшЈH?Ÿ+ЈыJя•}c†с7ы›3iК]=cѓљuwЋ„•oO/ж УАЮНF-;•m€ЄЕ<\Й‡"ИЎ“Дˆ!„яfЇ•їg,…rў„‰ѕЪAЪЭёЏ„ IDAT-Q`’xѕЂЩ;хф=c™Ьr02FуЭv>~П“~I}њ_{mЕDZŠЉ˜9жШ+Б™^ѓ~Ђм<"і2s)OGЎNНˆx~/•ЌЋŸђЧRє•ёz_oK{”Ш z2=,5,д)дЭиMкcщPАpЌ™Ѕл›YоЈ‚~ЧCOІЫшМyѕ:*рnBˆ'ќšЉ_VU6цт˜Kc/5гcЁUмЗбЁЏ\імŸgOЦ!дi№ќ={юлЏ?•1yљцџR„Ueвdgˆ8Э„јQJjф‚C!w\Ж:’pЕЫxяЃgнmАёjЦX 'ѕдКхПw<>Ѕ ”њ’„ЗотЩкђѕОZŸОЇžї­џŒІK—„|!žЈŒpˆ(x{ьнб;`"O гш7еХЦzuмІъ_3i–ЁЂо“ќ!jyИr‡яC‹njоjБНыЄ-tyjц=w†кЛ.ЎЙНыьАЩнх'БЩK-HѕK№ЃhRRь€Ѓ‘&9,й[S\оЪє№CTL&џкgзџ…о1s Vё“Ј€ХЗЌ7n5ЦОД|бё‘бГM‰в#Ш NaЭO ћЎщџ> юЬІ/я6+фю„CˆинF'ѓJJёd .€я%)$O~X ЯdДd8Џ0Ћ”џL0Ž™кЫљFОЮр%_7BžezјЪ]ЇFœfЏX6­яšBЁ’ў@ЯUgіL4Р—^кцх­˜њЫЋŸжkSrЂщŽdQq QБžДћPЊЙј‚КЕпќžлп ˆHХlЦђ#WЌŽ<Жe’9юнЅэЫ#MіD/0…Я`ат>ЖЧ0ŒezDŠžL—і€d)aЖОпfœЄєђк0­O'%„Hc.ВъЙб+ЈoL<š•)/В *iX1SН L€r—)ЬujЈfB+МЗL‡Я`dА@Љш˜J2 ЋBмЯoXЄКjZЦІ#Љ6њъX_wo‹тчy„”щ@DpZЮ›ж™ŸІѕь13ОDкƒ€жtЫ- ŠуЛxžћXP}—h2)$ё‹Хњђђк.o u8Ц@–A ˜ЊХXћВKŒ”Oььј‘ь!у,Д~?Є4юТгOeEiчŽПжdЄŠ КLЯ‰Пg[ЈI§ШNXUV\V%џEИ K Т"˜L;’ZШЪ‰riкWВŠџ9>hмOКf`эЙыaБ ЎхЗЖ™гТƒ)%5‡Ї%7чwЎю5'`нојГЉŽŽщЯAЗY„тfFM3бЃ1‹тмќ}ДЙ†кћDМ(—џƒ[ €(’Ц]\5‡lикŸщеЧhр’ДБ!Пю„4‚ўrМюeбеdФnЂџ^?sBЅїŸyП|€~ЭŠі{2ЊZп—˜”\›b9хЄЎШeо 6žН&ЉXˆАшб•|%ГqMu ўZ@BВMcHаю…лЯії јѕчj%LšeЈ_ЊиBWBN— Aќ:URPЩцШЊВмNѕњFЩцџЛжcВа5xХ+HЃЕ›3Љш“+Šy‚O Wд‡ U=r!„•,Ž IUI ‘T8ьЪІWєЊ/г*ї^t.Ю’иТ~\ЪUєЫЗ’8І„є+пѕŸA:ЖВWђFЩЋ?*р‰uw%7§ВтТћъкѕeЏcзP/H(ы.ХBъewEо7 @j”Щ†ъEщŸЙЭ>Ш§єКЈ“Б–Rюѕ+#{kд,ХЋi9E|~y!‡ˆЉс›ЌFЂ2ОМO>2(юзрЧ•-ь—DeАX,ыѓу?ЉД)–ъЂy5rЊУf`СUSшHp=ЧЎ9њsўэУзЄVŠѓТЩ™ОђсBЯg+&ѓ"7(Е."ЬEЏtЄжлУЁєЗ“З=–б|f§Vжт„"~YюЃ‹зuS_СГ-gі%ФьC%йоxИШ‰ђў|ќл!шТ{Ъ8Sе†фхпЙxŸ0ФХД3IЉ,ЋфлWhљљ7Ԙ/ћЇ{‡ сДIЧ|ѕ,ŸЦѓ0 c5­ќ@Ўє‡.MX*жЈŒ\{Цђж_ѓ}Nш§•tЦMЏщх2yщЯэУЯ[B›}ќ 6ъЏ+‘sL ъУ‘‡m u›З ї\дЭ5№аA3ТmФNђ2Тrч~ТџДUя„;_ШBХLšeЈп§` aM3OyкVВ_5Б+ўы|Р$ -*ѓЈњу=гfЯ(T2ЕљŒ]Їoэœѓ"|w‘ч‰~j’zЕ2ЊcАtpBЮ—ќM}нzЕЊ~X3етНЭc”P Ъ]ЧџykСГ“џЫ­‚Уы8œKЋw…АЙўHЈ~%йnэхŒЕ ЊПJаЕŒ ЖьЙтIФMЯ ]фѓЊЊA dH3гŸЗ7?'КiЊiЧХЫЛИjŠ_DJ•Щш•ЁaKk)!Tђя,;Q—roЖK#Px~іZќўu ГWьъ-œŒЋwУhЫf[I‚џ CX>Ќ6ў“іH%Ј2eзZІiШ“їЯ"~~ѕ›џЁ—BqэЊ*џЦЮљ?ї3вС0 Уtm~žKgќŸН;‡j}ўЮ 3$цXC5F„J…і•б.-J%К~ЗEEлmOЫ-mTЂД(’[бh/qSнД ЎB–n–lƒdfŒ™пZ„Jš}žяЇOч8sоgЦЬ™sžѓМяћš%Ді€фр•]пzПќФцбBъ3Ъc>rыЇ‡a˜ІЩш•q…ѕе šVgЗи’†ЦпW3h4F5Bѕ9ћmБЯЈої> Ф-ŠѓJХ0­ю#–ЧqтМљkХик†i›Y“ЯЉfаАІhŒjЁ< AjГОХXпЃЋxЈ•JмabЦy›^ІjЄѕсР с8Ѕ/kЈNC TЕ,ч Ѓ%{zFМf #ЇTџњ(}ю9Ьѓш”K&:œНpdљв­|Ѕ-Ї=ўebŸ%|х§?BNЎАяЌŽ ћЏA№ћg=лО їПЋйEџь0Š[О%Ес•ЩхaAїЊП~7ѓъ*PпЉЅL&“Щdц… ъРЏКЛfљm›АЬЗЯкмі[{ЗКіў+Ўšя}ZTZєtŸљuџ ї Ї(b2Ы_žœоЯma•oD"QШі‘ЬЪwљ_љчфйЇоp[ОPФ$ ^ЊЃЃГ&k pр i]@Щ}ЗС&H]­ЕГЃйД™н•)Ў‚ђ\ш^хуЋžTbeнЬ5]хb­…угЗ:œЈ\tbЦŠвSv'Ÿе:Tts@ЂЈЛTбЪч+№q woo2‘ќЋћWВмќ0OTRР!ѕ6z(‘ЭGсpxEe-ѕO'tмТП]ŠўБŽR4љŽH6ьђЬfхщьщў-_(€>„YA*А@Щ{ЗСІHf>ћНBж^)ч#„pЊж+ЮЖ{qўE oCЛєбШ‰КјМВЎ"уbєKB'U^MжуbѕBШРѕ€T(Ј)А8cљ*ђзwE ))рт3Ж!z.а!>"л-vyНѓtn“~r u••{ 1 ыдwzа?UfЌ№Њ}ц‡Ѕ–—Х xf@Rпƒој}# ѕКкМBVZ*НёtРj?+е[^ ŽЇХGОŠД8k‘\”ќу|ПіEјї3НѓГј8Ж‚ЎГŸн­ŒюЇѕFЬYшœRXœяYЛwсоlд#g$LPGˆїсU\ф+ЬB_кЪЏ€hj|w№CР ёЊ’щ Ѓа“јˆЦЈh+ЄžПyTяZuГъу юg–эgЭныл XрлЧwЇ›аiё4ŸDŸ‚šqG ƒфbBRLЭ1^Dcр5ьWХџѓeYтџШS$MЉїy|w К3FгhŠљ[љЗЃ+ dЈРФ №q ИC?№Г2‘ьпЯ% )‘\˜ьын-№Г D$žяпЯŸO H ЈтT§јБ’˜л-мŠ'gVMь‰i6 РЋј{ЧД~]0 гь>мїlŽЮЖ"cšџ˜‚мњщaІi2ze\aНИуВA6ЛbЁXѓU;[[љѓ7W€YмrЂ:ЅщЇЄ8Ф:lГнцDuwD‰W“М>0еЪзпіI4BБžэє9ж1рFо$Ъћ;kЧљlLЁE э(ю хY‹?аіСИ%WГ]ЉеWWв–o™4т ИCВ@6XЈm™ЉVSZmХ-Ој?Їy‘9ZЮСWУщEqЧ#%ШDr№рфЂdŸDŸШЌШр!Сd"YмAZ!)З[T‡ю‹ŠЊч•,З>Nч№мї•\Qг@ПтетДљaŸЈЄ€CъlєP"›/ој€ŒEB‰Љ;,E—Нwo­SПzАќЌЦ Э5Э-ЮX„d„ˆ;€4С№е šVKЯ4—0_А„!”pq‹[Ž=— Pw@@&Шl€а)hіЕЊІQ7rНЏі‡Гѓvёячяdрp9яђЖлЬ5ЭХ‘,Р0žИCРdТ€ХпЅцї.чщБnKNЙОИ;Qмё€Џёk_ѓѕНa}шмB eqгЦ’vЂH`IJн) 7ТїЏ(pKџЙG МОvОЫ#`–v1з4ЇХ‡d„атiоцо№жШ}H;ШB~W}Mi•‚І–2QГяTwУэЇ^Г %Yј5ЉвKŸ|<ЬУT'юh>Д”Дƒ/6€vуўЛd№ˆЭL;š t`љ5оННгмввЫг-ЮZ$%‹;€cЅo1hо™—еьЪŒиSЏдћvўўИšAгъь[в№yб€ЦЈFˆЯЪ9Зdp УДЭF/Ъf‰ vQуUЅіnЊa˜Жщ№…‡1yM^FŸЋ4ЌЉ&лќ\ЃЅ Ын›xъШ Ъ^]Ш˜ ЃдАˆˆ‚оЄ#i“Žˆ; YA&’O:}9яВOЂНž§Жл`pwBU3hzcb;™‚!dwшŒGцђС”ElХЮУ–љ­чn!р•ЩхaAїFnuPћœPсО9усМOwУЕзЮvzдšeы.:œtе'ѓ‰ˆїЭЉYSїЉЏŠxrЩc>>0wЪlхфѓПБЙšc<“‰Њ4ѓ`ŸєxGЕ6ЗгќдГ>ѓyДUЇeП6лє8 !Щze[ž1B}–фƒйбъ™†aL&œ‘ 5œЈNіњіЉg,‚‡;QФ@м+_›>nUлwР#t›Г№P†ѕ sЅЦUœЌ“{г‡я>ъвГ#BШк3ьЎЇ Т•œœ3С/Gю0Я–ŒCЈуРћї?А]s6ЧБ—€jэдЬZ$YНb!]%ЄЈ !їэyяz˜nяЈ‡ч—5Р0Ќ“Хд)•’ѕ9€МКh…ŽS™­ФG$ GњЂ„стŽуШDђЖлтiёiё4q‡гV Убq*^b_UЄ‘Р>V|DЖ[ьђzчщмњk8ož–ub*гpА RЫЈЃЬ?WсШc ЪpФэ%=XЌє›юZGdЦсЧN]нcSBо4НТsо}ї;ўНЎ7Œ:qу7|ќ_ђG_>NХ#„иэUуЧ›ьlзŽ›0з4Ošœ4хЪє­оСЫИŠ_ тg|~U‚вјbW kзѓ›ќЌ ыьg7gƒЖE!„‡ј<!ЅЉљsф#„pИцO˜Яџ‰].Gиђvз YEOMПY  K*HO‹ѓ.ГЊыLЋN№УtQІ‹sOLa4WЃѕ'пВ‘€X|v-‡ЈBњђЙцБЊ8DВ’еЋlђ1K †ЄЊ Ž€ј G‚ р†#v"i цгі…кžПьЯQWPSр“шSХЉBпКĘпЪ:1њќЊ…Єёљ`ѕг‡–ЧЂёЬe]<‚R&!BЄЎ–šyWгЊЇФd6ƒЅd`Ћ“ЧxТtЋC!~uкеќNƒЈЪJd"ЋМ–‡д№Ё†šтJšкјmАSvr=2ѓDф‡ЄŸ]}Aд1#ПН§ЄЄ№ўеЗќмЈ‹Я™ЌЪ—ЮfkќhЪ‰vЈЙГh‚пЅ7l„тзОŠ]х8а+ёН [€l™Š<ђА ЉтŽЃ ЦнByМqЗФЧЗEОŠtˆuАзЗOšœ$юXкJђ_UiHп;ўdэЧ поs<П!Нq‰У EаŸЛ/5[’'№q xєЧЊC_Ÿь§ЧsyxЄh№#rP~@;UqЊмЏЛ‡d„Фгтс“"•&“ЛTœ)(j@!юлќЈЊЎ“M$kў1 П№ъУќfw(Џх!Є яЮXЃ|ибXWзtRpћ–™нХŸ€)tž~ьќRђ9>uє-fU]:U@ш4ёРўЁVŒшЎзй|ќж7гТƒЦjJOnШ-œLNЬ„…bmЉќўfмwww/˜\gї'јЦ€С0ždv›‚YХE>_y)zжЂџЬЖх эrоeŸDosяІЉЋ6žкI 9Š= vљУўю|–Ж€‚ђХЙй_ŸSўП ЩёŠTw…‚Ќuєиžy ›,Ц;ХЌ„ћQrДћЅЂC‡Wˆ‘(މBЌ;­fа hŒjюћHЫdќж;%…бю&š† ДШ>ЛВД’§3Ѓп‚oi,М Иpzєi(М’v$lЪHvєхїмњї—ЃыGMQЭ<š:zlF|w>“‡PCкW‹@@RџkjŽёЬVХ;BB@ЮёYYg|эє1н>гџМWб€ЊЙ9ГџЬ›5тLњ%%;Ф:P:R’&'йый‹;№ЫІSКжDхegчFзvbŠЪВыѕэ4t:i;P ёО^к@ ,СмCЋf8ЋcЭQшЩUиwSѕ%wіz;Zj5Ж cd3qёсћх n€шШуœіbvW6еІl\sп1.ћIјиьzрƒj(НњuUœЊ€”ŸDŸр!Слn#ЩтŽЩЬxф‡ЌааьКQFf$<ж™PxЏВДЄ41‡юыE  ЄЇKЅЯє‘–О7 ПЊ‹*ˆДьIN}і!з91фйС73 K+ЪпН}~5h*:цF?š+cR!тV<9ГjbOLѓcЯSnQœпP*†iuБ<ОˆлЪšяt†mв­УАЮу–EчВEњt$JCYвЎ™v&К†aъTЗЩх Ќд}žАBѕйA6:цrBьДu§z/yX'ю2‡SшЈлI]ЯЪcДoйš9ЛR*рзЏh,М*x_…WВ‡Єю2ŠЮ5U„,—YлмNш5ю•RW<ПйЂИC Є'Eш<9РсюЦШ|Ў0[aх$˜ўЯošM7­ŠxQEлx ћъЅІй7ВXТlШ’šфѕЉІОўЖBёЋюЎY~л&,ѓэѓЃ6З§жо­nЙцћ;$лG0™LfEIю-fзќџИї^OC"е=кМ№˜Ъяž—”—fž_ЈriGd6Юdœыў?яИˆWљфN•vеgU|дPšš\еcTw%qЧ €˜РBBЁвџГ(mT IDAT;=Яc!„:9э:ГwlзУZqG%ЕК_sпfЛэєЈгPx%ƒ}ЗИ1™n[њBЄn&Gў™ћюЩˆзg^r"6[wЈЄ‚Иј Ъ§6&^њz•šc|ОЃ лP2BЩмЛ#šКhДyg2qЊŠsRЯЮ3c—С T‡ю‹ŠЊчYЏтiКЧ8шЊ5<м4Ї]~YЉк|Mн„BМŠ[Ы7їЦ§aЃ†kЙcЧуАIцzВ6Пo›ёие%Š!EƒDРЁNVsŽ&ЭAё5Чї(Žzё~ОFцЭw§нћхпxY7Бї‹ыoКŽ6Wmх…Š5_ЕГЕ•IёьEИŽ§Wэџi‰ eяwіЉŸ8’Vщхщ>‰>UJš[ЄЎав”РEу…gТ8ыЖ{к/,Јс#„X7['ЯЃ‘ Œф6e~З"џ=yА&!Dд2"зЄTА[Ќi@!nбЅыJ}#w4Я^U%г)ŸЎ5GџyuIДOArЈиЎнhх2Сь‚љаaC†vž0в\KсАўN]ЖмЬЎъr;CcЬ‚бQKѓЋ”oџЋfПRG’Žq e…{–ЄЙ^ёŽ…p˜њиEv–ъiТиЕ@–Д%3еjJ Ш•РЧ!щ!лnЃ›аХ Є†єt!EНЫBЏЅНЉleЋ<яёхƒ‹ь%ъ*H›–5@­TечŸњmУ‡AnХ&у^б5ŸЛV–§—vЩћ§NяcЏхwD6ЂЁл‘^џsb…Г1ћўюЉgЧ•ёRаБЎє8%у^ пквШвŠ›|?ѓaЪ‡оУЛIRЊЏсбц;ЧTњ\x>ЗМlNцљ^*—GfУи99уы\˜œ49 ВWј)R”Рт]єЕеХ0уq›џЎlœЎ„_—Еfѓ}a=ёЖј!EMCЕšМŠz„Ї4‹ЉжMKЙХ„ИUКjІG\)ф"Єцџqž‚xGеЯ;Т)tЄ8ЬёЄц\—чйxьѕ$=‹Ў‹6„&\_^Дjнƒ‘Ј#lX7уJэ ШінŠт.\.6гKEмс6ХgWѓ”tU)‚‚B'ЋG“œ|Y'Ѓ}“ыBˆЯbЬŒІЧБx!ФНчŠa]5B1н(З§Ѕ5|ФЏc†Я‹Ё~YУŽЃЗѓŸIІЁvbфъџJ!&]`–@™ЕSмH6К =žOQЅˆ; ,X(жютŽ€D“žТ"vЦ?Ўї:ђь wѓЦИЙŒYZE лж^вZИeЊD]ЃаŒ’ЉГmэ–ј4њэЧ‡OW :`ŠЕXЃT”-|ЖНІOє1ЉSЋнЪX%Љ‘Ч^iлQфvЌSvЦf;чn!^ѕ щ7юЈЪ„ВйИюџЮМжuыHХl9eЭƒЎ‹wЈKTŠ^Сv­• Уь‚цаa‡ІNЉЉЅЈтф­Очрeƒ е‹ђм~џЌ4ЏабLПВ`EBЃьn†ъ•цљMI7~тЭЛ –зђЈŸжŒыŽ8On+^М;7Ђќх,к§А™“ќЭ G"@‚Е{ј3)7Mў|ч…a“ J)ј8fH)J`e0 =ь ЈhЂёž'/oэ Lш0sїku^ЎU3œ шI­Ьхkя#Шf€LЋfа(єd„BЩ !ћ“ЖіѓЁїZ_ЉiыЕџФРŽˆ0h§ж~3›ЎЙŠB$cЯSOЮXwcpШЭ&Љ—/c`uњN^ц+Пc`‘z- _эїћ|ЋM%ѕHAЇяфeсў$„ъhсdŒѕЕд" ‚ЖЅ5™•g5Xв}DУюGўщV”^t7Љ№Цю+'эRNQЕ†˜^ї№Т”С1oћгвВяЪЫ›њwјВВšA3tK@vЉ9ЦЗИЛш|эхЖ&‹ ЦnћjЭЇљ4-з?xўуНЩ1\G‹y‡nЯ;дтx—ЫE.?+YэШdюqdmСkјР%шYtqЕштъеѓШЈИuКд^0‰3/4чпЫ Ž›NеЫєЭЉNсXRІ]qы№щ0W#\q@Шє&k8Œ}8<з8Ђ!ЬИС‚л-Щ!Š6цƒG КLBі !Dш<9РсюЦШ|Ўvg ›ЯїšєфnA}=ЗЁ$§ЭBІŒCˆ`2ЃG‡№П#;і˜нƒдcVег‡)›o\Є‘u(ѓaiCUцЫ9тіНФ›Œ"Н†‡7уtЮгЪ†ї/s#Г”l $ЊЫ$ŽT]юT%г)FЁ'7ў№yš6ЏЎмocтЅyMKгдуѓуей @юz-БКkў|ЋукZсН\3;.сoA@)tэц3ˆhэmDUDŠTЃ…жФA>FvГoъ™ык=м`аЃ’q}Ї(юЭжрRшоПvНMxлGu3э<ŒЁџ ПYx„nsђЪ`5п”§ќШAŽч\Sв7л|uІBŸp8М‚ЂВ–КЭ­ €Ÿ ,€єPБ]Лб*~‚™х˜KЖ†%Є—е#„ыяд%ћfvUоэ 1cG“гѓЋrnџЋf?@.gјE8eу Ћ#nІПЉ`2™LfEСг„ƒ>Е„1e€Ђюˆе1—+œњуЌіŽфk{fYЊЫзЬ Еe|гi“њj“ ЪњMЅ›ёJпKw V |DЖ[ьђzчщмњІЋЙџХlтИlИцwNL›oCъН<ФхЩŒоzZК=\S&ћС l€lƒ@Š нŽќѓњŸ+œйїwO8;ЎŒ‡‚ŽнpЅЧ)їRјж–F–Vмфћ™S>єо Ўf>ЛЌИŒнJ'АіЊfа>M-Ќe2~ы’ТhwMСO4,щTЌ—.дЛ}яПZnЋјat‚жќ%TФ•Р)ш:ћйнкС(с~ZУgо§3киЯњ>б-ЗсцGЎ>­Гуяќ’ќ”?ѕ#Wžј:'фUгБејЌœsKwС0LлlєвЈlЊЯйoћy*sŒъ}яƒ˜У№ &<і‡z’žХзEBЎ//ZЕюС„Hд6Ќ›ё ЅЦіdћnEq.Žщ%{~@†>wmС-Š[:И+†щZNџ3ЅВqHѕš›67kзˆšc<Г…Ъ’ьЬу#TзЪ7qђЃМЧzпЊF ЅЗ6MшЉaX—3ЄV‹zљš{[ЗЧž]хдЛГ–ІЎй˜€s—6 ыЌ.ƒ‰<ЂёЬe]NЅTЁЦ^о5іŸHм3BЃа“Ћ’щ”a'ŠZžЕмцѕ‹„ЬЮSi=Щ$В™уфЮйзГЄКЛ%<ю›3Юђ}ЏН.ў/эЄkеСu ыы*PпЉЅ‡™МAФ%€Жƒю5щСЮиlчќР-"Фk >Ё"§ЦBU™€R6з§п™зКn=аЉ˜ !ЇЌyаuёѕ_Nбcжо‡VќjлHVкое Ѓ Ї—‡TЦЌZсЖ?tžрGoGˆ[ЗТе'<­оpьђр%еёiВ`ŸєxGaƒѕсёЮѕЩ=mыШzВЩїqщ­ЗNy'Кz §{]Г^iXh›Ž mмŒ9ŸљеВкшs…•xМ< нзЁЏЯ‚Sn;sy$„RѓW9!„Њ4ѓoќб[nCJЫЦВc/ЧLяRtх|ŽКЙ>н‚ІиY'їІп}дЅgG„Еgи]O„ъTА•ŒTфЋwђ/ |(˜YAр—A €vрV<9ЗkУІрЄn‘ЙТПИj^ХпЛњюЛіњ=AЛ}SшЎщF2x&OъЕ4|Епяѓ­6•д#О“—…ћ[BЈЃ…“1zдзR‹€к–жdVžе`ЪЏOаЧd2Мэ"зœв—5Tї!ЊZд9У”чЙy*ž<6Iа­ˆ(Mі яЫъѕ&˜ЉсЙ5Х Іг'іжTСiLu7оyЖƒš%АšЇœЇОфN№њ'Ў<ЬЉф"„ˆšІƒœчњЏgЋ)ЭWке …žŒB(™‚!дЃЇšfуo№ъУќfŒќэлНўš?ж>Вры/\Rя%ЬїBљMь2|щсп{Щрзјœ7OЫКʘ~]ŒнPWY™Бзб№ЗзU$ъи€аУџГ&C‡pФрчЕ6ЗǘБžэє9жqХМ’Тg,яЌо˜"›sЯу:ZЬ;tћe)“Щd–НКsФЋŸZуQ ЏуrЙ(cK_BHЩjG&3К ЄЎжкйбŒl!EŠы ‹ГtЏЃOЋлЙŽSњВ†ъ4Ф@UЫrЮС0ZВЇgФkAŽБѕ}*}f8‡KЪḘ­™s?'чйе№cfуD—EЋЯ>ф:'†<;јffaiEљЛЗЯЏMEЧмшGЅ{\ЇцCSю}IBєнў*.џ:'ЅцŸџiMѓЧ6YџqМњ 1щ%L&ѓ]FЌПœд‚ЏсpˆЯу}}(Qд1gЁopJaqVМgэо…{_АХє˜л-мŠ'gVMь‰i~ьUЭџ№"ЬгЖ3†aџ‹)рˆ;>€ˆЂK,uЇmЌо =T‡ю‹ŠЊчФШJ–[Їѓ xюћJ.Јi Ў(ю2€dцГпЫsёк+Žg&jсpЊж+Ю[<7ЎN_ ­|L“бfvWRЄИЪsЁ{•pšь[№кNСБ Л7­ŸсїфM ХЧnЅк8/‹˜MY:+'БРє1гlДћЊht_Нє”эЙ,–—!Я%X+'œ;[? ^љhЉЋЅfоеДъi#Б/§rIІГџXгјcК‡щžШЗ- -„ЊI^˜jхыoћ$!„ћљnЏуњ›яНDzvdѓЅПпŽЇўzэ=@ВЩfТ–Ї†AW лp\c‡ %+џЫ-рlLшфЃл&wxЬfљљ”&ЫЊ}ц‡ЅЮh#ЂI“}NйxТъˆ ЋEгZk”Œ†P2їюˆІ.mо™LDœЊтœдsЇѓ Ч)‰/*а6mЩLСU1 ЯZж„пЪг'ЖL5Сх&ь\vкpџqћ˜Љ џѓŠЇіodx–оCјц–ЭюГГџŠћ0јАƒ* й/>`/ор""Šjk‰Љ;@жЉ9ЦНЫЙН;Оєh6R ›МtлвJJf9lд˜&;;ёc§бЧ4YyYœиЌfа D8їŸЂёТ3a“*У<эЛщjihhщлЯм“=њhф#(П є]Уk”;ыъšN Ўsп2Г[GS%ƒГЌ;ыO8ЅГтWwЈй‘RœТчЅФ†шщf˜zїqn—Е˜Л ƒdГ БСНжЏoљжз”V)hj)5ћNu7м~ъ5k1œ“ tлr[tqЩ$Џ“™њEDЎВSЧ#ФЏЫŠоeАЦVхЧo?>ЛЌЄFЕ“I’&хьБНщa\QoФВаЫИwф“šc|ОуЇ’сд ЄЉAMпiЬ–„Ь-Ђ ŸЧЎЭMг JќяиЛгž–ьє`є?@цA aъhЭ/ЂXщ[GL/X2U'?ід+ѕОс+\ј л&d‚)fgјуzЏ#ЯЮpз9oŒ›Ы˜ЅU”Аmэ%­…[І 2{Х-Š[съžVo8vypШ’ъx„jnzићЄ Ізj†Г=Љ•1уэ}ZЌjcgБŸ>ўW3h†єЗw†яіД”ћ)б>СС Q2“9wиbцСьŸёš; Ь] ƒs$drg ёеЉКF]-;u ъLv7нvЊˆрL ™'я'IДG5ƒ†a…ž\•LЇ`&Тn&пЂдgй~лS:тЯпї[Oј  шЖ dЛ(ƒiHГ7 hќ!ћх­=~Л wXdЃA`+ЌДНЋFAOпd„yЙЮ7,ГNdS"„TњLiщ{Ѓ№Ћ)я "эЩ"Œ!ЄвозЋЦNY{ўпбŒ^/Љ˜ѓ™џФІ/nеYžш“_™zЕ/ШУ uЪ=&zљвГwЕ•/ў:љJg€СїG ЌfаД:ЛХ–4|^lь'Юgхœ[2И †aкfЃ—FeГD; н РЯћжмотDаВъЏŒ&“Yњќ/˜M\$ъkJЫъxзиmѓЭнзpЮdПO ) œ‰—{"w№Ц]^жъ‚ОЪф”ОЌЁ: 1PеВœs0Œ–ьщёš-ВЁѓф‡Л#ѓЙЂjБU8%У‰л.]№гПюуррК|п_ї_•дАхkP,kљOмAсшаwЎKїЯїкxхїЏmКСН7№ЭяЛеЌиэpƒnкйpи>’я“ W&—‡нЋnњэТ}sЦУљOОяЕзХџЅt­:ИюbЁ|w2а…кКm9У#P]І[aТШŽ“КZkgG3Вi3Л+)R\хЙаНЪЧW‰ЊIЙпЦФK_ЏњjбQьdч}шцŒЌлчNž\7mёЃbЫгЏ.Œџ=Њ+yХ{—xЕУ`;ЅуїФ `jŽё-ц”Ї]Щкац№нц,ф<”aНТќcЕ'ыфоєсЛКєьˆВі Лы)АxТ U­аq*ѓЂ•ИуШшЖ ~дЬиxЏћЫMяFэ:M2ѓйяеВіJ9!„SЕ^qюАн‹ѓ/ъ$iќvбСЋv1wуёkOѓ+Šх({%QъKnяY0І&†aІEЕуџš%ЪЎ­ђЄЁ№ЦU•=…:+b Убq*>aј/яˆШv‹]^я<[џq чЭгВЎCLсН€д‹ ,~УЧџ1LОG•ЃёуMv = ћaЧŠ Ё!mxё[r@лЖmѓюэ-аHЛmЎш>0­нёѓУRч‡ Пe !І‚/ бЦ~‚ЂЋЯЊ}”>їœеіЃ7із1Ж†Вf,ŽвЮЎ›рƒЛuдI[.nўŠVmЦɘƒ‰бBЩ6ЗŸlГќў`F@Д fVіbW|ќП ЇО­™пфg]g?Л9;Д-SGуpˆЯуё’Яћ%HЙH`сˆп€pФdТIˆ6ЭB%є DqU)кѓЌ j мЏЛ_ЮЛ<$˜ЂJxLДƒxЏ@SЌЌ“~›оy‡.ыеXGЩ~ёчь эЭћg‹ЉЎ’__[У!ЊЊ(ЪЧ%UЫЬ†aтќŽceнЬ5]хb­…угЗ:œЈ\tbЦŠвSv'Ÿе:TT3мЂ‹K&yЬь8а/"r•:!~]Vє–(ƒ€5Ж2_в8‡/BЩZdAќХ &ЊfаЬƒ}@і 4Gв@ь Dв@ЬЇ?}XhyBN4žЙЌ‹GPЪ$„CˆдеR3яjZѕД‘˜|nzr‘а™Š<ђА ЉтŽ &UJвф${}{‡X‡ШW‘т IИyо›оŒ˜њe@i’щ зїл;U ЎaнkЎЛšЛ^ЏSы€иЅFNдХч•uЃ_:Љ*№jВ+ЈwрьŒ\яuфй“:g7Ц7 Ю }v—9ћXЫ|і 5чгL8jŽёљ’0+hNьЗ[ЦнByМqЗЕП}}АїЯхс‘ЂёЌe§SќVžN+cБЪџ§Ыпqъсœњя .ЂH`IЭ0™цпЯ?ž’т~нНŠS%юp’Ёюемn3(M&А"шиOъšu5ГNT14ЮЎѕй—Ч:жh#Rпƒој}# ѕКкМBVZ*НёtРj?Ћ‚k…]”С4ЄйP‡N4ў§ђжПнŽЛ,Вбє4Ÿ€Џре‡љЭюP^ЫCHAп5œБFљАЃБЎЎщЄр:ї-3Л)Š;>РЗЩEBhdЎiž49)№q Х‹р!СNT'qG7ВОrev)i}щ0Ш.|^ЊЌOйY’Ъ ћюМXбoОџocК)з0hцС>щP".xЬfiдГЅMW Н>JР­№ј’Т!/7іDnФž]Т™х€š 5HаwћЋи­ёg’сд ЄЉAтŠ №SDё=)іКS€р1ЙѕгУ0LгdєЪИТя€ћїѓ?=њtР§(Х2 ЪŸлJйjХZгШЙKŽ&e—ГИJž_нЛ`NЌХњVЪЂŠ€ѕ›ybЙйу .гVžL-WчE№M|vYq[8ѓђT—щН~О*2ѕlћ‚`мџЎfќГУ(nљ–дплм^Я>irЅ#Х!ж!Й(YTQ$Bчi‡Я/юxбw˜‘ЎІ–О™уЊ;]ж^84U_Фeъ8•юЮЋ"bŒџpюh: #nQмвС]1LзrњŸ)•SXзмєАёИ)иЩ;Š~щ1књ­ƒ.„‹&"_(Yn~˜Ц'*)рњ=”јУћфd"yлРmNT'ŸD''+2‘,’X(ў 8хюЎ;т\wˆ;„"vВѓ Nє wђŒ•Жw5У(шщх!•1ЋVј†эg&јj<5Чx‰œMXИg/;…~vдrRK2XE[ЮŸІњ[љУuІ@HJ!Ф-fl9Bє<4 mГ85–bљ$њ8Ф: ЖзГjйЗЁљтŽќ NщЫЊћU-ъœƒaЪѓм<O›$јvъKюЏпqтЪУœJ.BˆЈi:ШyЎџкyЖšbЦ]zs@pяdt!@<Њ8U‘Џ"B‘Џ"a&AсзО_р~ІїЁs~mП[N&’O:НЭv›ћ5w6фЉЋЕvv4#›ХGH‘тz Шт,нышг*ž@[ЉЯ>ф:'†<;јffaiEљЛЗЯЏMEЧмшGsП3ˆ# ЧdГЋ•л/пЈX–о[L@к…d„аMшЉtzHFa§:~MъŸєпв'ѓ0UўљбcœЈNiњiŸKБЬ5Э…#2Ъ€, ™љьїђ\МіŠу™‰Z8œЊѕŠs‡УЯЋгd+ЌœФгџХLГбjќЦRб6шОzщ)лsY,/CEA6ШйL`ЁЖeІр<ˆKcљUвфЄРд@яооБоННaІ_Т+MXЖшоФгgц‘кЛЦRЌШW‘ДxšЗЙ7dP>”БїXЫo^ Ә9Ъš; Ь] ƒsтеФЪЯСc6ЫЯЇ4YVэ3?,u~˜@Q2BЩмЛ#šКhДyg2qЊŠsRЯЮ3cЄ$а†Y]ƒЦђЋЦŒ™Hn,ТwPRю§ЃC1™З–Yuњ8‹“эўзэьƒA7Ё'MNJ.Lvˆu(Ј)l˜YSЭ РДq­сWІ^-СЭЉьКд]ш‹†џрq­аq*ѓЂ•Ау7Eу…gТ&U†yкwгеваав5ЖŸЙ'{єбШFP~$ ŒЎ2[€$kLZ}^єюэн8h?Еq—*VшAQЅФгтC2BЙGI2 IDAT,ш(Љ}ћЈT0@VЩXљ•МЈf8а“šOrjя#–`$ЏќўuЂM7вН/kИ!ФЎ@іНбЄŽSё!~ƒућnбХ%“МNfvшЙЪNП.+zK”AРлЖЭвŠz#–…ŽXжtŸ]VТdѓЕH?п^‚4ЄoИИКл˜ПfЊB я9_-июhpŠžŒТiѕ1іпoчiСO E|НFQЊŸ6ŸT3hцС>щ",>хГЫJjT;IљЁ€6€bрнлЛщ"™HnЖU3hzђЇ%’О­ЧЖЃ›'t›ВЂфнлл;ЮћЧлф‡ъа]‡ќЮrЦ/uЗPmЌbЏfаЬƒХ•$тНKМкaАвё ,­ўˆЄиˆЄ˜OПзрЂт7 œ'тcgјуzЏ#ЯЮpз9oŒ›Ы˜ЅU”Аmэ%­…[І .{…З(n…ЋOxZНсихС!KЊуЊЙщa#кы^a ˜LюRБВ ˆоЃ qпцGUuнiBxƒˆі‘nq#блGГчЄ˜оЖEЭз vъч-Ћрv‹„‘нCm Š.„Pw @{э# ˜L&Гђ]ўНэІŒдŠ;$sИІЎkў˜љ){…RsŒЯ‡k† o\UбѓЋ|ЯИ[Ш#wыŠ<ђА ЉBŒюиELCšНuшDуй/oэёл]рИћР" AfеXi{W3Œ‚žОЩѓroXf]ѓЪ>Ac?пдчc7{lь_BlŽdb4‚™ХxЫCˆї#ЛjЄ‘ЩЇс)qDbkЃёJџyоаb WHёpђ"gъ@W_ е guЌ9 =YxŒ‹ўа€$1Аt8<ёИ|I‘WxiљhГЦAž(Жža™uЁŠ Д^є#ћfїеЦ0 ЫЅЩе|ФЋHкфиУ0ЪПMуŒу˜ќКЬ№yЉІkщЖџq |гЂкŒs1Чі 'W%гmžА~e_ЂЯ>№ј’Т)xЙБ'roмхe­.ш’0NщЫЊгU-Ы9УhЩžžЏйB§zце–уЌvЅ—3™Lц•IТьjDТІŒdG_~Я­9К~дьЋщU•Јф†тjоїжв‡ЗъЌ•…Гs чTњLiщ{ЃйTAЄН№ff§ЁI"ŠдаUЩt †a:н,Я~?уРкўЊњуw^Ы,a2+пхœŸБuѓ§ї)qeIXѓХ™gnљэNŸО<ŒПфnю›ЛЫIWџaђ ќ‚П$,Л–WђцяЕjaKУsк9О9h†[ёфЬЊ‰=1MИЏ $”?qR{БЂё*Ю>ђС6Ы_™VOЌйъ2н Цљ2ЉЋЕvv4#›ХGH‘тz Шт,нышг*!%qB ЕщлД0-Ыбo„{"@0вЕ&*/;;7КЖыгЏГœЏ*Јъјk„дoДCпЙ.нл=C1пCш<9РсюЦШ|aеЖ њC’Dš*АъKnяY0І&†aІEЕуџš g ™xЬAn§є0 г4Н2Ў№ЇЯЩі‘љ%џьэuфжпW#ќ‡ыЗјъ“ЌЈкъ:FcvМ,gжёBˆOъ9wЎНОВ’ЎЭH§ЂGџUч?,5›уbЎЎJ§›—…2BuЏn?Э‰š7€вЉЋемЈМчЩЏщf8јЄ&y}`ЊЉЏПmGqGH §+Х’}hМ‡DЁ'М™дH ї*Hf>ћНBж^)ч#„pЊж+ЮЖ{qўEа*Ѓˆд)ЋЖ…мЪyzШќЮ†НЯ„{&@23љ!+44Лn”‘Yг?_З05яЂNяMјцЄˆrП‰—ц4YZЈ]ЫEш@’HЯ юѕЏвчžГк~єЦў:ЦжPжŒeУQкйu|pЗŽ:iKS"ШжГэ ‚qKЎfЛRЋЏЎЄ-п2iФAл?ЙЉЛћbcџЭ1гК*Ђ6§­Н!.УбDЃю­ФЇЭ;q!„WР#„ŸЧGИЦo1‡B8Є: $эŠ['јЈ”ъа}QCQ5уœИ %( ду™›жіл№˜Эђѓ)M–UћЬK&Д‰†z"„јjуЛ}8]ЮAшW*у~„Єю2Š3є ZtG§SўŠ“LР^Л‘Јu~Bѓ5B ™!ђC’DzXЌЌ›ЙІKЃ\ЌЕp|КуV‡•‹NЬXQzЪюфГZЇ‘Њт€f”,7?Lу•pH}€JlНwњr„цw? 'љ]ГbПЩў%}‰:&]*Œ)XC^ТСSљѕяпVАљ-BьjЉё22юеиi OЏSFЪ&ЃКe:іpфтх1‹gEZžМ№?SЂ`ž(ƒЯ.+ЉQэЄEF-ECYЪ™иJлiЯ/чiіы"ьЊ6Bп-nЬ-Ÿ‰Žёѓ›Ѕ[ЎОGzЪ1ˆ]њhфD]|^YW‘q1њ%Ё“ЊЏ&ыqБ‚zAжsђЃМЧzпЊF ЅЗ6MшЉaX—3Є kXI У$%BмbЦ–#DЯ%к;ї6^kd€з‡РѕWпсЛЭ\g{a”A'ѓwњэ<6ЇrЙэЌыя[<€h:oуфwЋmКvБЛЦжT#Pмlъяк]з`аІ’qKІCі 'nQмвС]1LзrњŸ)•'š57=lrvхЛYwЖЉ™“’,ŠыџяЊжЁ=^вJ№§ћfхї7WsŒџ89œа†%ђ‹“{z^} ыjы•Я‘Э в“РBxЬfiдГb&“Yќ,ЦАЉ Н~tІ‘ + о—еыY›ЉсЙ5Х Іг'іжTбщ7енИ2Нр'ёkRџœю™шЖаЂЃHЧUdхЦЌ›жG_KЧpФŽЧо%цТфа>0K m"ЋйNщЫЊгU-Ы9УhЩžžЏ[m@ќpDbkЃёJџy.ВЉжОƒћяХRНyН‡щ)ъ7ŸЏћюТП’Ožьоœ2шФПџГMњcЧуВи"’DŠX­Љfа z;NЅЯ ‡т sI9:Г5bючф<Л~ЌРlœ™˜цoвŠWšАlбН‰ЇŽЬ1UёЌ „Nу‚юf•2™LfIЦХЕУДЁоJXЊ4Ќщ4Uп=}юˆёёQЫ Eа„8Ÿ~ј)эXџэЬ/ЋЏк7шИѓOьЇ}эјuЄЎжкйбŒl!EŠы ‹ГtЏЃOЋ$uа E%*ЙЁX"ЦдреsUЛB Є.Њ\ЩˆJvСэ–яс–ч} ŽъЏЇзЄA]~…rЉЂoI"х ,Уk;Ч.ыШX?cЌЫіјџqжУfяЭw ‹˜M‘žёюDxџшPLц­eV>ЮНmЛџuНИc‚іЅ. mеDћШйLцќЦёŽ*ŽёГу?GЦ{Бх/—ŸJ'сјхП~ўщоыUоЭТoнНohmчФЏЂГ зHf>ћНBж^)ч#„pЊж+ЮЖ{qўEˆяzЕчУЋJЊК$мУЋщ)TхГъBѕь‚j]В_а$ЯCeФ&>Т№сё"ћшŠОE$‡єdeЊЮєЄVЎЭь}кNйxТЊ##§ˆ*M&€сБЊX<В’;‰Ѓ6юRЬ­О‹У  іq‹wD!ю?‰ƒі”!1lŸћuЮ пc+™DЕqЋ‡љMѕ†ѓљc§:—„фъŸtџkьЇ”ŸаЕЧћ˜ћьОУI8TŸ[mжџ!„x…—ю{ЌШ|Xм€бlŠѕЇœ‘;wюђ[єхˆЛš6џ@LАї”•‰ ўЄСW6vъXSМzмпИ]Ю›сЄ№ЋАPlлРmоННХˆdТc6ЫЯЇ4YVэ3?,u~˜РР0Ќ=лйЪКnajо Dнд[X fДKзg&MьkšћђLЙюњM.hкљЌQ…€‚kЮ_чюKёЗ*мnљЊd:хуЛ.™ђљэgY Д^ЯЂo‰!ŠVру@јTњLiйwххM§›Œй^Э ™џъž[ЊЙГhкЕЩЁ[Чw%!~эЋПЖќoгы%‰gЧР№+8Щєˆ&чєІщwkћHћ˜`ЗxG…ќУ7,ЏхQѕJѓќІ$‡gŒc?zЄџЪЁіеХƒj§šЈџо 5в.]ЅoЃіњ9BсѕЧК6~BˆS^ВЫёZаŒ)‘іч“e—Я}оUУесˆіы‡бhwжнхxљоП3Gœ…ь@P.ч]Оœw9xH0E•"юXф “‰GЈ=7вАаЏ@п\xэ>FўЁvжœ9щhŒДћѓцейцi5ъ9МiФLІФн>„є,SsŒё[Nє- IЄЇ‹аyr€Уиѕ‘љБѓ „Ек№РхКИeјMуžоtЊzєš№‘Нќ"Ђ}Є[“.{Fы ј†WЗЫrЎмеИˆѕšзясоНЏ:ЁY!(ŽЌ3†{яB>еёng”-9ѓуznqС&яћЩUЬz„Вo2ЙюЫЎ>Ўщ ЕєАйЄБotИ6фФ9O‹Щqˆu№6ї†:щCtŒŸ/‰—Ъ h;' wЧ5ЅWРЈ’P@D‘РдљŠrП‰—О^ЅцŸя(MQwФъѓЛЛЬ?ЅГ;9ЦЉЭS РЏУ!Х!гЏИuј”Ўт0іс”[dЏBOВqЦя=‘_љO‹ј\9Х}Д))Zл&.УРDƒ{‰ёѕю[юŠ[]WЃHФ•|ЈцЂNpР“ ‚)р—yїіv2pђIєqШs@њтŽFš—,щипД—п•yжгЯŽVw,@ŽБВNњmzчКЌWу@і‹?gioо?ЫXXwEп"’Cz*АDЃšAЃа“ПZхn S1@шp ЪxVy=‡Їl2Šœu(ѓсШ>=ЪГЯzeyrЄёЗЅ1ШˆМсqLOЋљъИWтu,А.jŒ——~*Ÿїўm=_Љqч­œхѓЋ‹7ћОujТиИ+>{:]\ЉењˆЂJi,Х X cЉUf‹% У$А›,ТЉщэ|Л(ƒiHГ7 hќ!ћх­=~Л wXdЃ!Шё†9љёёљ„и/іyџY>;>Л0;–^Дu^№+Ž›_d"љєЈгў§ќiёД€”€*N•И#€vPш<э№љХ/њ3ведв7s\uЇЫк ‡Іъ ­NDє- AЄш}ЮoрH ‡HМмиЙ{vYaТЫПБп>eі^8ЋПVœцt“н‘y,dJќёу€ЖБЁЌ›jЕWё_бXŠu9яВћ5wК нпЪŸL$‹;(Р2|Л uЄЇ !BЈ*™NС0 =Йё‡hŒjС5AашiV4epџ>#З>ЮJˆљЗŽѕ<ќhљд‹-”з Йз|цDuJsKЋтT9Ф:$%‹;BёY9ч– ю‚a˜ЖйшЅQй,TЭ ДИєјzeCљпуL zXp?Ш­Ÿ†aš&ЃWЦж‹<|=вSЅц/‚)]Tlw\џЇY9цW. Н]@Ж4эO'?ЅIRїЌ1Œзо‡jќx“ŸZљЦ\M_"2‘<$8Й(й'бGUœ*Љ-ХЊw@ ИoЮx8ягнpэЕ3…ЕfйК‹UПћ~нЫ“ПЭ>Єфw.’VБо&ЗфjЖ+ЕњъJкђ-“FДэ ЂаKкoЗД}ЎXСXўха'Г- >ЂH`Aн) oЄ"}#pвѕЌл7-§чGџp‹ЯзmYьѕь“&'ТЈX@ЬиY'їІп}дЅgG„Еgи]O„ЊпмžЯ-ЙОС}щу‘G.ЏЈŽG›Іё‰J 8Є>РF%ВљЂ‹|&њc2ЖqЃЂo1’Њ.„@І‘‰фmЗ іIєёIє ІЁќЮcM41LЯv~јП Ÿђ}œ7OЫК1UiгЦМšg!юƒ\Nю>Еr zуѕЄЄ€Cˆ[Ьиr„шЙd@лір;D‘Р‚ђ+@ФŠ; „“i,Х"џпоЧEUѕq?У*pY qASqпХ%ЗБд\БВ4г,{мRДЌДRlеЬ-\Kq}ЬЦLsХдT|MSTРб€\‡™чQ7˜{>я—Џ^Ю33Пqˆ™љоп9ЧЁўъњсБ,цP,T.>кrіZьцnЧ>ћќа-ЙЫQ:•J †ЧћО}bMtЃЯfНpxьИѕ—Вђo§ЕєэСЋы-\?ЁОmIе eXxj%‹фДb­ъКjђЁЩƒw ІыYЉъЕѓЋэ OЙ‘ЊЊшхl%w= ЇЉжШ9v{Tкc%Xќf. Б`у„;ŸєўрзыйBcњБoллvў’‘ѕ+ЈJИZ(А0CeЂ§9M нуZЇлЄЭ—я Cђ/ћ7Ў*I’sЭŽЃзœЯBЁOи:Ёƒ‡$ЙдьєAX‚^цЪЭI Ч"9­XюмiХ*iк—Њ†юіЭX_мХ(œЕїыу›œ0iUд?IЇ ђяЛшќ#ЖдxYВюЕsяї™‘t}лјwџшЕђЧ7}lIЏ ˜`€RЫС/4^ЇгщRЎЧ§1ЫG;qњсЄ_ZVaтЮиФЋ'~hДчУщo aLнїбЛ[,9sхдтЛ'Lн—ішЛЦc+сX$Ї+, ,82˜VЌgbяіЯЅШхЭУп›yё_ЖMR;VДЗИ•˜^xbtRД ЫR2gпйћ/ыtКЮь˜3иЇœЪо?L—_˜ПНіўaqaўіџоШBjѕЩОГ;эNЮ?ђашLк4wїЬyЧП‰ЇKN0љœW‹^cJЪ6бУЇяр;`GК‰ P ,PjхvCrbгeCї‘;6№як_З pхџ=˜Œѓ{у}оŸаПE —rVjыђН[ ўpœOЬЮs%д|ZОѕєяGvядџУ5‘ ):]|Ј_юФљ|M@Yb)w%E ‘ф.”<•Іцр1оAŸoЈмПš•wгoЄZ:ЛиZ;7ь;иsжЪ cjZ;{кЇЧ&пNVY7ЮщьkИ0›ЇИфФ"гM§АAƒzTя1jяЈ№и№љэчЛлЙ›Кѓхыь›“a­ъВЪзйїОыєЇЙцаЋIkO•pНВ‹Yк‡юИ~уЋћOђпцgЭЩђR/82ИLь ђ8lМкЛŸ™ѓх:wЛњVqАYЉзЮ[П*жѓE/›’yDЕдјѕраWЮ…Э™жoIЅЃъб=Œ2Ю<,нpнG$Iвщ<€\ј>Pœ,ЋєъібФЙЕцŽmЈŽžбi`ќЄ­ њ>ЗqхYЧ†U4Bh|zЖМѕEXTр›#­Jm§ƒO }й€ хДbGЗни6ЈIа;ѕо‘Л"ѓQh†eHЛІЗяfSdЌ?ђyФUяG;бц”BVо#W/Щњxж0П‘ёщF!„ZЊбВЧАХЁo{•фIUљš=ЇЌx1ёРВiSЂ3шМB™ЦYPъYИtž<тv№ЇлЏ[5?їл3лЙЛzvœmў§{u4BЛжŸЮhЌ Ќ[Нщ˜ПzЮўЄUЩOtƒ‰5кпgxlx@X€ьЋbmы(–{Xlы(oХ#/УКo.Ё…ƒ›eJЬЌТo'„КоФ€С–‹\ПЩњWf€г-љYЙuђ[дЅ”œХљ“b#УчНыїœ)šBЌ]лŒ˜ПїJтV&Ђ,3Хџlє€тgячџя•]‹жДBб~Ъ/'Ї<0жвЕлЬпўžiЪђ`*юvюaaЏюxЕўGѕХŠЧЙEr UВмУB‘™,$ЉрЅЁLЫщinєеНПњ:ћNk>mђСЩaaЙ‡,ыєЋ|ѓуsњ5lmwsУдЃКї§<МU9g+ч6 ‡юкёС†vпїЋР|]˜Е4m€яќQб&\”Ъє(†yN!@Ÿ?jя(!DдчQюsф\ k[G‘™,4NBї?%Ьrxšе3ђ/#§ЩŸŸЌъВ*пѕэZЮяБkDухWE….“;.іVY+$!ќB‡„нK”­ZLhОЋїЎYеЛимŠ…мХ@UFV†b ,(“$t:%|Ц`nh†ьЄщсeI‹]pd№‚шЌU\ђ^ЕшЄш‚зqW0гќШ™ Ÿѓ(хŸ"MлГzрўfЦњ…ЦчіCѓЗNг?" l јE<ЁшЄшЖлF\ипgСщUš6@Ъ M3y‰ЅViLЏ€WОСРЮFяМЊЫ/>дЯСŒP6,ЬэW0oС‘СaЕУТмэ ™6hяІгщtКЧПёр[ЮД%–ZЄW@СдUњLnЛozhœо|P6ІrRJG4Х­„цsE'Eк;ЪнЮ=ќэpнХЧИџьФC_њЯІOл{1цG ‘мэмKizХBГДЕЅШЮjбѓмЅd,w Ы<;Ађ0m LД_СLиwп’ђˆOVёщёЃіŽJЭJ Eаћ јЩЗї‹ѓџї‚ЦГяь§}g?j˜y‚ч•ђћСџьq[xЄsгђКЅуNlКмжхС!ж~ЁƒТќ­3Џ|кmw№aяЅэЬќыL‡Џr`ця0ќ‚б‚“ ‚ПућNPу ihЮзб;ЇН5pjxœpя>mѕ’‘uЫ6љ0ѓдgЭл|'„ЂхВ лz;223fХШ~~ЙXЎйиUыІњ92Ч XшOџrЭЁW“жž+с:ze!ВД… U ‘mPY™ХRaИŒЇ[ј*рІАXц   BьяГпнЮ§оᛇf~љї+сБячt|јЕŸ_ЈPШэ З’TMОŽўэ­jE#†ысA3Џ нѓJЦŸQjƒБјž@gHЛІЗяfSфЄЪЌˆР’ТЖ|Ѓ^M75ѓ“у9•‰7™ќнЇљІбУЃЧ;ѕоy№ЈЅ}%{ЕС(T––жŽе‹ˆGВo%'GЯjы2сІGџљ[цѕЏV№иŒsлOкTTЉ;=Ѓг—[;г$„$„pzš[~•яяn–)1wВ„ЦКаёж~Ёƒ67Š§ЙјpŽw•2ёеІ•їUŽяqLё.#{ћПьe эЯ]ЁРlŒ ЊбВЋЧlaпmбСzšТяТку•)3_якл;rLзOцœxщыІЎ;ЎOOLIБыЗчшY]>˜wbрЗЭl‹у ”r:нг|Оoе!Ы:§*пќјм~ [лнм0ѕЈю}?Я‚nЄvѓэѕлдџК§8 <Š_хфa…PJt‡gjь&I’s­Ў“Ж^Н[РЁOи:Ёƒ‡$ЙдьєAX‚^ЄiЊhгфЎН,Ы81;јТАэ.ю~ё‹Џ#я>вкѓх‘У:зpЊосЅЗЯ'e2ЬBcg_ЕEуЊU[tёИ}1љn‰T]&9Дk9ПЧw/w­љы&ЯњЏzЋsч J!љі"BЈkk`?яW Ве 0{œ$Р •‰іЋŒГоžЏЛ=f€GкіI|бЛЭ[›8вqЦэ>инbЩ™№zбcФд}эО•ЛlшSЏІъkЊ,,„ШО•t+Л№‘йџ\Н1ЅeџњЇТcW-ЌWЫЦЛCѕЋыvФМT}gМc=З"ZК№„д6mƒќџЪїлФ?ьОvџА!9Њ*ЯоWйДХЪ,P:й4њќЯ(ЃЕЅJ86oс&іfj:rчlиQчСкV*oэєЦ чўспщ$„ТМkМџ4‡9[?ia_иx(х[L[c`wяŒnЇ­mQО№‘6šDэ˜ІЏWh0rщЌк…%S–UћЯљпў­ъпіy}ёц:X˜#І€вJ­ББT ЁПІ§тGыac›—шˆ&9юІC gk!„Е‹—Cz\rЖBшЖLќјЦшŸ?$Н’Њ|§быџJвщ’Oo]П\Џ€ЊBуё›ЮъtКЫ{ƒЛ>Wјть*Лf“ДuКФУпїЌT№щй‡ЇŽІi*7uцоDИЛ1пЗЎкS›&„0$јВуЊ’$9зь8zЭљL!„а'_=ЅWЩ9я~>J (ХŒЗўZњіреѕЎŸPпЖ #Ф#wуVО7эіФйƒм‹иђижQ,їаmыјˆa[[ŠхК­-ŸщБT†Є›OнЮН”q6ьїЋњœПžјjдВ wЦ&^=ёCЃ=N?xSˆєˆOƒљŒjYспл?|”І v ,ЦєcпОнgљ’7|lUБrіДOMО+œЌВnœгйзpБBŸzЛZ­ИП^ѕЕj™ў(ф$„‰ЗїJ–ЄGЌђНмУB‘™,Š™3,;у™Њ1jЊ=iУ!]УŽ’JЄл[Лšц”Bи4šmT[ZшoІш жЮе­„аtј~m‘І]Ÿw{Л‡Ž€C( 7Жї^+|37Н*рˆOЯ–ЗЖ…E]OпЕhUjы—|l„А­?jжТiСA[‹X@ХNЇГxф“Bhœ1Xm#„9џ}v кЇЏнyн 7іЎKmлРўп+TjK‹4m€KеFУЂњ-˜XŸuЕPVGЫ]ф"Р@Д_ƒ›Gn8Гk|W)GЫЙ'=xф‚MыOg4жж­оtЬ_=gв*wВ—Ц{и—}Я}єёЮЄG4СФКяНў'КяzФАž‡ФБ†ž‡žёбTM_дЏй—qEЛ&ЋK‡ћ&œкћoН~~ї4iљИХ1Y…н0‘2н7J1ћю[’œ7њЁ#Bt›љлп3я]є‹ѓBˆFŸ>U’хЁ4АplбгzЮOлRŽZЌђђЋЛщ7R-]l­іь9kх…Œ15­хЌ Ї[(‡):Аш;™13хFJІQю2”ЦТЉu‡MГ6иїiщ˜їЙ8#zFЇжo­ў;-3хфЦ•gVa !rc !€й1fœ[=КMeЉRƒпќ‘œ-„Hџ§ЕІЏ§ž.wa2Jt—ў Э§ЇАpiћJхdїО­яЭДi0~юЗgЖswѕь8л8ќћїъh„HгH’ф‘{?к+I“щЉPЈt:я>JЛ–u7wПж`bэuл†ŠАщужT§rн”ч#zњЮцџяBх’$•ъЯ’dащ8[АЇўЧ‘B$н№вњSQЊ‹?с№~'˜•ЪВB%WGЗ&oЬ]7њŸоќњ`2[.€в‹ 3DћUYWОщћC\OХf!,]{|НzЌjйзо’Л*Ш-3fХ›*JRѕ.г"RЪТœ†ф}г{дv–$ЇzoЌНЌ—ЛРГ`BГЃЊаtЪšІџ^RЛјMXѓП r0\šyeшЎ˜W2ўŒRЪТŠўF!Е›И~DГj—gwќљсž л”“Л$РгЂ (2Юm?iS1bHнCV&8иЉхЎЧдNѕ;Дїu-gk­7кЛ–‰Ї ц‹ (єщ‰))§ў{tEЛШЏчИ#w=ІЂOќѕУї#К}7ЖžFюRЯ€ GЫ]ЪМЏф.&fЁБГЏкЂqеЊ-КxмΘ|WюzL"ћЦoAЏ-r™Бі“6п| Tуз8J#'Й (mlМ;TПКuGЬЅ#;уыЙ•…vЄьk'|k;mХЄVŽ|эy:œn ќ&@ьРд,ЋіŸ9RмЊўШЮго­ѓшۘš0Йх2IZќ|ПшПю!ВД!’”ћ'@{+џEI аf•ќГB{лф-^RˆTcѓ”эwŠмZ№жёŸЗšлннQ’$ЉЭТ8і!€RŒ]€В@eзl’ітЄЧЎџѓЃ=ћњО?єюв1ЇіХgзёBXћ… ѓЗЮт?\'ВДЋчЪwА„%я8№ўv—…ЇЛзўГЧ{кюќЂcacэЛoIб™І,sХщЪaŠ,њN€RFeamL<’p.лeЬOGњ(d ?§щЭ7моЊї‚›UхŽОУ+]пt:_[UшйГm7n”BBкnмzіЌ|UŠSP”Н›ej\Ц]!ФнЬј4ЫJїОаtйЊ•Ÿ››ТЯЭ-'У’ЃФbP|/ЂBDМ%ў9Zя Mхœє*‡Ÿ›[DBТу§#$—@ЁЯdЙ‡…Ш}‹!ГЊЄš&]S=ћ]€ŒА0CД?›!•gЏ™[^<Ај“QmП}ЎЫ€Џtk]ЗК‹FK3/я^8eќg[.ц-Gфцo/gQe–ЦId& “а§я‰з/—BђХ=ъЊ-њot'*ПиrCsK!ВrЇ !„№ "K–Sч6пќО}ˆoTКЃыЛ ;wЬWёљˆ„„М +"!СзйyПЎT.тО­cо‹Xом§jНї\э˜еЅВЦT­a’$ё9Ж0’dащžц•(ЮŸŠ’•ОkЯ€ƒuзMЎX!яyJ!m|ЧчЬ"ŒHH˜|№`PуЦ=<x0:)ЩзйљzѕHЏРœ`(žНXœПмEЎ|‹ЩуЋЯњ)ТoT7B,˜€ЪоэЋШз<XЋV`­Zrд(q|Т@ьˆbІ Ј M“Л !Dњўi3жnœоѓљJNR.eЬXццОЅИŸyиЃEВыєгйд–ътнфьх}Uд€RВ tС‘Сь @!Ап№dвД=Ћю7>|…пЈ‚†›2ОЙ›ИgўЇ_ўєыŸчSєBkgŸж=‡M}ЋЅѓГnHђ0…@ёЪ7иЙбшWuљХ‡њ9Ш]ин˜…омр0dўяgЎоHNК~хдій}ХВA‹/о•Л6ЯŒг-”УЫ|<u•>“лю›Ї—Л’dœпяѓў„ў-jИ”ГВP[—Џшнj№‡у|bvžЫЛ6˜^vєД/§|+;ївЭeўџmLM˜мr™$-~О_є_w„тс#<XЅ€mущ{ЗМU=џђіўaqaўіВ•$„6^энЯЬљrн‘И” НС ЯHЙ|ъї•Ћb=_№В)Žћ/8B‘Ѕ X Эњwф! u­>U“WЧ'd !„ўJмкдj}jџќhЯОО/Ч_ш9ТіЦОјl!єрQL`бw €‰бў БђЙzIя”%УќjTrqrrЉфэїкw1]‡ОэeUї_` ђЌ‹kЁфhjyuвг^1aИЌIэьUKЃВА6&I8—э2цЇŽ#}дB<|2fœ_?Ж]UI’*жю:nmLFС{о0;щ@№KЭ_™}4е O>ОzJЏ:’3Л‚0,т`ns{СЧTєbъVnЦ‡t_ŒwM-ЏNКк+>oЛ‹Ык˜дЮ~ž g‡Оfх1ив(„ШŠ=;2пEШL#Нв9s\јЭЁo‰№uwЛЬ–4BнdjЇІ~еїЈcяV?ЭЎх­yјˆмe+’ўвъ7z~_iкozКgFЏ§hќЧ›лЮГ+ђ&Ц;џќо…6ж‡і­ЎIпѓ~№Б&ЃƒZ_gЂ’ $``†h6?ч~ž№йѕwBЦзЭљЎŸљз7CfWќ|юы}їœ§ћЄЉXЖљ+Й]s<ˆиљсЗc]ЛŸ=ЃCЌйQ?ЫwВSћМR-§?Б1ŒыnUћоG-„А\GЬiј ОАkж‘!~–‘ЛlЪ<їѓœшŽп.юWЇ‚ЂйА%ћ† ‘І-tМQŸИcкрq‘ ŸиЪбBaзсћЕDšvНЩj€’ФXŠЇ]ёЮg—:ѕ­™—Vi|^psж{+ух]жнЛЊ}^Љ–О66&цтК[е^ёџФм­мЦщ9зŠm=дBюПљij{wО}.$$цNЏк!DіЙЅћЧ,MОЉЖДГ6ъГ <‚‡e]њп?екћ”ЌС†є ЗюЗвѓл•“rв+0;ќrPМ;gw^ЌёZwы{‡дЯљѕЎvnћyЗp3Х.„ї"Rѕе?Rn$оиkBuџE(€ЦБ_—Ќ%KГКєuд!„Кj Ч„o6КЛo^щй№ƒц–AT*a4ofьэkЂ}6ы…УcЧ­ПФ^ЬoŠgщPй6%цF–pЙ7a0ѓъЉЖ•ф§4їя.„яvѕ­т`-ВRЏ?Ж~UЌч‹ХГ Ё"7щ0OМЛЧQ#дЦ7k1`[непЈfiaДМџbБ=&žКсƒt_мЛl[ЗокSѕђxјЂЉжШ9v{TZџЮ’ъ‘ƒ+јЭ\фoŸй\3ЄgяьЕпv{ŽŽDц† GГLž€m“‰S}КыђхИоЭ< џќНЭЌЩыњk[Y ГђЙzIжЧГ†љŒO7 !дR–=†л.„9ю D45j§xЄжїЎ}р"`ЌН_пДг„IЋ~њЂo-еХm__х9wQЕ"oЃёВd]jПWњL[КѕS?І0/XЪgYЅџЂџŠOЦ~aBlК*ЏƒЇnњЄweй?Ь•№.„@™eYyРR­zвыўоянДЌдl№д^ЋaЕGЄFКчm3ъцŸџFЊђОЃCWш^2шЛЕЫjO}~p„Bˆw)wА§“СщЪЁвщŠaї”.ХЕ aвДОѓGE?ёWeI2шtOг}#…HЄ`%ѕ#]†`PйOкP„ €$IтмyЉCz@9L1/:82иSKгіt”ф‘*waРМААžVљ;7НѓЊ.ПјP?Й цХ}Ї˜эЯ0u•>“лю›Ї—Л<•ьЛІПєМ‹$Uj8hЮб4Cš6 ЇЮЩЛ§ШХQщЦœaщ{оіЈ MBtІНшхььѕтє:ƒBdХ†Оъљ\€6MˆьЄ=ŸtЋх,In-‡/=}л(у3˜:А№єlOпЛх­ъљVЕї‹cївИђћЄџьiН№ШХ+Q‹Z™ГщВ^ПаИ”ыБ{fz­~sJDšQcЪБэ‰j!„њЫы?^e7§рЁЯ*Ќќx§eНЗџкuЇ™ЗmЮ=Њ\:}ДхьЕиЭнŽ}іљЁ[2>7€Й!РР бў рбюœўхCЏ~­=Ы?зbєЪŸ_wЯ "U*kћЊЭzПdГkѕЉ;Тth‡u‹!„"ЎTЙЃЗз НЊ_‰И!DЙ†CћеЬЙRЈъЕѓЋэ OЙ‘ЊЊшхl%з˜!,€2щЙ €ьєiзюиWw*8gВrіpИs-MoИОw{Йv5mrŽ2t™Vі66іV™Љ†‡n–І pЉкhШсnпŒѕеђИy%I’rf&№X@™dщрV.%цFVWf]?›RСУбтъЮэх;е)Ÿ{TmыЈЩLЙ“};9S#йЊК™Ни?—"—7oцёŒBзо?LЇгщt7Žу0РЗ\ё<€y#РЪ$л:§ќnnZs >=3хЏUяН:яlN–eйЗЎлКSјЌg8Й~УМnЯFЄFƘ|\xЕwПДyзљѓЛЗ\roяesџъџјeЫб$ЕcE{‹[‰щE/эŸИѕгuЕЦѕ­fYф0„XШ‚]ШOхаnЦќЧпm\ЭЕfџMžЃ_ѕЖ"5"АКф\Н}аЙў!5+gпmsВNъчрzxfЃђUњ|6фЮЧ-[}š9єѓWЊЈ…HгИFЄFКhoZfŸлпЇВgїѕоу&ЖЈPдƒgžљ>eа[ lMѕlЅ›JЇгЩ]eNpd0ыЌУЄвДОѓGEплP’$>š+I2шtŠ;Q}џмУукоlЫцA•W(ђсн €rаА € ј>€’•ІэY=pПёЃ~Ѓd)xXц…пўАn7Т‰є №˜xЫ0;vО^8aьм}—’uЙтC§фЎ Ш“u%њ;/—‚7@„rpК€r˜b !}ЇJУB3VІ№dїЦфgŠ‹і+LŒ]`NшР€Ђ™b ,( ™Ћ­-Ev†Pлˆž‡ф.х~ќШž…Ѕм(6йЙџ•$ƒмЕ< YюЅ`>д6ЙX мˆ€ЇF€˜ž‡˜Ќ0Cœ–@ь<>,@8н@9АAPу ЙKJ гуЪ –I2cМИѓcŠ,њN№д˜BE3E€Х2˜эЯ0't`@бXФ ,bo3Ц‹ 0?XцO ‘sЄn8K^Y@A€ESќXYк€кЌ‚އHRђ 6$85ЖїЏчB$)ф9Џ НЧž:h0iљ(šсќЋv8yсnзe;сWх—Ю„0ІŒљьЭѕЋ-–ЄЩiE§ЮПў_нЭћоTyл@‰Б”Л€g`э:(ЬпКk qЋvv™rЋЧЧ­ТКz: н…k[ќ9Ане/wtфЎјр`о‚#ƒБKЏEРІОл?ћАЯ?+UўkŒYП;™аЅm` Ubјўnя$6ŸиbеLЗZЮЊДИЄЃ‡.џќщ/Нјыч•% Слn)ѓ№Є3&—™^Y€+ЭVQВЮџчуД!›zMid™ѓqмЕvесГ]Mп<`ЬљжзЌЄ–ЙB”@хTeв0ыП8?qkэЊљ>ш/ŸБХzјŽ*в?БЏŽMє_їђч-­sоR+жtэ^гЕcsЋџ‰=’ьжХEХлn)CЈaЎxeQь”rКJСТЇcLиіз_ЭšŽlhyпЩd•Uуw›4ŽўызkFЙ*@!є}@э3ЌQѓSЧчШЮwP|оџЮДlќІХеАЈЃ šŽmn­КџfŸњПќкК‹‹ŠЗ]”83эРЪОpрf•Ю.’ъС+,ЄŠ]OЋЊњIDATЋоŒИ§F3}ъN–TпiVDрŠцљћ… ѓЗТp'Х`[бЊ€љ –VЯйf'нbMYђX6|Зсѓ-#—ќэ1ЅŽZˆь3‹#џЌгшћj!ВюшВm+Z9ЗнRˆhУ\ёЪЬUi>ZФ"ю*Њo%dщ…цС'ЈП{эЖкЙМ™NрЉXVѕšђrф›СWF,wwLЙМфnяŸМЊX !,ь\-o^Щв ›Т?3№Ж €fŠO”2єЊkДЕЛђkbвCg|К;ьл{Б–,РЌG?бx•uЋБѕм~?К&6ћтšcЛЊжг"gSBЕw{ЛЫ[ЎgqcоvPТЬє”ЈЪЕK&QЧО;˜uпgiЃ>rСБЈІѕКUzh•Ъ6k/Ÿ)/м^ОќтŠхЗЛ|XГ†UЮaUХЮО­Я§lч"ЌЬПЃzДлНі’З]”83 А„…Ћч737ѕлќю‚KЇѕYYњgЏ.жwѓЌЏЋW4зЇ @ŽЇhЖАщ<ЩЧИhџЯOь`“—9YTЌўЭюG†nzmжХШЫY™њl]ќ+МњђБЋМ:TЖМэ Є•†5А \Ќ=pд#neQu@Ч}еNߘuШџc]Ъ]aэ"Еэ]oнžкЭœ9 @4uъ~а&цПƒŸЏ­ЩXхкнoЯЮ ГgE iѕћЅtЃPYWoV­џН–ѕvЌNёЖ €’ЄвщиЉЪES? <щ.@YF€(Ї[(2xŠ]€2‹Eм hІшРЂяO)„P4SX,ѓ€‰бў sBEм ht`@бА hXP4,dР.Ру#Р€г-”ƒ 5’Л дPщt:Йk eŠ,њN№д1…082ј‘!cУЦ0†1ц:І„(эi2†1Œa cJяS hŠшР C€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,( ŠF€E#Р€Ђ`@бА hXP4,(эџМ‹nњњыvIENDЎB`‚VeroRoute/tutorials/tutorial_8.vrt000644 001750 001750 00000146145 13646427414 017637 0ustar00alexalex000000 000000 (РTUTORIAL 8 - TRACK STYLES There are 5 track styles in the tool: Fat Thin Curved Vero (vertical strips) Vero (horizontal strips) These can be selected using the first 5 track buttons in the toolbar. Try out the following track styles on the current circuit. FAT: The horizontal and vertical tracks are wide and enlarged to have the same width as the pads. THIN: The tracks are narrower than the pads. This mode is the easiest way to work with things visually. CURVED: This is similar to the thin track style, except the tracks are smoothed to avoid sharp corners. Note that the fat, thin and curved modes have the same electrical connectivity, so the difference between them is cosmetic. VERO: There is no topological difference between using a Vero track style, and using another style with diagonal connections disabled. For stripboard builds, it is advised to use the "Thin" or "Curved" style with diagonal connections disabled during the bulk of the design process, as it is hard to work with the Vero style due to "visual overload". It is best to switch to a "Vero" style once the circuit layout and connectivity is complete. Note that the strips are not created before the circuit is built. Instead they are determined by the layout, and the program can create the strips for you. Try the following for the current circuit... Select the vertical "Vero" style, and you will see that there are many short strip fragments. Now check the "On" box in the Control Dialog to enable Auto-Routing, and then hit the "Paste" button. This will automatically fill out the circuit with strips. The "Vero" styles automatically draw elliptical solder bridges to join adjacent strips together where needed. This is especially useful when the circuit is viewed in a flipped ("mirror") mode with the lower slider moved to the far left to turn off component outlines. This then shows a view of the strip side of the board with all the strip breaks and required bridges easily visible.џџџџџџџџZ. 2: џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@)џџџџџ@2џџџџџ@3џџџџџ@4џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@5џџџџџ@6џџџџџ@7џџџџџџPџџџџџџџџџ8џџџџџ!@9џџџџџ@:џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџGџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџLGџџџџџџџџџџџџџџџ!+џџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDAџџџџџџџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџPAџџџџџџ‘џџџџџџџџџџџџџџџџџџџџ1џџџџџџџџџAFџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџ`FџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ @џџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџ @$џџџџџџџџџџџџџџџ @$џџџџџ  џџџџџ @&џџџџџџџџџџџџџџџ@&џџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ фџџџџџџџџџџџџџџџџџџџџџџџџ @џџџџџ D%џџџџџџџџџџџџџџџ ф%џџџџџџџџџџџџџџџ D'џџџџџџџџџџџџџџџф'џџџџџџџџџџџџџџџџDџџџџџџџџџ"џџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ xџџџџџџџџџџ еџџџџџџџџџ “џџџџџ џџџџџ џџџџџ џџџџџ џџџџџ 5џџџџџџ Cџџџџџџџџџ џџџџџ џџџџџ5џџџџџџCџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ <џџџџџџ Oџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ F џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџFџџџџџџDџџџџџџџџџ@"џџџџџџDџџџџџџџџџџDџџџџџџџџџ`џџџџџ0џџџџџA#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ FџџџџџџџџџџpџџџџџџџџџСџџџџџџPџџџџџџџџџБџџџџџџqџџџџџџџџџСџџџџџџ DџџџџџџџџџpџџџџџџёџџџџџџџџџСџџџџџџDџџџџџџџџџџDџџџџџџџџџHџџџџџџDџџџџџџџџџџDџџџџџџџџџ4HџџџџџџCџџџџџџџџџџFџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ dџџџџџџџџџ<џџџџџџGџџџџџџџџџ џџџџџџџџџџџџџџџ>џџџџџџGџџџџџџџџџџ Dџџџџџџџџџџ\џџџџџџџџџП џџџџџџGџџџџџџџџџDIџџџџџџDџџџџџџџџџ@IџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџFџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ`*џџџџџџ џџџџџџџџџ  ,џџџџџ Ц,џџџџџ @,џџџџџџџџџџџџџџџ @-џџџџџ F-џџџџџ  D-џџџџџџLџџџџџџџџџ @.џџџџџ F.џџџџџ D.џџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџ @/џџџџџ D/џџџџџ /џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџXџџџџџџџџџ…џџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџ Dџџџџџџџџџ џџџџџџџџџџ џџџџџџџџџџџФџџџџџџџџџ џџџџџФџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџXџџџџџџџџџ…!џџџџџџXџџџџџџџџџџ…џџџџџџџџџџФџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџLџџџџџџџџџџџџџџџџџџџ  џџџџџџјџџџџџџџџџџхџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџџџџџџџџџџџPџџџџџ‘џџџџџџџџџџџџџџџ1 џџџџџAџџџџџџџџџџ џџџџџpџџџџџС џџџџџџџџџџP!џџџџџџ™џџџџџџџџџџџџџџџџџџџџџџџџ3џџџџџAџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџBџџџџџџџџџџџџџџџџџџџџџџџџџ BџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџCџџџџџџџџџџџџџџџџџџџџџџџџџCџџџџџDџџџџџџџџџџџџџџџ Dџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ(џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџAџџ, R1210kRResistorRESISTOR NF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d: Pad13Vol3PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R4470kRResistorRESISTOR NF( 12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d2Pad5Sustain1PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџШD Wire4 Wire4WireWireWF(12П№?№ПЙ™™™™™š?Й™™™™™š@V€пџџП№?№ПЙ™™™™™š?Й™™™™™š@V€пџџџџ,R221MRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџШB Wire2 Wire2WireWireWF(12Пј?јПЙ™™™™™š?Й™™™™™š@V€пџџПј?јПЙ™™™™™š?Й™™™™™š@V€пџџџџ,R2010kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R212k7RResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџШC Wire3 Wire3WireWire WF(12Пј?јПЙ™™™™™š?Й™™™™™š@V€пџџПј?јПЙ™™™™™š?Й™™™™™š@V€пџџџџ,R512kRResistorRESISTORNF(1 2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d3Pad6Sustain2PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпd7 Pad10 Tone3PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R9470kRResistorRESISTOR NF( 12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R710kRResistorRESISTOR NF( 12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d5Pad8 Tone1PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R8100kRResistorRESISTOR NF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d6Pad9 Tone2PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R19100kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d)Pad2+9VPadPadPADџџџьWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп џџџџџџџџџџШG Wire7 Wire7WireWireWF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџџєC2500pCCeramicCAP_CERAMIC NF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pd(Pad1GndPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R18470kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R1720kRResistorRESISTORSF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R2322kRResistorRESISTORSF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџџџШF Wire6 Wire6WireWireWF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџ   L.Q3 2N5088QTO92TO92 WF(123Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   џџ,R139kRResistorRESISTORSF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§   L/Q4 2N5088QTO92TO92 WF(123Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   џџ,R2100kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џє!C1110nCCeramicCAP_CERAMICSF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PџєC10.1uCCeramicCAP_CERAMICSF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџє C103n9CCeramicCAP_CERAMICSF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PџєC947nCCeramicCAP_CERAMIC NF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџџ,R16390RRResistorRESISTOR NF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џ$D1 1N4148D Diode DIODEEF( 1 2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDџџ, R14470kRResistorRESISTOR SF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ, R13100kRResistorRESISTORSF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R1512kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d4Pad7Sustain3PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R61kRResistorRESISTORWF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§   L-Q2 2N5088QTO92TO92 WF(12 3Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   џє#C130.1uCCeramicCAP_CERAMICNF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџ'D4 1N4148D Diode DIODE WF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDџ&D3 1N4148D Diode DIODE EF(1 2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDџ%D2 1N4148D Diode DIODEWF( 1 2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDџє"C120.1uCCeramicCAP_CERAMICNF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pd9 Pad12Vol2PadPadPADџџџфNF(!1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ, R11390RRResistorRESISTOR NF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џєC8500pCCeramicCAP_CERAMIC NF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pd8 Pad11Vol1PadPadPADџџџфNF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ, R1012kRResistorRESISTOR NF(1 2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џєC70.1uCCeramicCAP_CERAMIC NF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PџєC5500pCCeramicCAP_CERAMIC NF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PџШI Wire9 Wire9WireWire WF(12П№?№ПЙ™™™™™š?Й™™™™™š@V€пџџП№?№ПЙ™™™™™š?Й™™™™™š@V€пџџџєC40.1uCCeramicCAP_CERAMICWF(1 2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PџџШH Wire8 Wire8WireWire WF(12Пј?јПЙ™™™™™š?Й™™™™™š@V€пџџПј?јПЙ™™™™™š?Й™™™™™š@V€пџџџєC30.1uCCeramicCAP_CERAMICWF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PџєC647nCCeramicCAP_CERAMIC NF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ P   L,Q1 2N5088QTO92TO92 EF(12 3Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   d+Pad4OutPadPadPAD$WF(!1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R3390RRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d*Pad3InPadPadPAD џџџ№WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп џџџџџџџШA Wire1 Wire1WireWireWF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџB@џџџўINVALID TracksWF(џџџ€џџџ€џџџ€џџџ€џџџџџџџџF#џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ Р@Р@@V€џVeroRoute/libraries/gEDA/veroroute_linear/OpAmp_NJM4558L.sym000644 001750 001750 00000002551 13515171161 023754 0ustar00alexalex000000 000000 v 20130925 2 T 200 1100 5 10 0 0 0 0 1 slot=1 T 200 1300 5 10 0 0 0 0 1 numslots=2 T 200 1500 5 10 0 0 0 0 1 slotdef=1:3,2,8,4,1 T 200 1700 5 10 0 0 0 0 1 slotdef=2:5,6,8,4,7 P 0 200 200 200 1 0 0 { T 150 250 5 8 1 1 0 6 1 pinnumber=3 T 150 250 5 8 0 0 0 0 1 pinseq=1 T 250 200 9 8 0 1 0 0 1 pinlabel=IN+ T 150 250 5 8 0 0 0 0 1 pintype=in } P 0 600 200 600 1 0 0 { T 150 650 5 8 1 1 0 6 1 pinnumber=2 T 150 650 5 8 0 0 0 0 1 pinseq=2 T 250 600 9 8 0 1 0 0 1 pinlabel=IN- T 150 650 5 8 0 0 0 0 1 pintype=in } P 500 600 500 800 1 0 1 { T 550 600 5 8 1 1 0 0 1 pinnumber=8 T 550 600 5 8 0 0 0 0 1 pinseq=3 T 475 575 9 8 1 1 0 5 1 pinlabel=V+ T 550 600 5 8 0 0 0 0 1 pintype=pwr } P 500 200 500 0 1 0 1 { T 550 100 5 8 1 1 0 0 1 pinnumber=4 T 550 100 5 8 0 0 0 0 1 pinseq=4 T 450 200 9 8 1 1 0 3 1 pinlabel=V- T 550 100 5 8 0 0 0 0 1 pintype=pwr } P 800 400 1000 400 1 0 1 { T 850 450 5 8 1 1 0 0 1 pinnumber=1 T 850 450 5 8 0 0 0 0 1 pinseq=5 T 800 400 9 8 0 1 0 6 1 pinlabel=OUT T 850 450 5 8 0 0 0 0 1 pintype=out } L 200 800 200 0 3 0 0 0 -1 -1 L 200 800 800 400 3 0 0 0 -1 -1 L 800 400 200 0 3 0 0 0 -1 -1 L 300 250 300 150 3 0 0 0 -1 -1 L 250 200 350 200 3 0 0 0 -1 -1 L 250 600 350 600 3 0 0 0 -1 -1 T 600 900 5 10 1 1 0 0 1 device=NJM4558L T 200 900 8 10 1 1 0 0 1 refdes=U? T 200 1100 8 10 0 0 0 0 1 footprint=SIP8 T 200 1100 8 10 0 0 0 0 1 description=Dual Op Amp (SIL package) VeroRoute/Src/HistoryManager.h000644 001750 001750 00000013364 14026034242 016574 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once // Class to manage history files for undo/redo functionality // An upper limit of 1000 files has been set, so the max undo level is 999. // This is to prevent the files using too much disk space. #include "Board.h" static const size_t MAX_HISTORY_FILES = 1000; typedef std::tuple HistoryItem; // typedef std::list::const_iterator HistoryItemIter; class HistoryManager { public: HistoryManager() : m_ID(0), m_bLocked(false) {} ~HistoryManager() { Clear(); } void SetPathStr(const std::string& str) { m_pathStr = str; } bool GetCanUndo() const { return !m_list.empty() && m_currentIter != m_list.begin(); } bool GetCanRedo() const { return !m_list.empty() && GetNextIter() != m_list.end(); } const std::string& GetUndoText() const { return std::get<2>(*m_currentIter); } const std::string& GetRedoText() const { return std::get<2>(*GetNextIter()); } bool Reset(const std::string& str, Board& board) { if ( m_bLocked ) return false; if ( m_ID != 0 ) Clear(); // If m_ID is valid then wipe all files that used it // Set a new (unique) m_ID for (m_ID = 1; m_ID < INT_MAX; m_ID++ ) // Keep increasing this until we get a unique ID { std::ifstream fTest( GetFilename(0) ); // See if (zeroth) filename with this ID exists if ( !fTest.good() ) break; // ID is not already in use so break } AddEntry(0, BAD_COMPID, str); return Save(board); } bool Update(const std::string& str, const int compId, Board& board) { if ( m_bLocked ) return false; if ( compId != BAD_COMPID ) // compId is only used when updating the Name and Value fields for a part { // or the 4 text fields in the component editor (which always uses compId == 0) assert( str == "Part name change" || str == "Part value change" || str == "Edit Value string" || str == "Edit Prefix string"|| str == "Edit Type string" || str == "Edit Import string" ); if ( (std::get<1>(*m_currentIter) == compId ) && // If we're working on the same part ... (std::get<2>(*m_currentIter) == str ) ) // ... and the same text field ... return Save(board); // ... then overwrite the current entry instead of adding a new one } auto iterNext = GetNextIter(); if ( iterNext != m_list.end() ) // We're modifying within the list ... { // Delete later history files for (auto iter = iterNext; iter != m_list.end(); ++iter) remove( GetFilename(std::get<0>(*iter)) ); m_list.erase(iterNext, m_list.end()); // Erase later history list items } else if ( m_list.size() == MAX_HISTORY_FILES ) // We're at the end of the list and the list is full ... { // We'll overwrite the first history file, so no need to delete it m_list.erase(m_list.begin()); // Erase first history list item } AddEntry(std::get<0>(*m_currentIter) + 1, compId, str); return Save(board); } void Lock() { m_bLocked = true; } void UnLock() { m_bLocked = false; } bool Undo(Board& board) { assert( m_bLocked ); // Should only Undo while the list is locked if ( !GetCanUndo() ) return false; --m_currentIter; return Load(board); } bool Redo(Board& board) { assert( m_bLocked ); // Should only Redo while the list is locked if ( !GetCanRedo() ) return false; ++m_currentIter; return Load(board); } const char* GetCurrentFilename() const { return ( m_list.empty() ) ? "\0" : GetFilename(std::get<0>(*m_currentIter)); } private: void AddEntry(const size_t& index, const int compId, const std::string& str) { m_list.push_back( HistoryItem(index % MAX_HISTORY_FILES, compId, str) ); m_currentIter = m_list.end(); m_currentIter--; } void Clear() { for (size_t i = 0; i < MAX_HISTORY_FILES; i++) remove( GetFilename(i) );// Delete all possible history files m_bLocked = false; m_list.clear(); } bool Load(Board& board) { DataStream inStream(DataStream::READ); if ( !inStream.Open( GetCurrentFilename() ) ) return false; board.Load(inStream); inStream.Close(); return inStream.GetOK(); } bool Save(Board& board) { DataStream outStream(DataStream::WRITE); if ( !outStream.Open( GetCurrentFilename() ) ) return false; board.Save(outStream); outStream.Close(); return true; } HistoryItemIter GetNextIter() const { auto iter = m_currentIter; ++iter; return iter; } const char* GetFilename(const size_t& index) const { assert( index < MAX_HISTORY_FILES ); // Sanity check memset(m_buffer, 0, 256 * sizeof(char)); sprintf(m_buffer, "%s/history/history_%d_%d.vrt", m_pathStr.c_str(), m_ID, static_cast(index)); return m_buffer; } private: std::string m_pathStr; // Path to the "history" folder int m_ID; // Allows multiple VeroRoute instances to share the same "history" folder. bool m_bLocked; // Should lock the list while doing Undo() or Redo() std::list m_list; // Each history item is an pair HistoryItemIter m_currentIter; // Points to the last written history item mutable char m_buffer[256]; // For constructing history filenames }; VeroRoute/Src/Persist.h000644 001750 001750 00000007160 14026372123 015271 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once // A helper for reading/writing data to a file in binary form #include #include #include "VrtVersion.h" #include "StringHelper.h" struct DataStream { enum TYPE { READ = 0, WRITE = 1 }; DataStream(TYPE type) : m_type(type), m_version(0), m_bOK(true) {} ~DataStream() {} bool Open(const char* fileName) { m_file.setFileName( QString(fileName) ); m_bOK = m_file.open(m_type == READ ? QIODevice::ReadOnly : QIODevice::WriteOnly); if ( m_bOK ) { m_ios.setDevice(&m_file); m_ios.setVersion(QDataStream::Qt_4_5); } return m_bOK; } void Close() { m_file.close(); } void Load(bool& o) { m_ios >> o; } void Load(char& o) { qint8 t; m_ios >> t; o = static_cast (t); } void Load(unsigned char& o) { quint8 t; m_ios >> t; o = static_cast (t); } void Load(short& o) { qint16 t; m_ios >> t; o = static_cast (t); } void Load(unsigned short& o) { quint16 t; m_ios >> t; o = static_cast (t); } void Load(int& o) { qint32 t; m_ios >> t; o = static_cast (t); } void Load(unsigned int& o) { quint32 t; m_ios >> t; o = static_cast (t); } void Load(float& o) { m_ios >> o; } void Load(double& o) { m_ios >> o; } void Load(std::string& o) { QString t; m_ios >> t; o = t.toStdString();} void Save(const bool& o) { m_ios << o; } void Save(const char& o) { m_ios << static_cast (o); } void Save(const unsigned char& o) { m_ios << static_cast (o); } void Save(const short& o) { m_ios << static_cast (o); } void Save(const unsigned short& o) { m_ios << static_cast (o); } void Save(const int& o) { m_ios << static_cast (o); } void Save(const unsigned int& o) { m_ios << static_cast (o); } void Save(const float& o) { m_ios << o; } void Save(const double& o) { m_ios << o; } void Save(const std::string& o) { m_ios << QString::fromStdString(o); } const int& GetVersion() const { return m_version; } void SetVersion(int i) { m_version = i; } const bool& GetOK() const { return m_bOK; } void SetOK(bool b) { m_bOK = b; } private: TYPE m_type; QFile m_file; QDataStream m_ios; int m_version; // Used to represent VRT version being loaded so the format can evolve bool m_bOK; // To flag problems }; // The interface definition for load and saving data to file struct Persist { virtual void Load(DataStream&) = 0; virtual void Save(DataStream&) = 0; }; // A helper struct to allow 2 Board objects to be merged without conflicts. struct MergeOffsets { int deltaNodeId = 0; int deltaCompId = 0; int deltaGroupId = 0; int deltaLyr = 0; int deltaRow = 0; int deltaCol = 0; }; // The interface definition for handling merge offsets struct Merge { virtual void UpdateMergeOffsets(MergeOffsets&) = 0; virtual void ApplyMergeOffsets(const MergeOffsets&) = 0; }; VeroRoute/libraries/gEDA/veroroute_linear/OTA_LM13600.sym000644 001750 001750 00000006561 13515171161 023204 0ustar00alexalex000000 000000 v 20130925 2 T 200 1100 5 10 0 0 0 0 1 slot=1 T 200 1300 5 10 0 0 0 0 1 numslots=2 T 200 1500 5 10 0 0 0 0 1 slotdef=1:1,2,3,4,5,6,7,8,11 T 200 1700 5 10 0 0 0 0 1 slotdef=2:16,15,14,13,12,6,10,9,11 P 1400 1800 1400 2000 1 0 1 { T 1450 1850 5 8 1 1 0 0 1 pinnumber=1 T 1450 1100 5 8 0 1 0 0 1 pinseq=1 T 1800 1050 9 8 0 1 0 5 1 pinlabel=AMP BIAS T 1450 1100 5 8 0 1 0 0 1 pintype=in } P 0 1000 200 1000 1 0 0 { T 150 1050 5 8 1 1 0 6 1 pinnumber=2 T 350 1050 5 8 0 1 0 0 1 pinseq=2 T 425 950 9 8 0 1 0 0 1 pinlabel=DIODE BIAS T 350 1050 5 8 0 1 0 0 1 pintype=in } P 0 1400 200 1400 1 0 0 { T 150 1450 5 8 1 1 0 6 1 pinnumber=3 T 350 1450 5 8 0 1 0 0 1 pinseq=3 T 450 1400 9 8 0 1 0 0 1 pinlabel=IN+ T 350 1450 5 8 0 1 0 0 1 pintype=in } P 0 600 200 600 1 0 0 { T 150 650 5 8 1 1 0 6 1 pinnumber=4 T 350 650 5 8 0 1 0 0 1 pinseq=4 T 450 600 9 8 0 1 0 0 1 pinlabel=IN- T 350 650 5 8 0 1 0 0 1 pintype=in } P 1600 200 1600 0 1 0 1 { T 1650 50 5 8 1 1 0 0 1 pinnumber=5 T 1650 500 5 8 0 1 0 0 1 pinseq=5 T 1550 600 9 8 0 1 0 3 1 pinlabel=5 T 1650 500 5 8 0 1 0 0 1 pintype=out } P 2000 200 2000 0 1 0 1 { T 2050 50 5 8 1 1 0 0 1 pinnumber=6 T 2050 400 5 8 0 1 0 0 1 pinseq=6 T 2000 250 9 8 1 1 0 3 1 pinlabel=V- T 2050 400 5 8 0 1 0 0 1 pintype=pwr } P 2400 200 2400 0 1 0 1 { T 2450 50 5 8 1 1 0 0 1 pinnumber=7 T 2450 500 5 8 0 1 0 0 1 pinseq=7 T 2350 600 9 8 0 1 0 3 1 pinlabel=7 T 2450 500 5 8 0 0 0 0 1 pintype=in } P 3000 200 3000 0 1 0 1 { T 3050 50 5 8 1 1 0 0 1 pinnumber=8 T 3050 500 5 8 0 1 0 0 1 pinseq=8 T 2950 600 9 8 0 1 0 3 1 pinlabel=8 T 3050 500 5 8 0 1 0 0 1 pintype=out } P 2000 1800 2000 2000 1 0 1 { T 2050 1850 5 8 1 1 0 0 1 pinnumber=11 T 2150 1400 5 8 0 1 0 0 1 pinseq=9 T 1875 1675 9 8 1 1 0 5 1 pinlabel=V+ T 2150 1400 5 8 0 1 0 0 1 pintype=pwr } B 200 200 3000 1600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1350 1000 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 V 1450 1000 100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 L 3000 1300 3000 200 3 0 0 0 -1 -1 L 2000 1800 2000 800 3 0 0 0 -1 -1 L 2200 800 2000 800 3 0 0 0 -1 -1 L 2300 600 2200 800 3 0 0 0 -1 -1 L 2400 600 2400 200 3 0 0 0 -1 -1 L 2200 600 2600 600 3 0 0 0 -1 -1 L 2500 600 2600 800 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 2591,703 L 2600,801 L 2527,731 L 2560,725 z L 2400 1100 2800 1100 3 0 0 0 -1 -1 L 2600 800 2600 1100 3 0 0 0 -1 -1 L 2700 1100 2800 1300 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 2791,1203 L 2800,1301 L 2727,1231 L 2760,1225 z L 2500 1100 2400 1300 3 0 0 0 -1 -1 L 2400 1300 2000 1300 3 0 0 0 -1 -1 L 2800 1300 3000 1300 3 0 0 0 -1 -1 L 1600 1000 1550 1000 3 0 0 0 -1 -1 L 1600 200 1600 1000 3 0 0 0 -1 -1 L 350 1150 400 1250 3 0 0 0 -1 -1 L 450 1150 400 1250 3 0 0 0 -1 -1 L 350 1250 450 1250 3 0 0 0 -1 -1 L 350 1150 450 1150 3 0 0 0 -1 -1 L 350 850 450 850 3 0 0 0 -1 -1 L 350 750 450 750 3 0 0 0 -1 -1 L 400 750 450 850 3 0 0 0 -1 -1 L 400 750 350 850 3 0 0 0 -1 -1 L 400 1600 400 1250 3 0 0 0 -1 -1 L 400 1150 400 850 3 0 0 0 -1 -1 L 1400 1800 1400 1100 3 0 0 0 -1 -1 L 400 1400 200 1400 3 0 0 0 -1 -1 L 400 600 200 600 3 0 0 0 -1 -1 L 400 1000 200 1000 3 0 0 0 -1 -1 L 400 750 400 400 3 0 0 0 -1 -1 L 400 1600 1250 1000 3 0 0 0 -1 -1 L 1250 1000 400 400 3 0 0 0 -1 -1 L 500 1450 500 1350 3 0 0 0 -1 -1 L 450 1400 550 1400 3 0 0 0 -1 -1 L 450 600 550 600 3 0 0 0 -1 -1 T 200 2000 5 10 1 1 0 0 1 device=LM13600 T 200 2200 8 10 1 1 0 0 1 refdes=U? T 200 1100 8 10 0 0 0 0 1 footprint=DIP16 T 200 1100 8 10 0 0 0 0 1 description=Dual OTA VeroRoute/libraries/gEDA/veroroute_linear/Comparator_LM311.sym000644 001750 001750 00000003351 13515171161 024515 0ustar00alexalex000000 000000 v 20130925 2 T 400 900 8 10 0 0 0 0 1 numslots=0 P 400 900 200 900 1 0 1 { T 250 925 5 8 1 1 0 0 1 pinnumber=2 T 250 925 5 8 0 0 0 0 1 pinseq=2 T 250 925 5 8 0 0 0 0 1 pinlabel=2 T 250 925 5 8 0 0 0 0 1 pintype=pas } P 400 500 200 500 1 0 1 { T 250 525 5 8 1 1 0 0 1 pinnumber=3 T 250 525 5 8 0 0 0 0 1 pinseq=3 T 250 525 5 8 0 0 0 0 1 pinlabel=3 T 250 525 5 8 0 0 0 0 1 pintype=pas } P 1000 700 1200 700 1 0 1 { T 1075 725 5 8 1 1 0 0 1 pinnumber=7 T 1075 725 5 8 0 0 0 0 1 pinseq=7 T 1075 725 5 8 0 0 0 0 1 pinlabel=7 T 1075 725 5 8 0 0 0 0 1 pintype=pas } P 500 1025 500 1200 1 0 1 { T 525 1050 5 8 1 1 0 0 1 pinnumber=8 T 500 1200 5 8 0 0 0 0 1 pinseq=8 T 500 1200 5 8 0 0 0 0 1 pinlabel=8 T 500 1200 5 8 0 0 0 0 1 pintype=pas } P 500 375 500 100 1 0 1 { T 375 50 5 8 1 1 0 0 1 pinnumber=4 T 375 50 5 8 0 0 0 0 1 pinseq=4 T 375 50 5 8 0 0 0 0 1 pinlabel=4 T 375 50 5 8 0 0 0 0 1 pintype=pas } P 700 500 700 100 1 0 1 { T 750 125 5 8 1 1 0 0 1 pinnumber=1 T 750 125 5 8 0 0 0 0 1 pinseq=1 T 750 125 5 8 0 0 0 0 1 pinlabel=1 T 750 125 5 8 0 0 0 0 1 pintype=pas } P 700 900 700 1200 1 0 1 { T 750 1050 5 8 1 1 0 0 1 pinnumber=5 T 725 1175 5 8 0 0 0 0 1 pinseq=5 T 725 1175 5 8 0 0 0 0 1 pinlabel=5 T 725 1175 5 8 0 0 0 0 1 pintype=pas } P 900 775 900 1200 1 0 1 { T 950 1050 5 8 1 1 0 0 1 pinnumber=6 T 925 1150 5 8 0 0 0 0 1 pinseq=6 T 925 1150 5 8 0 0 0 0 1 pinlabel=6 T 925 1150 5 8 0 0 0 0 1 pintype=pas } L 400 1100 400 300 3 0 0 0 -1 -1 L 400 300 1000 700 3 0 0 0 -1 -1 L 1000 700 400 1100 3 0 0 0 -1 -1 L 500 950 500 850 3 0 0 0 -1 -1 L 450 900 550 900 3 0 0 0 -1 -1 L 450 500 550 500 3 0 0 0 -1 -1 T 950 150 5 10 1 1 0 0 1 device=LM311 T 1000 400 8 10 1 1 0 0 1 refdes=U? T 700 600 8 10 0 0 0 0 1 footprint=DIP8 T 700 600 8 10 0 0 0 0 1 description=Comparator VeroRoute/Src/ConnectionMatrix.h000644 001750 001750 00000005571 14026034476 017136 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "Common.h" // Keeps track of connectivity between a set of points (e.g. target pins in the routing algorithm) class ConnectionMatrix { public: ConnectionMatrix() {} ~ConnectionMatrix() { DeAllocate(); } void Allocate(const size_t& N) { m_N = N; const size_t N2 = m_N * m_N; m_p = new bool[N2]; m_pp = new bool*[m_N]; memset(m_p, 0, N2 * sizeof(bool)); for (size_t i = 0; i < m_N; i++) m_pp[i] = m_p + i * m_N; for (size_t i = 0; i < m_N; i++) m_pp[i][i] = true; // Each point is connected to itself m_cost = static_cast(N2 - m_N); // Cost = number of false values in the connection matrix } void DeAllocate() { if ( m_pp ) delete[] m_pp; if ( m_p ) delete[] m_p; m_pp = nullptr; m_p = nullptr; } void Connect(const size_t& j, const size_t& k) { // Make j-k connection and enforce transitivity typedef std::pair CONNECTION; std::list list; // Helper for updating the connection matrix list.push_back( CONNECTION(j,k) ); while ( !list.empty() ) { auto iter = list.begin(); // Read info from first list entry ... const auto a = iter->first; const auto b = iter->second; list.erase( iter ); // ... then remove the list entry if ( !m_pp[a][b] ) // If no a-b connection ... { m_pp[a][b] = m_pp[b][a] = true; // Make a-b connection ... m_cost -= 2; // Update cost for (size_t c = 0; c < m_N; c++) // Update 1st-order transitive relations { if ( m_pp[a][c] ) { if ( !m_pp[b][c] ) list.push_back( CONNECTION(b,c) ); // a-c connection ==> b-c connection } else { if ( m_pp[b][c] ) list.push_back( CONNECTION(a,c) ); // b-c connection ==> a-c connection } } } } } const bool& GetAreConnected(const size_t& j, const size_t& k) const { return m_pp[j][k]; } const unsigned int& GetCost() const { return m_cost; } private: size_t m_N = 0; // Number of points in the set bool* m_p = nullptr; // bool** m_pp = nullptr; // m_pp[j][k] is true if points j and k are connected unsigned int m_cost = UINT_MAX; // Zero ==> all points are connected }; VeroRoute/libraries/gEDA/veroroute_transistor/NPN_2N3903.sym000644 001750 001750 00000001563 13515171161 024043 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 0 0 0 1 pinlabel=2 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=3 T 400 850 5 6 0 0 0 0 1 pinseq=3 T 400 850 5 6 0 0 0 0 1 pinlabel=3 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=1 T 400 50 5 6 0 0 0 0 1 pinseq=1 T 400 50 5 6 0 0 0 0 1 pinlabel=1 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 403,209 L 501,200 L 431,273 L 425,240 z T 600 700 5 10 1 1 0 0 1 device=2N3903 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=NPN Transistor VeroRoute/Src/Shape.h000644 001750 001750 00000021605 14026366533 014710 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "MyRGB.h" // Class to describe a simple shape (e.g. for drawing component outlines) enum class SHAPE { LINE = 0, RECT, ROUNDED_RECT, ELLIPSE, ARC, CHORD }; class Shape : public Persist { public: Shape(SHAPE type = SHAPE::RECT, bool bLine = true, bool bFill = false, double x1 = 0, double x2 = 0, double y1 = 0, double y2 = 0, double a3 = 0) : m_type(type) , m_x1(x1), m_x2(x2) , m_y1(y1), m_y2(y2) , m_a1(0), m_a2(90), m_a3(a3) , m_bDrawLine(bLine) , m_bDrawFill(bFill) , m_lineColor(0x000000) , m_fillColor(0x00FF00) // Green { } Shape(SHAPE type, bool bLine, bool bFill, double x1, double x2, double y1, double y2, double a1, double a2, double a3 = 0) : m_type(type) , m_x1(x1), m_x2(x2) , m_y1(y1), m_y2(y2) , m_a1(a1), m_a2(a2), m_a3(a3) , m_bDrawLine(bLine) , m_bDrawFill(bFill) , m_lineColor(0x000000) , m_fillColor(0x00FF00) // Green { } Shape(const Shape& o) { *this = o; } virtual ~Shape() {} Shape& operator=(const Shape& o) { m_type = o.m_type; m_x1 = o.m_x1; m_x2 = o.m_x2; m_y1 = o.m_y1; m_y2 = o.m_y2; m_a1 = o.m_a1; m_a2 = o.m_a2; m_a3 = o.m_a3; m_bDrawLine = o.m_bDrawLine; m_bDrawFill = o.m_bDrawFill; m_lineColor = o.m_lineColor; m_fillColor = o.m_fillColor; return *this; } bool operator==(const Shape& o) const // Compare persisted info { return m_type == o.m_type && m_x1 - o.m_x1 == 0.0 && m_x2 - o.m_x2 == 0.0 && m_y1 - o.m_y1 == 0.0 && m_y2 - o.m_y2 == 0.0 && m_a1 - o.m_a1 == 0.0 && m_a2 - o.m_a2 == 0.0 && m_a3 - o.m_a3 == 0.0 && m_bDrawLine == o.m_bDrawLine && m_bDrawFill == o.m_bDrawFill && m_lineColor == o.m_lineColor && m_fillColor == o.m_fillColor; } bool operator!=(const Shape& o) const { return !(*this == o); } bool operator<(const Shape& o) const // For determining render order { if ( m_bDrawLine != o.m_bDrawLine ) return !m_bDrawLine; // Prefer no line if ( m_bDrawFill != o.m_bDrawFill ) return m_bDrawFill; // Prefer fill if ( m_lineColor != o.m_lineColor ) return m_lineColor < o.m_lineColor; if ( m_fillColor != o.m_fillColor ) return m_fillColor < o.m_fillColor; if ( m_type != o.m_type ) return static_cast(m_type) < static_cast(o.m_type); if ( m_x1 - o.m_x1 != 0.0 ) return m_x1 < o.m_x1; if ( m_x2 - o.m_x2 != 0.0 ) return m_x2 < o.m_x2; if ( m_y1 - o.m_y1 != 0.0 ) return m_y1 < o.m_y1; if ( m_y2 - o.m_y2 != 0.0 ) return m_y2 < o.m_y2; if ( m_a1 - o.m_a1 != 0.0 ) return m_a1 < o.m_a1; if ( m_a2 - o.m_a2 != 0.0 ) return m_a2 < o.m_a2; return m_a3 < o.m_a3; } void SetType(const SHAPE& c) { m_type = c; } void SetX1(const double& d) { m_x1 = d; } void SetX2(const double& d) { m_x2 = d; } void SetY1(const double& d) { m_y1 = d; } void SetY2(const double& d) { m_y2 = d; } void SetA1(const double& d) { m_a1 = d; } void SetA2(const double& d) { m_a2 = d; } void SetA3(const double& d) { m_a3 = d; } void SetDrawLine(const bool& b) { m_bDrawLine = b; } void SetDrawFill(const bool& b) { m_bDrawFill = b; } void SetLineColor(const MyRGB& r) { m_lineColor = r; } void SetFillColor(const MyRGB& r) { m_fillColor = r; } void Set(const double& x1, const double& x2, const double& y1, const double& y2, const double& a1, const double& a2, const double& a3) { m_x1 = x1; m_x2 = x2; m_y1 = y1; m_y2 = y2; m_a1 = a1; m_a2 = a2; m_a3 = a3; } void SetCX(const double& d) { Move(0, d - GetCX()); } void SetCY(const double& d) { Move(d - GetCY(), 0); } void SetDX(const double& d) { Expand( d - GetDX(), 0 ); } void SetDY(const double& d) { Expand( 0, d - GetDY() ); } void Move(const double& dDown, const double& dRight) { m_x1 += dRight; m_x2 += dRight; m_y1 += dDown; m_y2 += dDown; } void Expand(const double& dx, const double& dy) { m_x1 -= 0.5 * dx; m_x2 += 0.5 * dx; m_y1 -= 0.5 * dy; m_y2 += 0.5 * dy; } const SHAPE& GetType() const { return m_type; } const double& GetX1() const { return m_x1; } const double& GetX2() const { return m_x2; } const double& GetY1() const { return m_y1; } const double& GetY2() const { return m_y2; } const double& GetA1() const { return m_a1; } const double& GetA2() const { return m_a2; } const double& GetA3() const { return m_a3; } const bool& GetDrawLine() const { return m_bDrawLine; } const bool& GetDrawFill() const { return m_bDrawFill; } const MyRGB& GetLineColor() const { return m_lineColor; } const MyRGB& GetFillColor() const { return m_fillColor; } const double& GetXmin() const { return std::min(m_x1, m_x2); } const double& GetXmax() const { return std::max(m_x1, m_x2); } const double& GetYmin() const { return std::min(m_y1, m_y2); } const double& GetYmax() const { return std::max(m_y1, m_y2); } double GetCX() const { return 0.5 * ( m_x1 + m_x2 ); } double GetCY() const { return 0.5 * ( m_y1 + m_y2 ); } double GetDX() const { return m_x2 - m_x1; } double GetDY() const { return m_y2 - m_y1; } double GetXlen() const { return fabs(GetDX()); } double GetYlen() const { return fabs(GetDY()); } double GetAlen() const { double d = m_a2 - m_a1; while ( d < 0 ) d += 360.0; return d; } void GetSafeBounds(double& L, double& R, double& T, double& B) const // Allows for worst case rotation "A3" { if ( GetA3() == 0.0 ) { L = GetXmin(); R = GetXmax(); T = GetYmin(); B = GetYmax(); } else { // The following could be improved (to a tighter bound) by considering the shape and rotation angle const double DX( GetDX() ), DY( GetDY() ); const double d = sqrt(DX*DX + DY*DY) * 0.5; L = GetCX() - d; R = GetCX() + d; T = GetCY() - d; B = GetCY() + d; } } // Persist interface functions virtual void Load(DataStream& inStream) override { int type(0); inStream.Load(type); m_type = static_cast(type); inStream.Load(m_x1); inStream.Load(m_x2); inStream.Load(m_y1); inStream.Load(m_y2); inStream.Load(m_a1); inStream.Load(m_a2); if ( inStream.GetVersion() >= VRT_VERSION_29 ) { inStream.Load(m_a3); // Added in VRT_VERSION_29 inStream.Load(m_bDrawLine); // Added in VRT_VERSION_29 inStream.Load(m_bDrawFill); // Added in VRT_VERSION_29 m_lineColor.Load(inStream); // Added in VRT_VERSION_29 m_fillColor.Load(inStream); // Added in VRT_VERSION_29 } else { m_a3 = 0; m_bDrawLine = true; m_bDrawFill = false; m_lineColor.SetRGB(0,0,0); m_fillColor.SetRGB(0,255,0); // Green } } virtual void Save(DataStream& outStream) override { outStream.Save(static_cast(m_type)); outStream.Save(m_x1); outStream.Save(m_x2); outStream.Save(m_y1); outStream.Save(m_y2); outStream.Save(m_a1); outStream.Save(m_a2); outStream.Save(m_a3); // Added in VRT_VERSION_29 outStream.Save(m_bDrawLine); // Added in VRT_VERSION_29 outStream.Save(m_bDrawFill); // Added in VRT_VERSION_29 m_lineColor.Save(outStream); // Added in VRT_VERSION_29 m_fillColor.Save(outStream); // Added in VRT_VERSION_29 } static const std::map& GetMapShapeStrings() { static std::map mapShapeToStr; // Mapping of SHAPE enum to strings if ( mapShapeToStr.empty() ) { mapShapeToStr[SHAPE::LINE] = "Line"; mapShapeToStr[SHAPE::RECT] = "Rectangle"; mapShapeToStr[SHAPE::ROUNDED_RECT] = "Rounded Rectangle"; mapShapeToStr[SHAPE::ELLIPSE] = "Ellipse"; mapShapeToStr[SHAPE::ARC] = "Arc"; mapShapeToStr[SHAPE::CHORD] = "Chord"; } return mapShapeToStr; } private: // Data (x1,y1) and (x2,y2) are either // the start and end points of a line, or the TL and BR corners of a rectangle. // Ellipses fit to the rectangle. // An arc is a CCW part of the ellipse, starting at "a1" and ending at "a2". // Note the angle is w.r.t. a circle rather than an ellipse. // The angle "a3" can be used to provide a final CCW rotation of the shape about its centre. SHAPE m_type; double m_x1, m_x2; // Units of 100 mil w.r.t. footprint centre double m_y1, m_y2; // Units of 100 mil w.r.t. footprint centre double m_a1, m_a2, m_a3; // Angles measured CCW degrees. Zero at 3 o'clock. bool m_bDrawLine; // Draw line (can only be false if m_bFill is true) bool m_bDrawFill; // Fill with color MyRGB m_lineColor; // Line color. Always black MyRGB m_fillColor; // Fill color. }; VeroRoute/Src/Grid.h000644 001750 001750 00000032227 14026402510 014521 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "CompElement.h" #include "Element.h" #include "CompTypes.h" // For component length limits // Grid is a templatized 3-dimensional array, with data that can be indexed by layer, row and column template class Grid : public Persist, public Merge { public: Grid() { Allocate(0, 0, 0); } Grid(const Grid& o) { *this = o; } virtual ~Grid() { DeAllocate(); } Grid& operator=(const Grid& o) { Allocate(o.m_lyrs, o.m_rows, o.m_cols); for (int i = 0, iSize = GetSize(); i < iSize; i++) m_pData[i] = o.m_pData[i]; return *this; } bool operator==(const Grid& o) const // Compare persisted info { bool bOK = m_lyrs == o.m_lyrs && m_rows == o.m_rows && m_cols == o.m_cols; for (int i = 0, iSize = GetSize(); i < iSize && bOK; i++) bOK = ( m_pData[i] == o.m_pData[i] ); return bOK; } bool operator!=(const Grid& o) const { return !(*this == o); } void Clear(const T& val) { for (int i = 0, iSize = GetSize(); i < iSize; i++) m_pData[i] = val; } void Allocate(int lyrs, int rows, int cols) { DeAllocate(); m_lyrs = lyrs; m_rows = rows; m_cols = cols; m_pData = new T[m_lyrs * m_rows * m_cols]; m_ppData = new T*[m_lyrs * m_rows]; m_pppData = new T**[m_lyrs]; for (int i = 0, iSize = m_lyrs * m_rows; i < iSize; i++) m_ppData[i] = m_pData + i * m_cols; for (int i = 0, iSize = m_lyrs; i < iSize; i++) m_pppData[i] = m_ppData + i * m_rows; } void DeAllocate() { if ( m_pppData ) delete[] m_pppData; if ( m_ppData ) delete[] m_ppData; if ( m_pData ) delete[] m_pData; m_pppData = nullptr; m_ppData = nullptr; m_pData = nullptr; m_lyrs = m_rows = m_cols = 0; } const int& GetLyrs() const { return m_lyrs; } const int& GetRows() const { return m_rows; } const int& GetCols() const { return m_cols; } int GetSize() const { return m_lyrs * m_rows * m_cols; } void GetRowCol(const T* p, int& row, int& col) const { int lyr; // dummy GetLyrRowCol(p, lyr, row, col); } void GetLyrRowCol(const T* p, int& lyr, int& row, int& col) const { const size_t ii = ( p - m_pData ); assert( ii < static_cast ( GetSize() ) ); const int i = static_cast (ii); const int rowLyr = i / m_cols; col = i % m_cols; lyr = rowLyr / m_rows; row = rowLyr % m_rows; } T* GetAt(int i) { return m_pData + i; } T* GetAtConst(int i) const { return m_pData + i; } T* Get(int lyr, int row, int col) const { return m_pppData[lyr][row] + col;} void SetAt(int i, const T& val) { m_pData[i] = val; } void Set(int lyr, int row, int col, const T& o) { m_pppData[lyr][row][col] = o; } void Grow(int incLyrs, int incRows, int incCols) // Grow/shrink the current array { if ( incLyrs == 0 && incRows == 0 && incCols == 0 ) return; Grid tmp(*this); // Make a temporary copy of this grid Allocate(m_lyrs + incLyrs, m_rows + incRows, m_cols + incCols); // Re-allocate this grid to make it larger/smaller // Now copy the tmp data into the new grid for (int lyr = 0, lyrs = std::min(GetLyrs(), tmp.GetLyrs()); lyr < lyrs; lyr++) for (int row = 0, rows = std::min(GetRows(), tmp.GetRows()); row < rows; row++) for (int col = 0, cols = std::min(GetCols(), tmp.GetCols()); col < cols; col++) m_pppData[lyr][row][col] = tmp.m_pppData[lyr][row][col]; } // Merge interface functions virtual void UpdateMergeOffsets(MergeOffsets& o) override { // o.deltaLyr = std::max(o.deltaLyr, GetLyrs() + 1); o.deltaRow = std::max(o.deltaRow, GetRows() + 1); // o.deltaCol = std::max(o.deltaCol, GetCols() + 1); for (int i = 0, iSize = GetSize(); i < iSize; i++) m_pData[i].UpdateMergeOffsets(o); } virtual void ApplyMergeOffsets(const MergeOffsets& o) override { for (int i = 0, iSize = GetSize(); i < iSize; i++) m_pData[i].ApplyMergeOffsets(o); } void Merge(const Grid& src, const MergeOffsets& o) { for (int lyr = 0, lyrs = src.GetLyrs(); lyr < lyrs; lyr++) for (int row = 0, rows = src.GetRows(); row < rows; row++) for (int col = 0, cols = src.GetCols(); col < cols; col++) Get(lyr + o.deltaLyr, row + o.deltaRow, col + o.deltaCol)->Merge(*src.Get(lyr, row, col)); } // Persist interface functions virtual void Load(DataStream& inStream) override { int lyrs(1), rows(1), cols(1); inStream.Load(rows); inStream.Load(cols); if ( inStream.GetVersion() >= VRT_VERSION_34 ) inStream.Load(lyrs); // Added in VRT_VERSION_34 Allocate(lyrs, rows, cols); for (int i = 0, iSize = GetSize(); i < iSize; i++) m_pData[i].Load(inStream); } virtual void Save(DataStream& outStream) override { outStream.Save(m_rows); outStream.Save(m_cols); outStream.Save(m_lyrs); // Added in VRT_VERSION_34 for (int i = 0, iSize = GetSize(); i < iSize; i++) m_pData[i].Save(outStream); } private: int m_lyrs = 0; int m_rows = 0; int m_cols = 0; T* m_pData = nullptr; T** m_ppData = nullptr; T*** m_pppData = nullptr; // So we can access data using [][][] }; // The PinGrid class is used by the component editor class (CompDefiner) typedef Grid PinGrid; typedef Grid TrackElementGrid; // The CompElementGrid class is used for component footprints and "track footprints". // It can handle simple transformations like stretching and rotating. // The internal "direction" of a CompElementGrid is always West ('W') // meaning that Pin 1 is to the West (left) of the centre. // For example, a resistor footprint is always stored as a CompElementGrid with a // single horizontal row, with the first pin on the far left and the second pin on the far right. // If we rotate a component so it points in another direction on screen, then any // methods that access the CompElementGrid information in a spatial way should specify // the component direction so the internal data can be read correctly. class CompElementGrid : public Grid { public: CompElementGrid() : Grid() {} CompElementGrid(const CompElementGrid& o) : Grid(o) { *this = o; } virtual ~CompElementGrid() override {} CompElementGrid& operator=(const CompElementGrid& o) { Grid::operator=(o); return *this; } bool operator==(const CompElementGrid& o) const { return Grid::operator==(o); } bool operator!=(const CompElementGrid& o) const { return Grid::operator!=(o); } const int& GetCols(char direction = 'W') const { switch( direction ) // Component direction: 'W','E','N','S' { case 'N': case 'S': return Grid::GetRows(); default: return Grid::GetCols(); } } const int& GetRows(char direction = 'W') const { switch( direction ) // Component direction: 'W','E','N','S' { case 'N': case 'S': return Grid::GetCols(); default: return Grid::GetRows(); } } CompElement* Get(int row, int col) const { assert( GetLyrs() == 1 ); return Grid::Get(0, row, col); } CompElement* Get(int lyr, int row, int col, char direction = 'W') const { assert( lyr == 0 && GetLyrs() == 1 ); Transform(row, col, direction); // Handle direction transformation return Grid::Get(lyr, row, col); } void StretchSimple(bool bGrow, const CompElement& initVal) // For simple 2-pin components like resistors, wires, diodes, caps { assert( GetLyrs() == 1 ); // Pins are assumed to be first and last element on the row if ( GetRows() == 1 && ( bGrow || GetCols() > 2 ) ) { CompElement a(*GetAt(0)), b(*GetAt(GetCols()-1)); // Read ends Allocate(GetLyrs(), GetRows(), bGrow ? GetCols() + 1 : GetCols() - 1); // Resize Clear(initVal); *GetAt(0) = a; *GetAt(GetCols()-1) = b; // Set ends } } void StretchComplex(const COMP& eType, bool bGrow) // For ICs and switches { assert( GetLyrs() == 1 ); if ( !bGrow && GetCols() == CompTypes::GetMinLength(eType) ) return; // Don't shrink to less than min allowed length if ( bGrow && GetCols() == CompTypes::GetMaxLength(eType) ) return; // Don't expand to more than max allowed length const int iDelta = CompTypes::GetStretchIncrement(eType); return Allocate(GetLyrs(), GetRows(), bGrow ? GetCols() + iDelta : GetCols() - iDelta); // Resize } void StretchWidthIC(bool bGrow) // For DIPs only { assert( GetLyrs() == 1 ); if ( !bGrow && GetRows() == 2 ) return; // Don't shrink DIP width to less than 2 rows return Allocate(GetLyrs(), bGrow ? GetRows() + 1 : GetRows() - 1, GetCols()); // Resize } virtual void Load(DataStream& inStream) override { if ( inStream.GetVersion() >= VRT_VERSION_11 ) return Grid::Load(inStream); // Handle legacy VRTs where components used a simple PinGrid instead of an CompElementGrid int rows(0), cols(0); inStream.Load(rows); inStream.Load(cols); const int lyrs = ( rows > 0 && cols > 0 ) ? 1 : 0; Allocate(lyrs, rows, cols); CompElement tmp; const int iSize = GetSize(); for (int i = 0; i < iSize; i++) { tmp.Pin::Load(inStream); // Just load the Pin info SetAt(i, tmp); } } private: void Transform(int& row, int& col, char direction) const { assert( GetLyrs() == 1 ); // On input: (row,col) are the "footprint" co-ordinates (as seen on screen). // On output: (row,col) have been set to the corresponding internal values. const int rTmp(row), cTmp(col); switch( direction ) // Component direction: 'W','E','N','S' { case 'W': return; case 'E': row = Grid::GetRows()-1 - rTmp; col = Grid::GetCols()-1 - cTmp; return; case 'N': row = Grid::GetRows()-1 - cTmp; col = rTmp; return; case 'S': row = cTmp; col = Grid::GetCols()-1 - rTmp; return; } } }; // The ElementGrid is used for the board and has a hidden toroidal behaviour. // So things that move too far right can appear on the left. // Similarly for top and bottom. // It's a lazy way of avoiding bounds checking during development. // More importantly, it makes the neighbouring element concept simpler // since every element will always have non-null neighbour pointers. class ElementGrid : public Grid { public: ElementGrid() : Grid() {} ElementGrid(const ElementGrid& o) : Grid(o) { *this = o; } virtual ~ElementGrid() override {} ElementGrid& operator=(const ElementGrid& o) { Grid::operator=(o); return *this; } bool operator==(const ElementGrid& o) const { return Grid::operator==(o); } bool operator!=(const ElementGrid& o) const { return Grid::operator!=(o); } void MakeToroid(int& row, int& col) const // Make co-ordinates wrap around at grid edges { assert( GetRows() > 0 ); if ( GetRows() > 0 ) { while ( row < 0 ) { row += GetRows(); } while ( row >= GetRows() ) { row -= GetRows(); } } assert( GetCols() > 0 ); if ( GetCols() > 0 ) { while ( col < 0 ) { col += GetCols(); } while ( col >= GetCols() ) { col -= GetCols(); } } } void MakeToroid(int& lyr, int& row, int& col) const // Make co-ordinates wrap around at grid edges { assert( GetLyrs() > 0 ); if ( GetLyrs() > 0 ) { while ( lyr < 0 ) { lyr += GetLyrs(); } while ( lyr >= GetLyrs() ) { lyr -= GetLyrs(); } } MakeToroid(row, col); } Element* Get(int lyr, int row, int col) const { MakeToroid(lyr, row, col); // Make co-ordinates wrap around at grid edges return Grid::Get(lyr, row, col); } void Pan(int iDown, int iRight) // Input arguments can be +ve or -ve. { if ( iDown == 0 && iRight == 0 ) return; ElementGrid tmp(*this); // Make a temporary copy of this grid for (int iLyr = 0, lyrs = GetLyrs(); iLyr < lyrs; iLyr++) for (int iRow = 0, rows = GetRows(); iRow < rows; iRow++) for (int iCol = 0, cols = GetCols(); iCol < cols; iCol++) Set(iLyr, iRow, iCol, *(tmp.Get(iLyr, iRow - iDown, iCol - iRight))); // ElementGrid::Get() accounts for toroidal behaviour } bool CopyFrom(const TrackElementGrid& o) { if ( o.GetLyrs() != GetLyrs() || o.GetRows() != GetRows() || o.GetCols() != GetCols() ) return false; for (int i = 0, iSize = GetSize(); i < iSize; i++) GetAt(i)->TrackElement::operator=(*o.GetAtConst(i)); return true; } void CopyTo(TrackElementGrid& o) const { if ( o.GetLyrs() != GetLyrs() || o.GetRows() != GetRows() || o.GetCols() != GetCols() ) o.Allocate(GetLyrs(), GetRows(), GetCols()); for (int i = 0, iSize = GetSize(); i < iSize; i++) o.GetAt(i)->operator=(*GetAtConst(i)); } size_t GetNumNodeIds() const { std::set nodeIds; for (int i = 0, iSize = GetSize(); i < iSize; i++) { const int& iNodeId = GetAtConst(i)->GetNodeId(); if ( iNodeId != BAD_NODEID ) nodeIds.insert(iNodeId); } return nodeIds.size(); } }; VeroRoute/libraries/gEDA/veroroute_linear/Generic_SIP10.sym000644 001750 001750 00000003756 13515171161 024032 0ustar00alexalex000000 000000 v 20130925 2 T 300 0 8 10 0 0 0 0 1 numslots=0 B 300 0 1400 4000 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 3800 300 3800 1 0 0 { T 205 3845 5 10 1 1 0 6 1 pinnumber=1 T 200 3800 5 10 0 1 0 0 1 pinseq=1 T 355 3795 5 10 0 1 0 0 1 pinlabel=1 T 200 3800 5 10 0 1 0 0 1 pintype=pas } P 0 3400 300 3400 1 0 0 { T 205 3445 5 10 1 1 0 6 1 pinnumber=2 T 200 3400 5 10 0 1 0 0 1 pinseq=2 T 355 3345 5 10 0 1 0 0 1 pinlabel=2 T 200 3400 5 10 0 1 0 0 1 pintype=pas } P 0 3000 300 3000 1 0 0 { T 205 3045 5 10 1 1 0 6 1 pinnumber=3 T 200 3000 5 10 0 1 0 0 1 pinseq=3 T 355 2945 5 10 0 1 0 0 1 pinlabel=3 T 200 3000 5 10 0 1 0 0 1 pintype=pas } P 0 2600 300 2600 1 0 0 { T 205 2645 5 10 1 1 0 6 1 pinnumber=4 T 200 2600 5 10 0 1 0 0 1 pinseq=4 T 355 2545 5 10 0 1 0 0 1 pinlabel=4 T 200 2600 5 10 0 1 0 0 1 pintype=pas } P 0 2200 300 2200 1 0 0 { T 205 2245 5 10 1 1 0 6 1 pinnumber=5 T 200 2200 5 10 0 1 0 0 1 pinseq=5 T 355 2145 5 10 0 1 0 0 1 pinlabel=5 T 200 2200 5 10 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 205 1845 5 10 1 1 0 6 1 pinnumber=6 T 200 1800 5 10 0 1 0 0 1 pinseq=6 T 355 1745 5 10 0 1 0 0 1 pinlabel=6 T 200 1800 5 10 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 205 1445 5 10 1 1 0 6 1 pinnumber=7 T 200 1400 5 10 0 1 0 0 1 pinseq=7 T 355 1345 5 10 0 1 0 0 1 pinlabel=7 T 200 1400 5 10 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 205 1045 5 10 1 1 0 6 1 pinnumber=8 T 200 1000 5 10 0 1 0 0 1 pinseq=8 T 355 945 5 10 0 1 0 0 1 pinlabel=8 T 200 1000 5 10 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 205 245 5 10 1 1 0 6 1 pinnumber=10 T 200 200 5 10 0 1 180 6 1 pinseq=10 T 355 195 5 10 0 1 0 0 1 pinlabel=10 T 200 200 5 10 0 1 180 6 1 pintype=pas } P 0 600 300 600 1 0 0 { T 205 645 5 10 1 1 0 6 1 pinnumber=9 T 200 600 5 10 0 1 180 6 1 pinseq=9 T 355 595 5 10 0 1 0 0 1 pinlabel=9 T 200 600 5 10 0 1 180 6 1 pintype=pas } T 1200 4155 5 10 1 1 0 0 1 device=Name T 300 4155 8 10 1 1 0 0 1 refdes=U? T 1600 2055 8 10 0 1 0 0 1 footprint=SIP10 T 1900 1845 8 10 0 1 0 0 1 description=Generic 10 Pin SIP VeroRoute/libraries/gEDA/veroroute_passive/Capacitor_Electrolytic_NP_200mil.sym000644 001750 001750 00000001340 13515171161 030074 0ustar00alexalex000000 000000 v 20130925 2 T 200 700 5 10 0 0 0 0 1 numslots=0 P 200 700 400 700 1 0 0 { T 350 750 5 8 1 1 0 6 1 pinnumber=1 T 350 750 5 8 0 0 0 6 1 pinseq=1 T 350 750 5 8 0 0 0 6 1 pinlabel=1 T 350 750 5 8 0 0 0 6 1 pintype=pas } P 1100 700 900 700 1 0 0 { T 950 750 5 8 1 1 0 0 1 pinnumber=2 T 950 750 5 8 0 0 0 0 1 pinseq=2 T 950 750 5 8 0 0 0 0 1 pinlabel=2 T 950 750 5 8 0 0 0 0 1 pintype=pas } L 600 900 600 500 3 0 0 0 -1 -1 L 900 700 700 700 3 0 0 0 -1 -1 L 600 700 400 700 3 0 0 0 -1 -1 A 1400 700 700 165 30 3 0 0 0 -1 -1 T 500 300 5 10 1 1 0 0 1 device=1u T 500 1000 8 10 1 1 0 0 1 refdes=C? T 500 700 8 10 0 0 0 0 1 footprint=CAP_ELECTRO_200_NP T 500 700 8 10 0 0 0 0 1 description=Non-Polarised Electrolytic Capacitor (200 mil diameter) VeroRoute/libraries/gEDA/veroroute_passive/Resistor_200mil.sym000644 001750 001750 00000001141 13515171161 024661 0ustar00alexalex000000 000000 v 20130925 2 T 0 400 5 10 0 0 0 0 1 numslots=0 P 0 400 150 400 1 0 0 { T 100 450 5 8 0 1 0 0 1 pinnumber=1 T 100 450 5 8 0 0 0 0 1 pinseq=1 T 100 450 5 8 0 0 0 0 1 pinlabel=1 T 100 450 5 8 0 0 0 0 1 pintype=pas } P 900 400 750 400 1 0 0 { T 800 450 5 8 0 1 0 0 1 pinnumber=2 T 800 450 5 8 0 0 0 0 1 pinseq=2 T 800 450 5 8 0 0 0 0 1 pinlabel=2 T 800 450 5 8 0 0 0 0 1 pintype=pas } B 150 300 600 200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 200 50 5 10 1 1 0 0 1 device=100k T 300 600 8 10 1 1 0 0 1 refdes=R? T 100 400 8 10 0 0 0 0 1 footprint=RESISTOR2 T 100 400 8 10 0 0 0 0 1 description=Resistor (200 mil length) VeroRoute/libraries/gEDA/veroroute_transistor/NPN_BC639.sym000644 001750 001750 00000001562 13515171161 023772 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=3 T 100 550 5 6 0 0 0 0 1 pinseq=3 T 100 550 5 6 0 0 0 0 1 pinlabel=3 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=2 T 400 850 5 6 0 0 0 0 1 pinseq=2 T 400 850 5 6 0 0 0 0 1 pinlabel=2 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=1 T 400 50 5 6 0 0 0 0 1 pinseq=1 T 400 50 5 6 0 0 0 0 1 pinlabel=1 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 403,209 L 501,200 L 431,273 L 425,240 z T 600 700 5 10 1 1 0 0 1 device=BC639 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=NPN Transistor VeroRoute/libraries/gEDA/veroroute_bbd/MN3009.sym000644 001750 001750 00000003277 13515171160 021702 0ustar00alexalex000000 000000 v 20130925 2 T 300 400 8 10 0 0 0 0 1 numslots=0 B 300 400 1800 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 1000 300 1000 1 0 0 { T 205 1045 5 10 1 1 0 6 1 pinnumber=1 T 200 1000 5 10 0 0 0 0 1 pinseq=1 T 355 945 5 10 1 1 0 0 1 pinlabel=GND T 200 1000 5 10 0 0 0 0 1 pintype=pwr } P 0 1600 300 1600 1 0 0 { T 205 1645 5 10 1 1 0 6 1 pinnumber=3 T 200 1600 5 10 0 0 0 0 1 pinseq=3 T 355 1545 5 10 1 1 0 0 1 pinlabel=IN T 200 1600 5 10 0 0 0 0 1 pintype=in } P 900 2500 900 2200 1 0 0 { T 850 2295 5 10 1 1 90 0 1 pinnumber=5 T 900 2400 5 10 0 0 0 0 1 pinseq=5 T 950 2145 5 10 1 1 90 6 1 pinlabel=VDD T 900 2400 5 10 0 0 0 0 1 pintype=pwr } P 1500 2500 1500 2200 1 0 0 { T 1450 2295 5 10 1 1 90 0 1 pinnumber=4 T 1500 2400 5 10 0 0 0 0 1 pinseq=4 T 1550 2145 5 10 1 1 90 6 1 pinlabel=VGG T 1500 2400 5 10 0 0 0 0 1 pintype=pas } P 2400 1600 2100 1600 1 0 0 { T 2195 1645 5 10 1 1 0 0 1 pinnumber=8 T 2500 1600 5 10 0 0 0 0 1 pinseq=8 T 2045 1545 5 10 1 1 0 6 1 pinlabel=OUT2 T 2500 1600 5 10 0 0 0 0 1 pintype=out } P 2400 1000 2100 1000 1 0 0 { T 2195 1045 5 10 1 1 0 0 1 pinnumber=7 T 2500 1000 5 10 0 0 0 0 1 pinseq=7 T 2045 945 5 10 1 1 0 6 1 pinlabel=OUT1 T 2500 1000 5 10 0 0 0 0 1 pintype=out } P 900 100 900 400 1 0 0 { T 850 305 5 10 1 1 90 6 1 pinnumber=2 T 900 100 5 10 0 0 0 0 1 pinseq=2 T 950 455 5 10 1 1 90 0 1 pinlabel=CP1 T 900 100 5 10 0 0 0 0 1 pintype=clk } P 1500 100 1500 400 1 0 0 { T 1450 305 5 10 1 1 90 6 1 pinnumber=6 T 1500 100 5 10 0 0 0 0 1 pinseq=6 T 1550 455 5 10 1 1 90 0 1 pinlabel=CP2 T 1500 100 5 10 0 0 0 0 1 pintype=clk } T 1900 2455 5 10 1 1 0 0 1 device=MN3009 T 1900 2655 8 10 1 1 0 0 1 refdes=U? T 1600 2055 8 10 0 1 0 0 1 footprint=DIP8 T 1900 1845 8 10 0 1 0 0 1 description=256-Stage BBD VeroRoute/tutorials/tutorial_20.vrt000644 001750 001750 00000221763 14015257214 017677 0ustar00alexalex000000 000000 0 іTUTORIAL 20 - FLYING WIRES Regular wires in VeroRoute behave in a certain way. In particular... 1) They do not have a netlist value of their own, but rather inherit the netlist value of the grid square where they are placed. 2) They can only be placed horizontally or vertically. 3) They cannot cross other parts but can be placed in the gap between pins of an IC socket. 4) There are options to allow 2 wires to share a hole, and for 2 wires to cross or overlay one another. "Flying wires" in VeroRoute are not actual objects, but rather automatically generated connections between a set of "flying wire pads". So to create "flying wires" you must place a set of "flying wire pads" down on the grid and paint them with the same netlist value. VeroRoute treats all "flying wire pads" with the same netlist value as being electrically connected, and it automatically generates a daisy chain of flying wires between them to indicate that. Look at the example circuit. Flying wires are drawn in the same style as regular wires except they have white stripes instead of a solid color. Note that the "Broken Nodes" list for the circuit is empty meaning there are no open circuits. Now go the View menu and choose "Hide Flying Wires". The "Broken Nodes" list remains empty because the flying wire pads have an implicit electrical connection regardless of whether you choose to draw the flying wires to screen. Flying wires are always hidden in Mono and PCB modes. Now go the the View menu and choose "Show Flying Wires". Click on one of the "flying wire pad" objects (e.g. the green pad to the right of D5 near the top of the circuit) and drag it to different places in the view. You will see the daisy chain of flying wires being rebuilt according to where the pad is placed. џџџџџџџџZ. 2? џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@Wџџџџџџџџџџџџџџџџџџџџџџџџџ*@Wџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ Dџџџџџџџџџџ џџџџџџџџџџ џџџџџџџџџ*Zџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ D]џџџџџџ џџџџџџџџџ P]џџџџџFџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ Фџџџџџџџџџџ џџџџџџџџџџ lџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџlџџџџџXџџџџџџџџџџџџџџџXџџџџџGџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ"0Tџџџџџџ"Aџџџџџџџџџџџџџџџџџџџ)@Tџџџџџ@2џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ`2Eџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@Eџџџџџџџџџџџџџџџџџџџџџџџџџџ"Fџџџџџџџџџ!`?џџџџџ)UџџџџџD@џџџџџ#@Bџџџџџ(` џџџџџџџџџџџџџџџџџџџџџџџџџ&p џџџџџ&Сџџџџџџџџџџџџџџџџџџџџџџџџџ4џџџџџcџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџ@+џџџџџџџџџџџџџџџ@+џџџџџ@,џџџџџџџџџџџџџџџ@,џџџџџ0;џџџџџA.џџџџџ@.џџџџџ@-џџџџџџDџџџџџџџџџ@-џџџџџ @>џџџџџ"d\џџџџџ!4\џџџџџџ!CџџџџџџџџџD5џџџџџ#D5џџџџџџ(џџџџџџџџџ(4џџџџџ%@4џџџџџ&<3џџџџџџ&Gџџџџџџџџџ'3џџџџџ'џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџDџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџFџџџџџџџџџџDџџџџџџџџџDџџџџџџDџџџџџџџџџџDџџџџџџџџџџ Dџџџџџџџџџџ"4џџџџџџџџџ"C'џџџџџџ!FџџџџџџџџџџDџџџџџџџџџ#d'џџџџџџџџџџџџџџџџџџџџџџџџџ%Ф<џџџџџџџџџџџџџџџџ&Цџџџџџџџџџ%@<џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџDџџџџџџDџџџџџџџџџџџџџџџџџџџDџџџџџџDџџџџџџџџџ0џџџџџџAџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџ D&џџџџџџџџџџџџџџџџ"Fџџџџџџџџџ!D&џџџџџD6џџџџџџ#џџџџџџџџџ#6џџџџџ%8!џџџџџџ%Eџџџџџџџџџџ&Xџџџџџџџџџ&…!џџџџџ%Dџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџџџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџCџџџџџџDџџџџџџџџџ@CџџџџџџfџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџDџџџџџџџџџџDџџџџџџџџџ@џџџџџџ Dџџџџџџџџџџџџџџџџџџџ"D$џџџџџџ!DџџџџџџџџџџDџџџџџџџџџ@$џџџџџ`џџџџџџџџџџџџџџџџ%Fџџџџџџџџџ&Lџџџџџ$@Aџџџџџџ%Dџџџџџџџџџ@џџџџџџџџџџџџџџџџDџџџџџџџџџ@џџџџџџDџџџџџџџџџџDџџџџџџџџџD=џџџџџџџџџџџџџџџ@=џџџџџDџџџџџџDџџџџџџџџџџ4џџџџџџџџџCџџџџџџџџџџџџџџџџDџџџџџџџџџDHџџџџџџDџџџџџџџџџDHџџџџџ %џџџџџ @џџџџџ "џџџџџ !џџџџџ џџџџџџФџџџџџџџџџџTџџџџџџџџџ ƒџџџџџ %џџџџџ &џџџџџ $џџџџџџ%DџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџ џџџџџ џџџџџ џџџџџ џџџџџ џџџџџ @џџџџџ џџџџџ џџџџџџФџџџџџџџџџџџџџџџџџџџџFџџџџџџџџџ @џџџџџ џџџџџ џџџџџ Dџџџџџ7џџџџџџџџџџџџџџџ hџџџџџџџџџџџџџџџџPџџџџџџџџџџ™џџџџџџџџџџџџџџџџџџџLiџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ @Pџџџџџџ%DџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ mџџџџџџџџџџџџџџџџxџџџџџџџџџџХџџџџџџџџџџџџџџџџџџџDSџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ [џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџLџџџџџџџџџ @eџџџџџџџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџџџџџџ%DџџџџџџџџџDjџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ @dџџџџџџџџџџџџџџџџ\џџџџџџџџџџ‡џџџџџџџџџџџџџџџџџџџџDџџџџџџџџџ kџџџџџџџџџџџџџџџ 0fџџџџџџAџџџџџџџџџџџџџџџџџџџp%џџџџџ Сџџџџџ @џџџџџ dџџџџџ џџџџџџџџџџџџџџџџDџџџџџџџџџ Pџџџџџ џџџџџ Рџџџџџ Dџџџџџџ%DџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџ  @џџџџџ  @џџџџџ  @џџџџџ  @џџџџџ  `џџџџџ џџџџџ  Рџџџџџ Lџџџџџ@8џџџџџ@9џџџџџџDџџџџџџџџџ @џџџџџ @џџџџџ @џџџџџ џџџџџ@:џџџџџџ\џџџџџџџџџ‡#џџџџџџDџџџџџџџџџџџџџџџџџџџ#џџџџџџџџџџџџџџџџџџџџџЬџџџџџџџџџџXџџџџџџџџџ…џџџџџџdџџџџџџџџџ% џџџџџџDџџџџџџџџџџџџџџџџџџџ  џџџџџџ Dџџџџџџџџџ  џџџџџ D џџџџџџ Tџџџџџџџџџџ ›џџџџџџџџџџ џџџџџџџџџD џџџџџџџџџџџџџџџџDџџџџџџџџџDџџџџџDџџџџџD(џџџџџџџџџџџџџџџ(џџџџџџLџџџџџџџџџџџџџџџџџџџD"џџџџџџџџџџџџџџџџџџџџџџџџџ0"џџџџџџYџџџџџџџџџџ…џџџџџџџџџlџџџџџџџџџџџџџџџџtџџџџџџџџџУџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџР џџџџџ Dџџџџџџ Lџџџџџџџџџџџџџџџџџџџ@џџџџџџDџџџџџџџџџpџџџџџСџџџџџџDџџџџџџџџџџDџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@џџџџџ1џџџџџџџџџџџџџџџ1џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџnџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ/џџџџџ/џџџџџ0џџџџџа0џџџџџџ‘џџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџ  џџџџџ *џџџџџџџџџџџџџџџd*џџџџџ џџџџџџќџџџџџџџџџџчџџџџџџџџџ џџџџџџФџџџџџџџџџџџџџџ)џџџџџџџџџџџџџџџФ)џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ DџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџDџџџџџbџџџџџџџџџџџџџџџ]џШH Wire7 Wire7WireWire WF(12П№?№ПЙ™™™™™š?Й™™™™™š@V€пџџП№?№ПЙ™™™™™š?Й™™™™™š@V€пџџџџ,R23100kRResistorRESISTOR EF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R13470RRResistorRESISTOREF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d?10 Rate3PadPadPADWF(!1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп,R14470RRResistorRESISTORSF(12ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@V€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@V€‚Я§ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{ПдzсGЎ{@V€‚Я§ПЧ =pЃз ?Ч =pЃз ?дzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@J€РJ€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@m @_Р‚Я§є\C114u7@N.P.CCeramicCAP_CERAMICWF(""1!2ПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ PПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ Pџє-C64n7CCeramicCAP_CERAMICEF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ P,R20100kRResistorRESISTORSF(12ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@V€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@V€‚Я§ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{ПдzсGЎ{@V€‚Я§ПЧ =pЃз ?Ч =pЃз ?дzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@J€РJ€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@m @_Р‚Я§4D2 RedLEDD Diode DIODEWF((1%2ПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џfD?Й™™™™™˜?Й™™™™™˜Пй™™™™™š?й™™™™™š@V€џfD?У333334?У333334Пй™™™™™š?й™™™™™š@V€џfD?ы333333?ы333333Пй™™™™™š?й™™™™™š@V€џfDПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џfD,R215kRResistorRESISTORSF(12ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@V€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@V€‚Я§ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{ПдzсGЎ{@V€‚Я§ПЧ =pЃз ?Ч =pЃз ?дzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@J€РJ€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@m @_Р‚Я§nfPad"Pad (Flying Wire)PAD_FLYINGWIREWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџ3D1 1N4148D Diode DIODE WF(&&1'2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDџџ, R6470RRResistorRESISTORWF(1 2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§njPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпє0C910uCCeramicCAP_CERAMIC EF(12ПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ PПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ Pє/C810uCCeramicCAP_CERAMIC WF(12ПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ PПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ Pџє1C1010nCCeramicCAP_CERAMICEF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pd;5OutPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпnSPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,TR383k6RResistorRESISTORWF("1)2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џШ= Wire3 Wire3WireWire WF(12П№?№ПЙ™™™™™š?Й™™™™™š@V€пџџП№?№ПЙ™™™™™š?Й™™™™™š@V€пџџnlPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ, R810kRResistorRESISTOR EF( 1%2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§dU14Flash_LED+PadPadPADWF()1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпnmPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџџ, R910kRResistorRESISTORWF( 12ПњсGЎzс?њсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§Р\(ѕТПјQы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?јQы…ИR@\(ѕТПй™™™™™š?й™™™™™™@V€‚Я§ПњсGЎzс?њсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПњсGЎzс?њсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§Р\(ѕТПјQы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?јQы…ИR@\(ѕТПй™™™™™š?й™™™™™™@m @_Р‚Я§џџџџџџџџџџџџџџШE Wire6 Wire6WireWire WF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџџШC Wire4 Wire4WireWire WF(12П№?№ПЙ™™™™™š?Й™™™™™š@V€пџџП№?№ПЙ™™™™™š?Й™™™™™š@V€пџџџџџџџџџџџџџџџџШD Wire5 Wire5WireWire WF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџџџџ,R1847kRResistorRESISTORWF(12ПњсGЎzс?њсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§Р\(ѕТПјQы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?јQы…ИR@\(ѕТПй™™™™™š?й™™™™™™@V€‚Я§ПњсGЎzс?њсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПњсGЎzс?њсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§Р\(ѕТПјQы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?јQы…ИR@\(ѕТПй™™™™™š?й™™™™™™@m @_Р‚Я§ џџџџџџџџШ2 Wire1 Wire1WireWireWF(12Р@ПЙ™™™™™š?Й™™™™™š@V€пџџР@ПЙ™™™™™š?Й™™™™™š@V€пџџd:4InPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпniPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R510kRResistorRESISTOREF(1 2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџШ< Wire2 Wire2WireWire WF(%%1%%2Пј?јПЙ™™™™™š?Й™™™™™š@V€пџџПј?јПЙ™™™™™š?Й™™™™™š@V€пџџnkPad"Pad (Flying Wire)PAD_FLYINGWIREWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп, R7470RRResistorRESISTORSF(1 2ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@V€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@V€‚Я§ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{ПдzсGЎ{@V€‚Я§ПЧ =pЃз ?Ч =pЃз ?дzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@J€РJ€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ, R104k7RResistorRESISTOREF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§nhPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R43k9RResistorRESISTOR WF(1 2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d71PolePadPadPAD WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџ6D4 1N4148D Diode DIODE WF(1#2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDnePad"Pad (Flying Wire)PAD_FLYINGWIREWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџ,R11MRResistorRESISTOREF(12ПхТ\(ѕТ?хТ\(ѕТПдzсGЎ{?дzсGЎ{@V€‚Я§ПѕИQы…ПрЃз =pЃПй™™™™™š?й™™™™™™@V€‚Я§?рЃз =pЃ?ѕИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПхТ\(ѕТ?хТ\(ѕТПдzсGЎ{ПдzсGЎ{@V€‚Я§ПхТ\(ѕТ?хТ\(ѕТ?дzсGЎ{?дzсGЎ{@V€‚Я§ПѕИQы…ПрЃз =pЃПй™™™™™š?й™™™™™™@J€РJ€‚Я§?рЃз =pЃ?ѕИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§,R347kRResistorRESISTOREF(12ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@V€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@V€‚Я§ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{ПдzсGЎ{@V€‚Я§ПЧ =pЃз ?Ч =pЃз ?дzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@J€РJ€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@m @_Р‚Я§5D3 IN4148D Diode DIODEEF(#12ПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џfD?Й™™™™™˜?Й™™™™™˜Пй™™™™™š?й™™™™™š@V€џfD?У333334?У333334Пй™™™™™š?й™™™™™š@V€џfD?ы333333?ы333333Пй™™™™™š?й™™™™™š@V€џfDПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џfDndPad"Pad (Flying Wire)PAD_FLYINGWIREWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп    џџџџџџџџ    @IC3 TL062ICDIPDIP WF(12345!6"78П§™™™™™š?§™™™™™šП§™™™™™š?§™™™™™š@V€   П§™™™™™šП§™™™™™šП§™™™™™šПа@V€   П§™™™™™šП§™™™™™š?а?§™™™™™š@V€   П§™™™™™š?§™™™™™š?§™™™™™š?§™™™™™š@V€   ?§™™™™™šП§™™™™™šП§™™™™™šП§™™™™™š@V€   ?§™™™™™š?§™™™™™š?§™™™™™šП§™™™™™š@V€   РЬЬЬЬЬЭПљ™™™™™šПа?аРV€@V€   nPPad"Pad (Flying Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R2115kRResistorRESISTOR WF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§nGPad"Pad (Flying Wire)PAD_FLYINGWIREWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R2247kRResistorRESISTOR EF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d>9Rate1,2PadPadPADWF( 1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R1210kRResistorRESISTOR WF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џє*C322nCCeramicCAP_CERAMICEF(1 2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџє+C41n5CCeramicCAP_CERAMICEF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PdZ+9V+9VPadPadPADWF(*1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџє,C5220nCCeramicCAP_CERAMICWF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџє(C110nCCeramicCAP_CERAMICEF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџџ,WR3722RRResistorRESISTORWF(1*2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џXD5 1N4001D Diode DIODEEF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џfD?у333332?у333332Пй™™™™™š?й™™™™™š@V€џfD?фЬЬЬЬЬЬ?фЬЬЬЬЬЬПй™™™™™š?й™™™™™š@V€џfD?ѕ™™™™™™?ѕ™™™™™™Пй™™™™™š?й™™™™™š@V€џfDПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џfDџє)C24n7CCeramicCAP_CERAMICEF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pє.C71uCCeramicCAP_CERAMICEF(12ПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ PПьЬЬЬЬЬЭ?ьЬЬЬЬЬЭПй™™™™™š?й™™™™™š@V€џ Pџ џ џ  џ  џ џ џ ш]C12470uC(Electrolytic 300 milCAP_ELECTRO_300WF(12Пј?јПј?ј@V€ŠŠф?ђffffff?ђffffffПюИQы…И?юИQы…И@V€ŠŠфПј?јПј?ј@V€ŠŠф,R1947kRResistorRESISTORSF(12ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@V€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@V€‚Я§ПЧ =pЃз ?Ч =pЃз ПдzсGЎ{ПдzсGЎ{@V€‚Я§ПЧ =pЃз ?Ч =pЃз ?дzсGЎ{?дzсGЎ{@V€‚Я§Пъ=pЃз >П”zсGЎxПй™™™™™š?й™™™™™™@J€РJ€‚Я§?”zсGЎx?ъ=pЃз >Пй™™™™™š?й™™™™™™@m @_Р‚Я§d82Throw1_(Swirl)PadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпd93Throw2_(Whirl)PadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,$R3368kRResistorRESISTOR EF(1"2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R1510kRResistorRESISTOR EF(1%2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§dA12 Depth2PadPadPAD WF($1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџџ,R1610kRResistorRESISTORWF(12ПњсGЎzс?њсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§Р\(ѕТПјQы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?јQы…ИR@\(ѕТПй™™™™™š?й™™™™™™@V€‚Я§ПњсGЎzс?њсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПњсGЎzс?њсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§Р\(ѕТПјQы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?јQы…ИR@\(ѕТПй™™™™™š?й™™™™™™@m @_Р‚Я§dB13 Depth3PadPadPADWF(#1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R174k7RResistorRESISTOR EF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§nbPadPad (Fly Wire)PAD_FLYINGWIREWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп    џџџџџџџџ    @IC1 NE5532ICDIPDIP WF(12345678П§™™™™™š?§™™™™™šП§™™™™™š?§™™™™™š@V€   П§™™™™™šП§™™™™™šП§™™™™™šПа@V€   П§™™™™™šП§™™™™™š?а?§™™™™™š@V€   П§™™™™™š?§™™™™™š?§™™™™™š?§™™™™™š@V€   ?§™™™™™šП§™™™™™šП§™™™™™šП§™™™™™š@V€   ?§™™™™™š?§™™™™™š?§™™™™™šП§™™™™™š@V€   РЬЬЬЬЬЭПљ™™™™™šПа?аРV€@V€   dF0VPad1PadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,"R31100kRResistorRESISTOREF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R2833kRResistorRESISTOR EF(1&2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§        џџџџџџџџџџџџџџџџ        @IC4LM13600ICDIPDIP WF( 1 2 3 4 56 78910111213141516РЬЬЬЬЬЭ@ЬЬЬЬЬЭП§™™™™™š?§™™™™™š@V€   РЬЬЬЬЬЭРЬЬЬЬЬЭП§™™™™™šПа@V€   РЬЬЬЬЬЭРЬЬЬЬЬЭ?а?§™™™™™š@V€   РЬЬЬЬЬЭ@ЬЬЬЬЬЭ?§™™™™™š?§™™™™™š@V€   @ЬЬЬЬЬЭРЬЬЬЬЬЭП§™™™™™šП§™™™™™š@V€   @ЬЬЬЬЬЭ@ЬЬЬЬЬЭ?§™™™™™šП§™™™™™š@V€   РffffffР ЬЬЬЬЬЭПа?аРV€@V€   n[PadPad (Fly Wire)PAD_FLYINGWIRE WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,#R32220kRResistorRESISTOREF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§    џџџџџџџџ    @IC2 TL062ICDIPDIP WF(1234$5&6%78П§™™™™™š?§™™™™™šП§™™™™™š?§™™™™™š@V€   П§™™™™™šП§™™™™™šП§™™™™™šПа@V€   П§™™™™™šП§™™™™™š?а?§™™™™™š@V€   П§™™™™™š?§™™™™™š?§™™™™™š?§™™™™™š@V€   ?§™™™™™šП§™™™™™šП§™™™™™šП§™™™™™š@V€   ?§™™™™™š?§™™™™™š?§™™™™™šП§™™™™™š@V€   РЬЬЬЬЬЭПљ™™™™™šПа?аРV€@V€   џџ,R24100kRResistorRESISTORWF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R25100kRResistorRESISTOREF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R26270kRResistorRESISTOR WF(1&&2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R273k3RResistorRESISTOR EF(1'2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ, R2968kRResistorRESISTORWF((1&2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,!R30100kRResistorRESISTOR WF(%1&2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,%R3412kRResistorRESISTOR SF(1 2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,&R35820kRResistorRESISTOR WF( 1!2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R113k9RResistorRESISTOR WF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,'R364k7RResistorRESISTOR WF("1#2ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§d@11 Depth1PadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпB@џџџўINVALID TracksWF(џџџ€џџџ€џџџ€џџџ€џџџџџџџџF#џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ Р@Р@@V€џџ’ ЮVeroRoute/Src/images/addrect.png000644 001750 001750 00000000551 13734464731 017061 0ustar00alexalex000000 000000 ‰PNG  IHDR szzєbKGDљCЛ pHYsФФ•+tIMEф 7ГЏтіIDATXУэVБ Т0|O2ДИЙЄs„Bqђњ~ЄaЂАsЛИ‰у9H!M#IвЂН1/$ЧнЛМ0Є$‡cKЎ@DєИŸ˜cc/4К‚ЪKRyIщіŒшbcvТємг†=С‰К@ххG›]y'1Л )Gно+вшjА9„Т>и&њ-˜?мuƒ…DYYuџ=Œ"˜ю_о?Ўexˆˆ˜н6sрI`=`3Š’}CZ1ЊfйЄ№ЗЂ˜МdWзюBлb†Ыzˆ|іжwп |sбяYрK…5+|Jєг)і40Œ!3џŸ"Іє.<ьiV#ЩЏњеIENDЎB`‚VeroRoute/libraries/gEDA/veroroute_linear/Timer_NE555.sym000644 001750 001750 00000003216 13515171161 023472 0ustar00alexalex000000 000000 v 20130925 2 T 800 0 5 10 0 0 0 0 1 numslots=0 P 800 0 800 300 1 0 0 { T 645 200 5 8 1 1 180 6 1 pinnumber=1 T 732 129 5 8 0 0 90 0 1 pinseq=1 T 650 400 9 8 1 1 0 0 1 pinlabel=GND T 650 350 9 8 0 0 0 0 1 pintype=pwr } P 0 800 300 800 1 0 0 { T 96 865 5 8 1 1 0 0 1 pinnumber=2 T 96 865 5 8 0 0 0 0 1 pinseq=2 T 400 750 9 8 1 1 0 0 1 pinlabel=TRIG T 350 750 9 8 0 0 0 0 1 pintype=in } P 1900 1400 2200 1400 1 0 1 { T 1998 1468 5 8 1 1 0 0 1 pinnumber=3 T 1998 1468 5 8 0 0 0 0 1 pinseq=3 T 1500 1350 9 8 1 1 0 0 1 pinlabel=OUT T 1550 1350 9 8 0 0 0 0 1 pintype=out } P 800 2600 800 2900 1 0 1 { T 652 2722 5 8 1 1 0 0 1 pinnumber=4 T 602 2722 5 8 0 0 0 0 1 pinseq=4 T 556 2402 9 8 1 1 0 0 1 pinlabel=RESET T 556 2452 9 8 0 0 0 0 1 pintype=in } P 1400 300 1400 0 1 0 1 { T 1245 200 5 8 1 1 180 6 1 pinnumber=5 T 1466 202 5 8 0 0 270 0 1 pinseq=5 T 1230 398 9 8 1 1 0 0 1 pinlabel=CTRL T 1230 348 9 8 0 0 0 0 1 pintype=out } P 300 1400 0 1400 1 0 1 { T 205 1445 5 8 1 1 0 6 1 pinnumber=6 T 202 1335 5 8 0 0 180 0 1 pinseq=6 T 400 1350 9 8 1 1 0 0 1 pinlabel=THRESH T 350 1350 9 8 0 0 0 0 1 pintype=in } P 300 2000 0 2000 1 0 1 { T 205 2045 5 8 1 1 0 6 1 pinnumber=7 T 202 1930 5 8 0 0 180 0 1 pinseq=7 T 394 1952 9 8 1 1 0 0 1 pinlabel=DISCH T 369 1952 9 8 0 0 0 0 1 pintype=oc } P 1400 2600 1400 2900 1 0 1 { T 1251 2722 5 8 1 1 0 0 1 pinnumber=8 T 1201 2722 5 8 0 0 0 0 1 pinseq=8 T 1240 2402 9 8 1 1 0 0 1 pinlabel=VCC T 1240 2452 9 8 0 0 0 0 1 pintype=pwr } B 300 300 1600 2300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 T 1700 2700 9 10 1 1 0 0 1 device=NE555 T 1700 2900 8 10 1 1 0 0 1 refdes=U? T 1700 2900 8 10 0 0 0 0 1 footprint=DIP8 T 1700 2900 8 10 0 0 0 0 1 description=555 Timer VeroRoute/libraries/TinyCAD/VeroRoute_Regulator.TCLib000644 001750 001750 00000176000 13515171160 023004 0ustar00alexalex000000 000000 SQLite format 3@ Bћћ.!%%‚tableSymbolSymbolCREATE TABLE [Symbol] ([SymbolID] INTEGER PRIMARY KEY,[Data] TEXT)ƒ8!†9tableNameNameCREATE TABLE [Name] ([NameID] INTEGER PRIMARY KEY,[Name] TEXT,[SymbolID] INTEGER,[Type] INTEGER,[Reference] TEXT,[ppp] INTEGER,[Description] TEXT,[ShowName] INTEGER,[ShowRef] INTEGER,[DefRotate] INTEGE Ч PкLЪpP›››Н] aIMeanwell SPR01 SeriesU?DC-DC Con'K9ILM336/LM385+D?Reference DiodeЧ„)yICL7660U?Charge Pump DC-DC ConverterЧ)!=LM336D?RefereI 9ILM336/LM3853D?Reference Diode=! !ITL4314D?Reference Diode= 91LM137/LM337U?Regulator1 !1LM317U?RegulatorA )ILM78LxxU?Regulator 100mA9 %=LM78xxU?Regulator 1AS )mLM79LxxU?Negative Regulator 100mAO %iLM79xx U?Negative Regulator 1.5AU %uLP2950#U?Regulator 100mA Micropower9!=TL431$D?Reference IC$L?чЩФПКЕАЋІЁœь—’ˆƒниЮ~ytojeёті`г[VQћL0šd -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 =м ю  ю <;:$  &&[‚2!11„tableAttributeAttributeCREATE TABLE [Attribute] ([AttributeID] INTEGER PRIMARY KEY,[NameID] INTEGER,[AttName] TEXT,[AttValue] TEXT,[ShowAtt] INTEGER)"!51aindexidx_NameIDAttributeCREATE INDEX [idx_NameID] ON [Attribute] ( [NameID] ) ММ -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 CAP+ GND CAP- -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ++‡U‡R ( -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 In Out ММ -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust centre_name='0'> Adjust centre_name='0'> Adjust ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In centre_name='0'> Adjust centre_name='0'> Adjust ppЊф@zœж0jЄЦЦЦЦЦЦЦ8i$$SPICE_PROLOG_PRIORITY58i$$SPICE_EPIL8i$$SPICE_PROLOG_PRIORITY58:i$$SPICE_PROLOG_PRIORITY5:i$$SPICE_EPILOG_PRIORITY5 )PackageDIP887i$$SPICE_PROLOG_PRIORITY588i$$SPICE_EPILOG_PRIORITY5 9)!PackageTO2208:i$$SPICE_PROLOG_PRIORITY58;i$$SPICE_EPILOG_PRIORITY5 <)!PackageTO2208=i$$SPICE_PROLOG_PRIORITY58>i$$SPICE_EPILOG_PRIORITY5?)PackageTO928@i$$SPICE_PROLOG_PRIORITY58Ai$$SPICE_EPILOG_PRIORITY5 B)!PackageTO2208Fi$$SPICE_PROLOG_PRIORITY5 ~њњ4TŽШъ$^ЦŒl2јиІІІ„dti$$SPICE_ET)PackageTO928Si$$SPICE_EPILOG_PRIORITY58R~:i$$SPICE_EPILOG_PRIORITY58Gi$$SPICE_EPILOG_PRIORITY5H)PackageTO928Ii$$SPICE_PROLOG_PRIORITY58Ji$$SPICE_EPILOG_PRIORITY5 K)!PackageTO2208Li$$SPICE_PROLOG_PRIORITY58Mi$$SPICE_EPILOG_PRIORITY5N)PackageTO92Z)PackageTO92Юi$$SPICE_EPILOG_PRIORITY5c)!PackageTO928bi!$$SPICE_EPILOG_PRIORITY58ai!$$SPICE_PROLOG_PRIORITY5`) PackageTO928_i $$SPICE_EPILOG_PRIORITY58^i $$SPICE_PROLOG_PRIORITY5LOR>000000 centre_name='0'> Adjust ММ‡R ( -10 0 400 0 0 0 0 Arial 000000 1 Œ9,˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 In Out ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In цце( -10 0 400 0 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ЂQЂ1Ж№*J„ОіМр‚H8Pi$$SPICE_EPILOG_PRIORITY58Oi$$SPICE_PROL‹$(–L -10 0 400 0 0 0 0 Arial 000000 1 -1 -10 0 400 0 0 0 0 Arial 000000 1 -1 ((‡U#. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ММЪpЧНН] aIMeanwell SPR01 SeriesU?DC-DC ConverterY )yICL7660U?Charge Pump DY )yICL7660U?Charge Pump DC-DC Converter7 !=LM336D?Reference IC7 !=LM385D?Reference IC? 1=LM385-ADJDŒ9-˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 000000 ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In %%‡X4 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust Out In %%‡X4 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U . -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((ll‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ((‡U. -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In ЂЂQ‡U#. -10 0 -10 0 400 0 0 0 0 Arial 000000 1 -1 -10 0 400 0 0 0 0 Arial 000000 1 -1 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Gnd Out In LOR>000000 LOR>000000 s='0' centre_name='0'> ТТŒ3)˜j -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust ММŒ9*˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust ММŒ90˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust ММŒ91˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust ММŒ92˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 Adjust ММŒ94˜v -10 0 400 0 0 0 0 Arial 000000 1 -1 000000 VeroRoute/Src/Transform.h000644 001750 001750 00000004023 14026026016 015603 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "Common.h" #include // Class to transform a QPointF (i.e. translate/rotate it w.r.t. the origin) enum class TRANSFORM { NONE = 0, SCALE, TRANSLATE, ROTATE }; struct Transform { Transform(TRANSFORM eType, qreal a = 0, qreal b = 0) : m_eType(eType), m_A(a), m_B(b) {} ~Transform() {} Transform(const Transform& o) { *this = o; } Transform& operator=(const Transform& o) { m_eType = o.m_eType; m_A = o.m_A; m_B = o.m_B; return *this; } void Do(QPointF& o) const // Transform the passed in point { qreal dRadians(0), C(0), S(0); const qreal x = o.x(); // Take a copy (not a reference) const qreal y = o.y(); // Take a copy (not a reference) switch( m_eType ) { case TRANSFORM::SCALE: o.setX(x * m_A); o.setY(y * m_B); return; case TRANSFORM::TRANSLATE: o.setX(x + m_A); o.setY(y + m_B); return; case TRANSFORM::ROTATE: dRadians = m_A * M_PI / 180; C = cos(dRadians); S = sin(dRadians); o.setX(x*C - y*S); o.setY(x*S + y*C); return; default: assert(m_eType == TRANSFORM::NONE); return; } } const TRANSFORM& GetType() const { return m_eType; } private: TRANSFORM m_eType = TRANSFORM::TRANSLATE; // Transform type qreal m_A = 0; // Parameter 1 qreal m_B = 0; // Parameter 2 }; VeroRoute/examples/README.txt000644 001750 001750 00000000221 13515171160 016243 0ustar00alexalex000000 000000 This folder contains a circuit schematic and its corresponding netlist. The vrt files are veroboard and PCB layouts using the imported netlist. VeroRoute/Src/images/mid.png000644 001750 001750 00000000350 14064443172 016212 0ustar00alexalex000000 000000 ‰PNG  IHDR йsВbKGDџ‡ЬП pHYs з зB(›xtIMEх„aAyIDATHЧн•С Р0Cc)tз§џіvqзQД‚–Ѓ„цЕRXRx’Еа@JœКFнiƒщM$Xg*ѓѾu*ўРйB|^ў…ЮНbDL[б]пFхxПТФф"{Щь.H(_ЪПёзЉz*WoІ/Зѓ ЪZ M]YIENDЎB`‚VeroRoute/libraries/gEDA/veroroute_transistor/NPN_BC213.sym000644 001750 001750 00000001562 13515171161 023756 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 0 0 0 1 pinlabel=2 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=3 T 400 850 5 6 0 0 0 0 1 pinseq=3 T 400 850 5 6 0 0 0 0 1 pinlabel=3 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=1 T 400 50 5 6 0 0 0 0 1 pinseq=1 T 400 50 5 6 0 0 0 0 1 pinlabel=1 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 403,209 L 501,200 L 431,273 L 425,240 z T 600 700 5 10 1 1 0 0 1 device=BC213 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=NPN Transistor VeroRoute/tutorials/tutorial_12.vrt000644 001750 001750 00000115702 13646427476 017715 0ustar00alexalex000000 000000 (”TUTORIAL 12 - AUTO-ROUTING WIRING UP PARTS QUICKLY The quick way of wiring parts is to just paint the pins and let the auto-routing draw the tracks for you. The auto-routing is interactive. It is still being developed and will not always manage to route the whole circuit. When it fails to do so, the NodeIDs with open-circuits will be listed in the "Broken" list of the Control dialog. While auto-routing is enabled, the auto-routed tracks are shown in color but with thin, white, diamond-hatched lines. This is to differentiate them from any points that have been manually painted by you (the user). User-painted points are shown without the diamond-hatched lines. The routing algorithm will not overwrite or modify any of the user-painted points while it is running. The auto-routing is dynamic and runs every time the circuit is modified (e.g. every time you paint or erase grid points or manipulate parts). This makes it possible to work interactively with the routing algorithm. For example, if the routing algorithm does something like lay a track that blocks an obvious connection between nearby points, then you can simply paint in the desired connection manually and the algorithm will be forced to re-route around it. If a pair of pins are connected by a track that has been painted manually (from one pin to the other) then the auto-router will not autoroute a new track between those pins. Try the following exercise... The top circuit has already been wired up. Now try and copy that wiring on the bottom set of parts. Auto-routing has been switched on. All you need to do is paint the component pins on the bottom. The tracks may not go where you want them, but don't worry about that. You can move parts if you want, and the auto-routing will re-route the tracks. See what happens as you check and uncheck the "On" box during auto-routing. Note that it is recommended to use "Fast" auto-routing by default. Disabling the fast mode makes the algorithm try harder to route any broken nodes, but it may not always make an improvement and can be 10 times slower to run. In order to commit the auto-routed tracks to the board, you need to hit the "Paste" button. The "Tidy" button is only enabled when auto-routing is turned off and there are no Broken nodes. Hitting "Tidy" will then try to re-route the circuit and remove any points that are not considered to provide a useful connection. Since this can erase user-painted tracks and replace them with auto-routed tracks, it is not functionality that will be used often. The "Wipe All Tracks" button can be hit at any time. This will disable auto-routing and wipe all colored points on the board except for component pins. If you have any highlighted rectangular areas on the screen (created by holding down "R" and drawing with the mouse) then the wipe is restricted to those areas. Also, when using "Vero" style, hitting the "Paste" button will automatically fill-out the board with strips with breaks in the required places.џџџџџџџџZ. 29 !џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ`џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџ P џџџџџџ ‘џџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџ џџџџџџџџџ  џџџџџџџџџџџџџџџT џџџџџџ“џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ Lџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ  џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџdPad59VPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R8100kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џєC3150nCCeramicCAP_CERAMICWF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PdPad3OutPadPadPADWF( 1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџп   LQ2 2N5088QTO92TO92 SF(123Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   dPad2GndPadPadPAD WF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ, R5100kRResistorRESISTORNF( 12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ, R710kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ, R6820kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R1820kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§dPad7GndPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R310kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§dPad1InPadPadPADWF( 1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R4390RResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џє C2150nCCeramicCAP_CERAMICWF(1 2Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџє C1150nCCeramicCAP_CERAMICWF( 12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PdPad49VPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџџ,R2100kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§dPad8OutPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпџєC4150nCCeramicCAP_CERAMICWF(12Піffffff?іffffffПй™™™™™š?й™™™™™š@V€џ PПіffffff?іffffffПй™™™™™š?й™™™™™š@V€џ Pџџ,R9390RResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§џџ,R10100kRResistorRESISTORNF(12ПђсGЎzс?ђсGЎzсПдzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@V€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@V€‚Я§ПђсGЎzс?ђсGЎzсПдzсGЎ{ПдzсGЎ{@V€‚Я§ПђсGЎzс?ђсGЎzс?дzсGЎ{?дzсGЎ{@V€‚Я§П§ИQы…П№Qы…ИRПй™™™™™š?й™™™™™™@J€РJ€‚Я§?№Qы…ИR?§ИQы…Пй™™™™™š?й™™™™™™@m @_Р‚Я§   LQ1 2N5088QTO92TO92 SF(123Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   Піffffff?іffffffПфЬЬЬЬЬЭ?ђffffffР4@i   dPad6InPadPadPADWF(1ПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпПмЬЬЬЬЬЭ?мЬЬЬЬЬЭПмЬЬЬЬЬЭ?мЬЬЬЬЬЭ@V€џџпB@џџџўINVALID TracksWF(џџџ€џџџ€џџџ€џџџ€џџџџџџџџF#џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ џ Р@Р@@V€џVeroRoute/libraries/gEDA/veroroute_linear/Generic_DIP12.sym000644 001750 001750 00000004560 13515171161 024007 0ustar00alexalex000000 000000 v 20130925 2 T 300 0 8 10 0 0 0 0 1 numslots=0 B 300 0 1400 2400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 P 0 2200 300 2200 1 0 0 { T 205 2245 5 10 1 1 0 6 1 pinnumber=1 T 200 2200 5 10 0 1 0 0 1 pinseq=1 T 355 2195 5 10 0 1 0 0 1 pinlabel=1 T 200 2200 5 10 0 1 0 0 1 pintype=pas } P 0 1800 300 1800 1 0 0 { T 205 1845 5 10 1 1 0 6 1 pinnumber=2 T 200 1800 5 10 0 1 0 0 1 pinseq=2 T 355 1745 5 10 0 1 0 0 1 pinlabel=2 T 200 1800 5 10 0 1 0 0 1 pintype=pas } P 0 1400 300 1400 1 0 0 { T 205 1445 5 10 1 1 0 6 1 pinnumber=3 T 200 1400 5 10 0 1 0 0 1 pinseq=3 T 355 1345 5 10 0 1 0 0 1 pinlabel=3 T 200 1400 5 10 0 1 0 0 1 pintype=pas } P 0 1000 300 1000 1 0 0 { T 205 1045 5 10 1 1 0 6 1 pinnumber=4 T 200 1000 5 10 0 1 0 0 1 pinseq=4 T 355 945 5 10 0 1 0 0 1 pinlabel=4 T 200 1000 5 10 0 1 0 0 1 pintype=pas } P 0 600 300 600 1 0 0 { T 205 645 5 10 1 1 0 6 1 pinnumber=5 T 200 600 5 10 0 1 0 0 1 pinseq=5 T 355 545 5 10 0 1 0 0 1 pinlabel=5 T 200 600 5 10 0 1 0 0 1 pintype=pas } P 0 200 300 200 1 0 0 { T 205 245 5 10 1 1 0 6 1 pinnumber=6 T 200 200 5 10 0 1 0 0 1 pinseq=6 T 355 145 5 10 0 1 0 0 1 pinlabel=6 T 200 200 5 10 0 1 0 0 1 pintype=pas } P 2000 2200 1700 2200 1 0 0 { T 1795 2245 5 10 1 1 0 0 1 pinnumber=12 T 1800 2200 5 10 0 1 0 6 1 pinseq=12 T 1645 2195 5 10 0 1 0 6 1 pinlabel=12 T 1800 2200 5 10 0 1 0 6 1 pintype=pas } P 2000 1800 1700 1800 1 0 0 { T 1795 1845 5 10 1 1 0 0 1 pinnumber=11 T 1800 1800 5 10 0 1 0 6 1 pinseq=11 T 1645 1795 5 10 0 1 0 6 1 pinlabel=11 T 1800 1800 5 10 0 1 0 6 1 pintype=pas } P 2000 1400 1700 1400 1 0 0 { T 1795 1445 5 10 1 1 0 0 1 pinnumber=10 T 1800 1400 5 10 0 1 0 6 1 pinseq=10 T 1645 1395 5 10 0 1 0 6 1 pinlabel=10 T 1800 1400 5 10 0 1 0 6 1 pintype=pas } P 2000 1000 1700 1000 1 0 0 { T 1795 1045 5 10 1 1 0 0 1 pinnumber=9 T 1800 1000 5 10 0 1 0 6 1 pinseq=9 T 1645 995 5 10 0 1 0 6 1 pinlabel=9 T 1800 1000 5 10 0 1 0 6 1 pintype=pas } P 2000 600 1700 600 1 0 0 { T 1795 645 5 10 1 1 0 0 1 pinnumber=8 T 1800 600 5 10 0 1 0 6 1 pinseq=8 T 1645 595 5 10 0 1 0 6 1 pinlabel=8 T 1800 600 5 10 0 1 0 6 1 pintype=pas } P 2000 200 1700 200 1 0 0 { T 1795 245 5 10 1 1 0 0 1 pinnumber=7 T 1800 200 5 10 0 1 0 6 1 pinseq=7 T 1645 195 5 10 0 1 0 6 1 pinlabel=7 T 1800 200 5 10 0 1 0 6 1 pintype=pas } T 1200 2555 5 10 1 1 0 0 1 device=Name T 300 2555 8 10 1 1 0 0 1 refdes=U? T 1600 2055 8 10 0 1 0 0 1 footprint=DIP12 T 1900 1845 8 10 0 1 0 0 1 description=Generic 12 Pin DIP8 VeroRoute/libraries/gEDA/veroroute_transistor/PNP_BC309.sym000644 001750 001750 00000001562 13515171161 023766 0ustar00alexalex000000 000000 v 20130925 2 T 0 500 5 10 0 0 0 0 1 numslots=0 P 0 500 200 500 1 0 0 { T 100 550 5 6 1 1 0 0 1 pinnumber=2 T 100 550 5 6 0 0 0 0 1 pinseq=2 T 100 550 5 6 0 0 0 0 1 pinlabel=2 T 100 550 5 6 0 0 0 0 1 pintype=pas } P 500 1000 500 800 1 0 0 { T 400 850 5 6 1 1 0 0 1 pinnumber=1 T 400 850 5 6 0 0 0 0 1 pinseq=1 T 400 850 5 6 0 0 0 0 1 pinlabel=1 T 400 850 5 6 0 0 0 0 1 pintype=pas } P 500 200 500 0 1 0 1 { T 400 50 5 6 1 1 0 0 1 pinnumber=3 T 400 50 5 6 0 0 0 0 1 pinseq=3 T 400 50 5 6 0 0 0 0 1 pinlabel=3 T 400 50 5 6 0 0 0 0 1 pintype=pas } L 200 650 500 800 3 0 0 0 -1 -1 L 200 350 500 200 3 0 0 0 -1 -1 L 200 800 200 200 3 0 0 0 -1 -1 H 3 0 0 0 -1 -1 1 -1 -1 -1 -1 -1 5 M 297,341 L 199,350 L 269,277 L 275,310 z T 600 700 5 10 1 1 0 0 1 device=BC309 T 600 400 8 10 1 1 0 0 1 refdes=Q? T 600 400 8 10 0 0 0 0 1 footprint=TO92 T 600 400 8 10 0 0 0 0 1 description=PNP Transistor VeroRoute/libraries/TinyCAD/000775 001750 001750 00000000000 13515171160 016145 5ustar00alexalex000000 000000 VeroRoute/Src/images/grid.png000644 001750 001750 00000000261 13734457550 016377 0ustar00alexalex000000 000000 ‰PNG  IHDR йsВbKGDЊ#2 pHYsФФ•+tIMEф  0’C~†BIDATHЧэ’1 ФŠсџ_ЦХнT&ЭнжЅЄPœAD‚С)ћА1[ЗЙU_( |=nјёЉu д:јЊƒИћ@%ї;„wIENDЎB`‚VeroRoute/CHANGELOG.txt000644 001750 001750 00000061147 14066654505 015010 0ustar00alexalex000000 000000 V2.15 Improvement: Added background brightness to Rendering Options. V2.14 Improvement: Added vertical alignment options to text boxes. V2.13 Bug fix: Code to fix corruption can mess up competing diagonals on boards that are OK. V2.12 Bug fix: Corrected tab order in Rendering Options and Component Editor dialogs. Updated Tutorial 18 with info on applying pad offsets. V2.11 Bug fix: The routing changes in V2.09 introduced a bug in the connectivity checking of layouts with wires, so fully connected nets that use wires could sometimes be wrongly listed as "Bad Nodes". V2.10 Bug fix: Show closest tracks did not draw all locations due to rounding errors. Bug fix: Flying wires not drawn properly to offset pads. Improvement: If all pads on a component are shifted by the same amount, then give the component outline and text the same shift. Improvement: Show rectangular area sizes and pad offsets in both mil and mm. Improvement: Allow pad offsets to change in 1 mil steps instead of 5 mil. New feature: Added distance tool for measuring distance between holes/grid points (to help set pad offsets) V2.09 Improvement: Routing algorithm speed increased. V2.08 Bug fix: Autorouting in non-fast mode corrupts how adjacent nodeIDs on the grid are tracked, leading to many adjacent nets being given the same color. Improvement: Speed up how flying wires are handled during connectivity checking. Improvement: Speed up code for tracking adjacent nodeIDs on the grid. Improvement: Speed up routing in non-fast mode by 5% to 10%. Improvement: Allow "Paste" when auto-routing to be restricted to grey areas. Improvement: Moving/rotating grey areas while auto-routing will ignore auto-routed tracks in the grey areas instead of pasting them. V2.07 Improvement: Faster algorithm for building the list of broken nodes. Improvement: Copying a part with no name and no value should produce a part with no name and no value. New feature: Flying wires. Automatically generated between "Pad (Flying Wire)" objects. V2.06 Bug fix: In Rendering Options, the "Show closest tracks" box was not being hidden when minimum separation was same as Gap size. Bug fix. In Fat Tracks mode with diagonals, tracks in the view were not all of correct width, but the ones in Gerber export were. Bug fix: In Fat Tracks mode with diagonals, the track separation algorithm was not handling all cases properly. Bug fix: In Fat Tracks mode, Gerber export should create an aperture for pads even if there are no parts in the circuit. Improvement: Allow reset pin layer preference ("T" + right button) while moving mouse instead of having to do single clicks. V2.05 Bug fix: Code for filling parts with color not correctly handling shape transformations. Bug fix: Track separation info in the Rendering dialog not updating when auto-routing toggled. Bug fix: Components with lines outside the footprint area could be rendered off screen leading to an invalid set of Gerber files (e.g. GTO file having points outside the boundary in the GKO file). Improvement: Total rewrite of minimum track separation for improved accuracy. Improvement: Show points for all layers when displaying locations of minimum track separation. New feature: In PCB mode, individual pad locations can be shifted by up to 50 mil using Ctrl + Arrow keys. V2.04 Bug fix: Since 2.02, VeroRoute freezes if the grid is made 1 column wide. Omit deprecated G codes from Gerber export, and allow Gerber export in mm or inches. Allow circuit panning/grid resize by grabbing the grid with the right mouse button (ctrl key optional). Improve GUI behaviour in Tutorials by passing key presses from the Info dialog to the main window. V2.03 Bug fix: Wire rendering broken in 2.02. New feature. Can specify layer preference on component pins of 2-layer PCBs. Updated tutorials. V2.02 Bug fix: Fill slider should be enabled when track slider is set to Off. Bug fix: Calculation of minimum track separation was not correct when using fat tracks style. Bug fix: Changed render order in Color/Mono mode to fix issues with how custom sizes pads are drawn. Track width changes: Minimum allowed track widths lowered to 4 mil. Minimum allowed via hole lowered to 8 mil. Minimum allowed via pad lowered to 16 mil. Maximum custom pad size increased to 130 mil. Maximum custom hole size increased to 100 mil. New feature: Add ability to show locations of minimum track separation. Updated tutorials. V2.01 Bug fix: Chains of wires sharing holes sometimes not colored completely. Added ability to define custom pad/hole size in component editor. Added ability to add veroboard labels (numbers or letters). Improved algorithm for solder bridges. Don't show a solder bridge if a wire is already doing that job. V2.00 Bug fix: Poor-man's 2-layer Gerber export was not handling crossing wires. Bug fix: Isolated nodes were rendered to Gerber with pad-width instead of track-width. Bug fix: Isolated nodes were rendered to top layer for poor-man's 2-layer Gerber export. Improvement: Allow TAB to change focus of dialog controls. Improvement: Reworked some icons that did not work well with dark themes. Removed menu item to fix corruption. Old corrupted VRTS are now auto-fixed on load. V1.99 Code changes to help prevent layout from becoming corrupted. V1.98 Put in extra checks to stop potential crashes arising from a corrupted layout. Added file menu option to fix a corrupted layout. V1.97 Bug fix: In Color mode, diagonal track portions were drawn too long if using custom track color. Disabled code for drawing extra thermal relief tags (so a filled PCB will be easier to solder). V1.96 New feature: In Color mode, color each wire according to its NodeId. V1.95 Bug fix: Thermal relief tags not calculated properly for pads with custom size. New feature: Allow user to specify a color for any NodeID. Improvement: Show info on Bad/Floating nodes in a single list. For consistency between view types, draw hashed lines for broken connections in red instead of yellow. V1.94 Bug fix: When ground-filling with no specified nodeId, do not draw thermal relief tags to unassigned pins. New feature: Find parts in layout by Name or Value. Improvement: Made Rendering Options dialog better handle 11pt font. V1.93 Make control dialog better handle large font. Draw pads for unassigned pins in Mono/PCB mode. V1.92 Bug fix: Delete selected template would sometimes remove wrong template. V1.91 Bug fix: Allow 2-pin DIPs. Bug fix: Mouse click not always selecting most relevant shape in component editor mode. Improvement: Draw some parts (e.g. resistors/diodes/DIPs) differently in PCB mode when appropriate. V1.90 Bug fix: While auto-routing, unpainting the board under a part would not always let it fall into place. Bug fix: Hole-usage was not handled properly for non-wires. Improvement: Increase max allowed hole size for parts from 40 mil to 50 mil. V1.89 Bug fix: Gerber export in V1.88 was writing unusable drill file, and not handling variable pad/hole widths correctly. V1.88 Roll back of change made in V1.85: Top solder mask now works in same way as bottom solder mask. Bug fix: Fix problem with docked dialogs passing mouse clicks to the main window. Improvement: Various minor fixes, improvements and simplificatons to Gerber Export code. Improvement: Changed diode cathode marking so it is less likely to be erased on a PCB. Improvement: Show actual minimum track separation (instead of the guaranteed minimum). New feature: Show minimum ground fill width to help avoid isolated ground "islands". New feature: Allow custom pad and hole sizes to be set on each part. V1.87 Bug fix: 300 mil electrolytic cap was missing line marking negative side. Improvement: When modifying shapes in component editor, allow unit steps with the mouse wheel. Improvement: Allow flipped views in PCB mode but don't allow export/editing when flipped. Lots of minor GUI tweaks such as disabling certain buttons according to display mode. Added the Bourns 3362 series to the set of trimmers in the Templates dialog. V1.86 Bug fix: V1.85 was sometimes hiding pin outlines (e.g. when track slider was set to Off). Bug fix: Switching to Component Editor mode from PCB mode gave black background. Bug fix: Placing a wire in 2-layer mode did not handle both wire ends properly. Improvement: Added button to Templates dialog to save all templates to a VRT file. Improvement: For ground-fills, auto-generate additional tags for thermal reliefs. Functionality change: To avoid track breaks, markers in Mono mode only make holes in ground-fills. Functionality change: Disabled show/hide of docked widgets by right mouse-click on menu bar. Added command line options (-h, --help, -v, --version). Added manpage as part of unix installation. V1.85 Bug fix: Refresh problem. Broken and Floating lists could show zombie entries when the control dialog is docked. Bug fix: Rendering problem. In Mono and Color modes, some zoom levels would leave gaps between pixmaps and draw offset diagonals. Bug fix: In Mono and Color modes, it was not possible to set via-pad and via-hole sizes. Improvement: Allow larger zoom level. Improvement: To avoid problems with some PCB companies, made the top solder mask cover most (but not all) of each pad/via. Improvement: When rendering the top layer in PCB mode, make it better represent the fact that a portion of each pad/via is visible. Improvement: When writing the drill file, use XNC/Excellon Format 2. V1.84 Bug fix: Repainting pins on layer 2 did not update grid connections properly, and could crash when the part is moved. V1.83 Bug fix: Pin dialog should be hidden in component editor mode. Bug fix: Vias were only drawn with correct size in PCB mode. Improvement: Zoom with respect to mouse position rather than centre of view. Improvement: When adding to part templates from current circuit, only consider currently selected parts. Improvement: Reduce minimum allowed track width from 30 mil to 12 mil. New feature: Allow use vias to be enabled/disabled under Layers menu. New feature: Added new "Thin" track style for more traditional look and smaller Gerber files. V1.82 Bug fix: Merge should not update the filename used for saving. V1.81 Bug fix: Hiding the top toolbar made mouse clicks map to the wrong grid locations. Bug fix: Right clicking on the top toolbar allowed control and component editor dialogs to be displayed together. Added shell script to uninstall on Linux and updated README.txt with info on uninstall procedure. V1.80 Added second board layer. Made the Control and Component Editor dialogs dockable and docked by default. Updated the tutorials to describe 2-layer functionality. V1.79 New feature: File menu allows Gerber export as either 1-layer or 2-layer. Removed NPTH/PTH selection since it is implied by the export type (1-layer/2-layer). Changed hatched lines in Mono mode from yellow to red. Hide vias in PCB mode (as they are ignored at the moment). Help->Support now opens forum in browser. Added "Clear recent files list" to File menu. V1.78 Bug fix: Unpainted wire ends were being drawn as painted. Improvement: Added default label offsets to small Electrolytic Caps so they don't lie over pin holes. Stop offsetting pad labels by default (it was too confusing manipulating them like that). V1.77 Bug fix: Text rendering to PDF was broken by changes for PCB text. Improvement: Text size setting in Renderer Dialog affects PCB text size also. Improvement: Added more PCB parameters (for Gerber) to Rendering Dialog. Moved all Gerber related viewing from Mono mode to new PCB mode on the Track slider. V1.76 Improvement: In Mono mode, all text boxes are now automatically mirrored for toner-transfer. Improvement: In Mono mode, all component outlines and component text are rendered to match Gerber output. V1.75 Partial bug fix: Rendering components to PDF would always show them filled (even if "Fill" slider was off). Fixed to show only outline if "Fill" slider is off. New feature: Added info to rendering dialog showing the minimum guaranteed track separation based on the current (pad, track, gap, diagonal mode, ground fill) settings. New feature: Allow Gerber export when in Mono mode (Beta). V1.74 Better treatment of part labels under part rotation. Offset labels for Pads/Connectors by default. V1.73 New feature: Make pin label alignment (Left,Centre,Right) editable in pin labels dialog. V1.72 Bug fix: Flood fill not preserving status of grid under wires. V1.71 Bug fix: Component editor not checking connectors (strip/blocks) for reserved import strings. V1.70 Bug fix: Handle selection of rotated shapes in component editor. Bug fix: Make netlist import handle connectors (strip/blocks) with different numbers of pins. V1.69 New feature: Allow netlist import in OrcadPCB2 format (so KiCad can be used as schematic editor). V1.68 Bug fix: Component Editor not drawing footprint area with dashed line. V1.67 Bug fix: Rotating a track pattern did not correctly handle competing diagonals. Bug fix: Couldn't use keys to move/rotate a track pattern unless components were also selected. V1.66 New feature: Allow shapes to be filled with colors. V1.65 Bug fix: Wire hole-sharing under an IC only worked with wire-crossing enabled. Improvement: Render wires as rounded rectangles so hole-sharing looks clearer. V1.64 Bug fix: Fixed algorithm for stacking wires. New feature: Allow 2 wires to share a hole. Added "Wire Options" dialog to set allowed wire operations. V1.63 Bug fix: 1.62 could crash or corrupt the layout if stacking wires under an IC. V1.62 Bug fix: Don't allow parts/tracks selected by area to be manipulated if a control slider is hiding some of the selection. Bug fix: Don't show selected area if both control sliders are moved to Off. New feature: Allow wires to cross, and allow up to two wires to be stacked next to each other (but no hole sharing yet). V1.61 Improvement: Auto-router respects manually painted track between two pins. Allow manual over-painting of auto-routed track, and show all auto-routed tracks with hatched lines (including the current selection). Split "Paste" and "Tidy" buttons, and only allow "Tidy" on completed circuits. V1.60 Bug fix: Since V1.58, connected tracks were not always rendered properly. Improvement: Added option to disable "Fast" routing (to try reduce Bad Nodes). V1.59 Improvement: Added Key/Mouse Actions dialog under Help menu. V1.58 Improvement: Faster routing and connectivity checking. V1.57 Improvement: Faster routing algorithm. V1.56 Tweaked dialog layouts to better handle 11 point fonts. V1.55 Improvement: List recent VRT files in File menu. V1.54 Added Zoom buttons to toolbar. Changed executable name, folder names, and file names to lowercase. Made program search for "tutorials" folder in standard locations. V1.53 Improvement: Added Undo/Redo buttons to toolbar. Improvement: Allow Undo/Redo in Component Editor mode. V1.52 Bug fix: Missing Templates folder would disable Undo/Redo. Bug fix: Changing component type using Control Dialog (e.g. from Diode to LED) not working properly. History and Templates folders now auto-created in OS/application specific locations. V1.51 Bug fix: Floating track pattern could not be placed over unpainted wires on the board. Improvement: Made buttons to move component labels use a smaller step size. V1.50 Bug fix: Clicking on a floating track pattern should not place floating components. Moved the Pad/Track/Hole/Gap controls to the Rendering Options dialog. Updated the tutorials. V1.49 Restrict labels to 2 orientations. (Left to right, or bottom to top). Improvement: Add rendering options to show target board area. V1.48 Bug fix: Possible crash during auto-routing while moving wires. Improvement: Speed up algorithm for routing/connectivity checking. V1.47 Bug fix: Version 1.46 would produce duplicate shapes when loading parts from VRT. Bug fix: Changing DIP width wasn't changing the component outline. New feature: Component editor can define "holes" (i.e. non-paintable grid points). V1.46 Bug fix: Fixed error in loaded old VRTs with strip connectors. V1.45 Bug fix: Prevent mouse from dragging shapes off screen in the component editor. Bug fix: Fix shape selection in the component editor. V1.44 Bug fix: Fixed bad TRCD Relay. New feature: Added component editor. V1.43 Bug fix: Stop potential crash when defining areas for part/track selection. Improvement: Add toolbar button to select part/tracks by area. V1.42 Improvement: Added Rendering dialog controls for component text size. Bug fix: Correct footprints for GTR-2 relays. Improved outline sizes for relays and Bourns trimpots. V1.41 Bug fix: Menu and toolbars were being blanked while drawing rectangles with the "R" key. Bug fix: The status of the diagonals mode was not always restored when toggling between vero and non-vero styles. Improvement: Prevent copying of textboxes with no text. Improvement: Show text box outline in dark grey instead of black, so it can be seen in ground-fill mode. Improvement: When zooming in/out, try to keep the view showing the same centre point. Improvement: Draw pin labels in black instead of grey so they are easier to read. V1.40 Minor improvements: Automatically delete textboxes with no text. Show board size in mm in the window title bar. Show drawn rectangle size in mm in the status bar. Color toolbar icons to differentiate track styles / diagonal modes. V1.39 Moved some controls from the control dialog to the toolbar. Reduced heights of control dialog and templates dialog. V1.38 Added more component types: TO-39 package, pin strips, terminal blocks, inductor, wide film cap, fuse holder, relays. V1.37 Bug fix: Trying to undo "Delete text" could cause a crash. New feature: Text color can now be chosen. New feature: Hitting "V" key will copy+paste a selected text box. V1.36 Bug fix: Buttons in Text Label Editor weren't always reflecting text style. Bug fix: Prevent user from selecting text boxes in "Hide Text" mode. New feature: Added painting by "flood-fill". V1.35 New feature: Replace "Mirror" with "Flip-H" and "Flip-V" options. New feature: Add->Text menu item for putting labels on the grid. V1.34 Bug fix: Merge was not clearing existing user-defined areas. New feature: Added margin control for auto-crop. New feature: While the user draws a rectangle, show its size in the status bar. V1.33 New feature: Allow horizontal veroboard strips. Tweaked color assignment algorithm. V1.32 New feature: "File->Open (merge into current)". V1.31 Improvement: User-defined areas select tracks as well as components. V1.30 Improvement: Duplicating components copies their Value too if it's different to the name. Added more component types. (Relays, Switches, Trimpots). Changed default lengths of resistors and diodes to 400 mil. Updated gEDA/TinyCAD import code for RESISTOR/DIODE/CAP_CERAMIC/CAP_FILM so that appending an optional integer number to the footprint name sets the length in 100s of mil. (e.g. RESISTOR3 = 300mil) Updated gEDA library with resistors and caps of different lengths. Added ability to select components/wipe tracks within area (hold down "R" to draw areas). V1.29 Added Crystal component type and gEDA library symbol. V1.28 Improvements: Added "Toggle Grid" and "Toggle Mirror" as View menu items. List part types in B.O.M. Allow pin labels for TO packages as well as DIPs, SIPs. New feature: Added "Parts/Templates Dialog" so user can build a parts library for ICs and TO packages (avoids defining pin labels with each new circuit). Double-clicking on any listed part adds it to the circuit. V1.27 Bug fix: Deleting a component was not immediately updating the Bad Nodes lists. Bug fix: V1.26 allowed components to be dragged while user was painting pins. V1.26 Bug fix: Holding down "P" and SPACE at the same time would allow mouse move to modify component pins. Usability tweak: Holding down SPACE now allows un-painting the board under a placed component pin, or painting the board under the pin to match the existing NodeId on the pin. V1.25 Usability tweaks: Slow down the grid auto-pan/resize when moving components with the mouse. Selecting a NodeID in the "Broken" list should also highlight it in the "Floating" list if it's there. Added a Spin FV-1 IC and serial EEPROM to the gEDA library. V1.24 Added IC Pin Labels dialog. V1.23 Fixed memory leak on shutdown. Updated Tutorial 19 with info on creating a registry key for MS Windows. Added more JFETs to the symbol libraries.//"1.22"; // Added command line options to specify VRT file and path to VeroRoute home directory. Support drag and drop of VRT files from file explorer. Allow multiple VeroRoute instances to run at the same time. Improved error reporting during netlist import. Added color saturation slider. Changed rendering behaviour when clicking on an item in the Broken list. Added gEDA symbol libraries. V1.21 Improved rendering speed by avoiding pointless repaints. Control dialog rearranged so a checkbox controls ground-fill. Draw foil capacitors with thinner shape to better match the footprint. Draw floating component text in red. Made export to PDF centre on grid bounds instead of circuit bounds. Write status bar messages. V1.20 Added Grid checkbox. PDF shows bounding box and can show grid. Increased max pins per component to 255. When writing to file, append ". vrt", ".pdf", ".png" to filename as needed. V1.19 Add separate "Paste" and "Paste+Tidy" buttons for auto-routing. Updated tutorials. V1.18 Bug fix: Info dialog edits weren't treated as changes so "Save" was broken, but "Save As" was OK. V1.17 Added ground-fill. V1.16 Fixed mouse-wheel behaviour on windows. Added View menu option to show IC pins as numbers. V1.15 Added more Edit menu items. Check for Tutorials and History folders at start-up. V1.14 Added Help menu item to check if a new version is available. V1.13 Bug fixes: PDF write was broken since V1.10. "Add" menu item was enabled when view was mirrored. V1.12 Fixed TinyCAD package names for NP capacitors. Make netlist import allow spaces in Name and Value fields. V1.11 Fixed crash on importing unknown package. Increased maximum number of pins per component to over 200. V1.10 Added import of netlist from TinyCAD schematic. Hide old Import/Export. V1.01 Added scroll bars. Place new components in top-left of visible view and float them if needed. V1.00 Disable component text buttons when appropriate. Tidy code. Drop Beta. V0.999 Bug fix: Fix possible crash if adding new wire while auto-routing is enabled. V0.998 Bug fix: After "Paste" auto-routed wire, color should stay on board when wire moved. V0.997 Added part type combo. Added width buttons for DIP gap resizing instead of "E","R" keys. V0.996 Bug fix: Deleting grouped components could cause a crash later. Allow DIP gap resizing with "E","R" keys. V0.995 Check if circuit has been saved before launching Tutorials. Don't auto-raise Info window on Undo/Redo. V0.994 Bug fix: Erasing under floating pins while auto-routing. V0.993 Routing improvement. V0.992 Improve routing. V0.991 Bug fix: Redraw when toggling track styles. V0.99 Added new part types including multi-pole switches. V0.981 Bug fix: Undo/Redo. V0.98 Added Undo/Redo. V0.97 Added new part types. Improved TO-92 outline. Auto-centre when writing to PDF. V0.96 Show File menu-shortcuts. Fixed tutorial description of polarised component Export. V0.95 Added save to PNG. V0.94 Added B.O.M. V0.93 Try auto-generate unique Name when adding new part. V0.92 Add Ctrl shortcuts for File menu options. Changed tutorials. Fixed origId bug. V0.91 Fixed bad write to PDF. Allow backspace to work as delete. V0.90 First release to Sourceforge. VeroRoute/Src/TemplateManager.h000644 001750 001750 00000012056 14026402641 016705 0ustar00alexalex000000 000000 /* VeroRoute - Qt based Veroboard/Perfboard/PCB layout & routing application. Copyright (C) 2017 Alex Lawrow ( dralx@users.sourceforge.net ) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once #include "Template.h" // Manager class to handle component templates class TemplateManager : public Persist { public: TemplateManager() {} virtual ~TemplateManager() {} TemplateManager(const TemplateManager& o) { *this = o; } TemplateManager& operator=(const TemplateManager& o) { for (int i = 0; i < 2; i++ ) { const bool bGeneric = (i == 0); auto& listThis = bGeneric ? m_listGeneric : m_listUser; auto& listOther = bGeneric ? o.m_listGeneric : o.m_listUser; listThis.clear(); for (const auto& r : listOther) listThis.push_back( Template(r) ); } return *this; } const std::string& GetPathStr() const { return m_pathStr; } void SetPathStr(const std::string& str) { m_pathStr = str; } size_t GetSize(bool bGeneric) const { return bGeneric ? m_listGeneric.size() : m_listUser.size(); } const Component& GetNth(bool bGeneric, size_t N) const { assert( N < GetSize(bGeneric) ); auto iter = bGeneric ? m_listGeneric.begin() : m_listUser.begin(); for (size_t i = 0; i < N; i++) iter++; return *iter; } bool GetFromImportStr(const std::string& importStr, Component& out) const { for (const auto& o : m_listUser) if ( o.GetType() == COMP::CUSTOM && o.GetImportStr() == importStr ) { out = o; return true; } return false; } void AddDefaults() { std::string nameStr(""), valueStr(""); for (const auto& eType : CompTypes::GetListCompTypes()) { if ( eType == COMP::TRACKS ) continue; // Not a real component if ( eType == COMP::VERO_NUMBER ) continue; // Not a real component if ( eType == COMP::VERO_LETTER ) continue; // Not a real component if ( eType == COMP::CUSTOM ) continue; // Don't show custom components in the left pane const int numPins = CompTypes::GetDefaultNumPins(eType); std::vector nodeList; nodeList.resize(static_cast(numPins), BAD_NODEID); Component comp(nameStr, valueStr, eType, nodeList); comp.SetId(BAD_COMPID); // This indicates a component template Add(true, comp); // true ==> generic } } bool Add(bool bGeneric, const Component& comp, std::string* pErrorStr = nullptr) { Template entry; if ( !entry.MakeTemplate(comp) ) return false; auto& lst = bGeneric ? m_listGeneric : m_listUser; // Custom components need unique strings if ( comp.GetType() == COMP::CUSTOM ) { assert( !bGeneric ); for (const auto& o : lst) { if ( comp.GetTypeStr() == o.GetTypeStr() && comp.GetValueStr() == o.GetValueStr() ) { if ( pErrorStr ) *pErrorStr = "The template (Type = " + o.GetTypeStr() + ") " + "(Value = " + o.GetValueStr() + ") already exists"; return false; } else if ( !comp.GetImportStr().empty() && comp.GetImportStr() == o.GetImportStr() ) { if ( pErrorStr ) *pErrorStr = "The template (Type = " + o.GetTypeStr() + ") " + "(Value = " + o.GetValueStr() + ") " + "already has the Import string " + o.GetImportStr(); return false; } } } auto iter = lst.begin(); bool bOK = iter == lst.end() || entry.IsLessThan(*iter, bGeneric); if ( bOK ) lst.insert(iter, entry); while( iter != lst.end() && !bOK ) { Template& prev = *iter; ++iter; bOK = prev.IsLessThan(entry, bGeneric) && ( iter == lst.end() || entry.IsLessThan(*iter, bGeneric) ); if ( bOK ) lst.insert(iter, entry); } return bOK; } bool Remove(const Component& comp) { Template entry; if ( !entry.MakeTemplate(comp) ) return false; const auto iter = std::find(m_listUser.begin(), m_listUser.end(), entry); const bool bOK = ( iter != m_listUser.end() ); if ( bOK ) m_listUser.erase(iter); // Erase entry if it exists return bOK; } // Persist interface functions virtual void Load(DataStream& inStream) override { m_listUser.clear(); unsigned int iSize(0); inStream.Load(iSize); for (unsigned int i = 0; i < iSize; i++) { Template entry; entry.Load(inStream); m_listUser.push_back(entry); } } virtual void Save(DataStream& outStream) override { const unsigned int iSize = static_cast( m_listUser.size() ); outStream.Save(iSize); for (auto& o : m_listUser) o.Save(outStream); } private: std::string m_pathStr; // Path to the "templates" folder std::list