From 01e857d14a9da16648c923de455ef29fd083d405 Mon Sep 17 00:00:00 2001 From: yair reshef Date: Wed, 28 Jan 2015 11:49:26 +0200 Subject: [PATCH] added directory with current pcb house rules for eagle --- DRC_DRU/Elecrow_2-layer_eagle_rule.dru | 70 ++++++ .../Elecrow_Gerber_Generater_DrillAlign.cam | 224 ++++++++++++++++++ 2 files changed, 294 insertions(+) create mode 100644 DRC_DRU/Elecrow_2-layer_eagle_rule.dru create mode 100644 DRC_DRU/Elecrow_Gerber_Generater_DrillAlign.cam diff --git a/DRC_DRU/Elecrow_2-layer_eagle_rule.dru b/DRC_DRU/Elecrow_2-layer_eagle_rule.dru new file mode 100644 index 0000000..e707db8 --- /dev/null +++ b/DRC_DRU/Elecrow_2-layer_eagle_rule.dru @@ -0,0 +1,70 @@ +description[de] = EAGLE Design Rules\n

\nDie Standard-Design-Rules sind so gewählt, dass sie für \ndie meisten Anwendungen passen. Sollte ihre Platine \nbesondere Anforderungen haben, treffen Sie die erforderlichen\nEinstellungen hier und speichern die Design Rules unter \neinem neuen Namen ab. +description[en] = EAGLE Design Rules\n

\nThe default Design Rules have been set to cover\na wide range of applications. Your particular design\nmay have different requirements, so please make the\nnecessary adjustments and save your customized\ndesign rules under a new name. +description[zh] = Elecrow EAGLE Design Rules\n +layerSetup = (1*16) +mtCopper = 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm +mtIsolate = 1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm +mdWireWire = 6mil +mdWirePad = 6mil +mdWireVia = 6mil +mdPadPad = 6mil +mdPadVia = 6mil +mdViaVia = 6mil +mdSmdPad = 0mil +mdSmdVia = 0mil +mdSmdSmd = 0mil +mdViaViaSameLayer = 8mil +mnLayersViaInSmd = 2 +mdCopperDimension = 10mil +mdDrill = 10mil +mdSmdStop = 0mil +msWidth = 6mil +msDrill = 12mil +msMicroVia = 12mil +msBlindViaRatio = 0.500000 +rvPadTop = 0.250000 +rvPadInner = 0.250000 +rvPadBottom = 0.250000 +rvViaOuter = 0.250000 +rvViaInner = 0.250000 +rvMicroViaOuter = 0.250000 +rvMicroViaInner = 0.250000 +rlMinPadTop = 10mil +rlMaxPadTop = 20mil +rlMinPadInner = 10mil +rlMaxPadInner = 20mil +rlMinPadBottom = 10mil +rlMaxPadBottom = 20mil +rlMinViaOuter = 6mil +rlMaxViaOuter = 20mil +rlMinViaInner = 6mil +rlMaxViaInner = 20mil +rlMinMicroViaOuter = 4mil +rlMaxMicroViaOuter = 20mil +rlMinMicroViaInner = 4mil +rlMaxMicroViaInner = 20mil +psTop = -1 +psBottom = -1 +psFirst = 0 +psElongationLong = 100 +psElongationOffset = 100 +mvStopFrame = 1.000000 +mvCreamFrame = 0.000000 +mlMinStopFrame = 2mil +mlMaxStopFrame = 2mil +mlMinCreamFrame = 0mil +mlMaxCreamFrame = 0mil +mlViaStopLimit = 100mil +srRoundness = 0.000000 +srMinRoundness = 0mil +srMaxRoundness = 0mil +slThermalIsolate = 10mil +slThermalsForVias = 0 +dpMaxLengthDifference = 10mm +dpGapFactor = 2.500000 +checkGrid = 0 +checkAngle = 0 +checkFont = 1 +checkRestrict = 0 +useDiameter = 13 +maxErrors = 50 diff --git a/DRC_DRU/Elecrow_Gerber_Generater_DrillAlign.cam b/DRC_DRU/Elecrow_Gerber_Generater_DrillAlign.cam new file mode 100644 index 0000000..c48f972 --- /dev/null +++ b/DRC_DRU/Elecrow_Gerber_Generater_DrillAlign.cam @@ -0,0 +1,224 @@ +[CAM Processor Job] +Description[de]="Erzeugt Extended-Gerber-Format (RS274X)

\nDieser CAM-Job besteht aus fünf Arbeitsschritten und erzeugt Fertigungsdaten für eine zweilagige Platine.

\nDie fünf Gerberdateien enthalten Daten für:
\nBestückungsseite *.cmp
\nLötseite *.sol
\nBestückungsdruck oben *.plc
\nLötstoplack Bestückungsseite *.stc
\nLötstoplack Lötseite *.sts
" +Description[en]="Seeed Studio 2-layer PCB Gerber Generator
\nYou will get 10 RS274-x format gerber files:

\n\nTop Layer: pcbname.GTL
\nSilk Top: pcbname.GTO
\nSolderMask Top: pcbname.GTS
\nSMD paste Top: pcbname.GTP

\n\nBottom Layer: pcbname.GBL
\nSilk Bottom: pcbname.GBO
\nSolderMask Bottom: pcbname.GBS
\nSMD paste Bottom: pcbname.GBP

\n\nSolt Drills/Hole: pcbname.GML ---> the Milling Layer(layer46)
\nNC Drill file:pcbname.TXT

\n\nIt works well with our Fusion PCB Service:
\nhttp://www.seeedstudio.com/depot/index.php?main_page=advanced_search_result&search_in_description=1&keyword=Fusion\n\n\n" +Description[zh]="Seeed Studio Gerber Generater

\nThis CAM job consists of 10 sections that generate data for a two layer board.

\nYou will get 10 gerber files that contain data for:
\nTop trace layer *.GTL
\nTop slikscreen layer *.GTO
\nTop pad paste layer *.GTP
\nTop solder mask layer *.GTS
\nBottom trace layer *.GBL
\nBottom slikscreen layer *.GBO
\nBottom pad paste layer *.GBP
\nBottom solder mask layer *.GBS
\nSlot data *.GML
\nNC Drills *.TXT
\n" +Section=Sec_1 +Section=Sec_2 +Section=Sec_3 +Section=Sec_4 +Section=Sec_5 +Section=Sec_6 +Section=Sec_7 +Section=Sec_8 +Section=Sec_9 +Section=Sec_10 + +[Sec_1] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Drills&Holes" +Name[zh]="drill data" +Prompt[en]="" +Prompt[zh]="" +Device="EXCELLON" +Wheel="" +Rack="" +Scale=1 +Output="%N.TXT" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 44 45" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_2] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Slot drills/holes" +Name[zh]="edge milling" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel="" +Rack="" +Scale=1 +Output="%N.GML" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 46" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_3] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Solder paste bottom" +Name[zh]="padmask bottom" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GBP" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 32" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_4] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Solder paste top" +Name[zh]="padmask top" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GTP" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 31" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_5] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Solder Mask bottom" +Name[zh]="solder mask bottom" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GBS" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 30" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_6] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Solder Mask top" +Name[zh]="solder mask top" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GTS" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 29" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_7] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Silk bottom" +Name[zh]="silk bottom" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GBO" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 22 26" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_8] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Silk top" +Name[zh]="silk top" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GTO" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 20 21 25" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_9] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Bottom layer" +Name[zh]="bottom copper" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GBL" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 16 17 18 20" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0" + +[Sec_10] +Name[de]="Lötstopmaske Lötseite" +Name[en]="Top Layer" +Name[zh]="top copper" +Prompt[en]="" +Prompt[zh]="" +Device="GERBER_RS274X" +Wheel=".whl" +Rack="" +Scale=1 +Output="%N.GTL" +Flags="0 0 0 1 0 1 1" +Emulate="0" +Offset="0.0mil 0.0mil" +Sheet=1 +Tolerance="0 0 0 0 0 0" +Pen="0.0mil 0" +Page="12000.0mil 8000.0mil" +Layers=" 1 17 18 20" +Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0"