diff --git a/pcbnew/drc/drc_test_provider_solder_mask.cpp b/pcbnew/drc/drc_test_provider_solder_mask.cpp index acaaf7e00c..adeaf79d69 100644 --- a/pcbnew/drc/drc_test_provider_solder_mask.cpp +++ b/pcbnew/drc/drc_test_provider_solder_mask.cpp @@ -333,11 +333,17 @@ void DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems( BOARD_ITEM* aItem, if( otherNet > 0 && otherNet == itemNet ) return false; + if( aItem->GetParentFootprint() && other->GetParentFootprint() ) + { + int attr = static_cast( aItem->GetParentFootprint() )->GetAttributes(); + + if( attr & FP_ALLOW_SOLDERMASK_BRIDGES ) + return false; + } + if( pad && otherPad && pad->GetParent() == otherPad->GetParent() ) { - if( pad->GetParent()->GetAttributes() & FP_ALLOW_SOLDERMASK_BRIDGES ) - return false; - else if( pad->SameLogicalPadAs( otherPad ) ) + if( pad->SameLogicalPadAs( otherPad ) ) return false; } @@ -401,8 +407,13 @@ void DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems( BOARD_ITEM* aItem, { std::pair key = { aItem, aRefLayer }; + // If the mask collides with the first object, add the object + // net to our map and stop. This cannot be an error yet. if( m_maskApertureNetMap.count( key ) == 0 ) + { m_maskApertureNetMap[ key ] = otherNet; + return true; + } if( m_maskApertureNetMap.at( key ) == otherNet && otherNet > 0 ) return true; @@ -413,7 +424,10 @@ void DRC_TEST_PROVIDER_SOLDER_MASK::testItemAgainstItems( BOARD_ITEM* aItem, std::pair key = { other, aRefLayer }; if( m_maskApertureNetMap.count( key ) == 0 ) + { m_maskApertureNetMap[ key ] = itemNet; + return true; + } if( m_maskApertureNetMap.at( key ) == itemNet && itemNet > 0 ) return true; diff --git a/qa/data/issue10906.kicad_pcb b/qa/data/issue10906.kicad_pcb new file mode 100644 index 0000000000..1b39199ab3 --- /dev/null +++ b/qa/data/issue10906.kicad_pcb @@ -0,0 +1,103 @@ +(kicad_pcb (version 20220211) (generator pcbnew) + + (general + (thickness 1.6) + ) + + (paper "A4") + (layers + (0 "F.Cu" signal) + (31 "B.Cu" signal) + (32 "B.Adhes" user "B.Adhesive") + (33 "F.Adhes" user "F.Adhesive") + (34 "B.Paste" user) + (35 "F.Paste" user) + (36 "B.SilkS" user "B.Silkscreen") + (37 "F.SilkS" user "F.Silkscreen") + (38 "B.Mask" user) + (39 "F.Mask" user) + (40 "Dwgs.User" user "User.Drawings") + (41 "Cmts.User" user "User.Comments") + (42 "Eco1.User" user "User.Eco1") + (43 "Eco2.User" user "User.Eco2") + (44 "Edge.Cuts" user) + (45 "Margin" user) + (46 "B.CrtYd" user "B.Courtyard") + (47 "F.CrtYd" user "F.Courtyard") + (48 "B.Fab" user) + (49 "F.Fab" user) + (50 "User.1" user) + (51 "User.2" user) + (52 "User.3" user) + (53 "User.4" user) + (54 "User.5" user) + (55 "User.6" user) + (56 "User.7" user) + (57 "User.8" user) + (58 "User.9" user) + ) + + (setup + (pad_to_mask_clearance 0) + (pcbplotparams + (layerselection 0x00010fc_ffffffff) + (disableapertmacros false) + (usegerberextensions false) + (usegerberattributes true) + (usegerberadvancedattributes true) + (creategerberjobfile true) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 4) + (excludeedgelayer true) + (plotframeref false) + (viasonmask false) + (mode 1) + (useauxorigin false) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (dxfpolygonmode true) + (dxfimperialunits true) + (dxfusepcbnewfont true) + (psnegative false) + (psa4output false) + (plotreference true) + (plotvalue true) + (plotinvisibletext false) + (sketchpadsonfab false) + (subtractmaskfromsilk false) + (outputformat 1) + (mirror false) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + + (net 0 "") + + (footprint "Connector_Wire:SolderWirePad_1x01_SMD_1x2mm" (layer "F.Cu") + (tedit 620FF1C8) (tstamp 2e642b3e-a476-4c54-9a52-dcea955640cd) + (at 136.84 58.35) + (descr "Wire Pad, Square, SMD Pad, 5mm x 10mm,") + (tags "MesurementPoint Square SMDPad 5mmx10mm ") + (attr exclude_from_pos_files exclude_from_bom) + (fp_text reference "REF**" (at 0 -2.54) (layer "F.SilkS") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b1086f75-01ba-4188-8d36-75a9e2828ca9) + ) + (fp_text value "" (at 0 2.54) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 716e31c5-485f-40b5-88e3-a75900da9811) + ) + (fp_rect (start -0.762 -0.508) (end 1.016 0.762) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Cu") (tstamp e87a6f80-914f-4f62-9c9f-9ba62a88ee3d)) + (fp_rect (start -0.762 -0.508) (end 1.016 0.762) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Mask") (tstamp df3dc9a2-ba40-4c3a-87fe-61cc8e23d71b)) + ) + + (gr_rect (start 135.25 57.21) (end 138.55 60.51) + (stroke (width 0.05) (type default)) (fill none) (layer "Edge.Cuts") (tstamp 2f0570b6-86da-47a8-9e56-ce60c431c534)) + +) diff --git a/qa/data/solder_mask_bridge_test.kicad_pcb b/qa/data/solder_mask_bridge_test.kicad_pcb index 1634b97d59..e3cf91fafb 100644 --- a/qa/data/solder_mask_bridge_test.kicad_pcb +++ b/qa/data/solder_mask_bridge_test.kicad_pcb @@ -1,4 +1,4 @@ -(kicad_pcb (version 20210812) (generator pcbnew) +(kicad_pcb (version 20220211) (generator pcbnew) (general (thickness 1.6) @@ -59,7 +59,8 @@ (usegerberattributes true) (usegerberadvancedattributes true) (creategerberjobfile true) - (svguseinch false) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) (svgprecision 6) (excludeedgelayer true) (plotframeref false) @@ -98,24 +99,35 @@ (tags "dil dip 2.54 300") (attr through_hole) (fp_text reference "REF**" (at 4.445 -3.7084) (layer "F.SilkS") - (effects (font (size 1 1) (thickness 0.15))) + (effects (font (size 1 1) (thickness 0.15))) (tstamp 59609e9e-6f8e-414a-8e1a-68271157d0f4) ) (fp_text value "DIP-14_W7.62mm_LongPads" (at 0 -3.72) (layer "F.Fab") hide - (effects (font (size 1 1) (thickness 0.15))) + (effects (font (size 1 1) (thickness 0.15))) (tstamp 777520c7-f251-417a-a971-c4b28beed159) ) - (fp_line (start 0.135 -2.295) (end 0.135 -1.025) (layer "F.SilkS") (width 0.15) (tstamp fddf502b-35d9-4c79-83ea-e86b1347b469)) - (fp_line (start 0.135 -2.295) (end 7.485 -2.295) (layer "F.SilkS") (width 0.15) (tstamp e79a53c0-2b0d-4f45-9b3a-0d8f6a3f73f2)) - (fp_line (start 0.135 -1.025) (end -1.15 -1.025) (layer "F.SilkS") (width 0.15) (tstamp 4c82108f-9f12-4804-907e-f81706f9251d)) - (fp_line (start 0.135 17.535) (end 0.135 16.265) (layer "F.SilkS") (width 0.15) (tstamp 0b79ddb5-29b5-4d02-b254-210c2c0bc52a)) - (fp_line (start 0.135 17.535) (end 7.485 17.535) (layer "F.SilkS") (width 0.15) (tstamp 0f83140d-7d8e-4df7-9004-7d55d208e970)) - (fp_line (start 7.485 -2.295) (end 7.485 -1.025) (layer "F.SilkS") (width 0.15) (tstamp 47d1c952-cc7e-48d8-8bf3-43e84030b5b6)) - (fp_line (start 7.485 17.535) (end 7.485 16.265) (layer "F.SilkS") (width 0.15) (tstamp 4a6fe592-662f-4920-ac12-4fe3becc67da)) - (fp_line (start -1.4 -2.45) (end -1.4 17.7) (layer "F.CrtYd") (width 0.05) (tstamp 9873122d-04aa-4cf6-96df-5df12ef3440f)) - (fp_line (start -1.4 -2.45) (end 9 -2.45) (layer "F.CrtYd") (width 0.05) (tstamp 9abef0ec-7068-4aa5-a4b2-c8cd8b0ceb6e)) - (fp_line (start -1.4 17.7) (end 9 17.7) (layer "F.CrtYd") (width 0.05) (tstamp c1c9a072-3005-4d0b-b7f6-70565ddfb731)) - (fp_line (start 9 -2.45) (end 9 17.7) (layer "F.CrtYd") (width 0.05) (tstamp 2fe33ec7-1451-4a28-bf38-24c176dee936)) + (fp_line (start 0.135 -2.295) (end 0.135 -1.025) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp fddf502b-35d9-4c79-83ea-e86b1347b469)) + (fp_line (start 0.135 -2.295) (end 7.485 -2.295) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp e79a53c0-2b0d-4f45-9b3a-0d8f6a3f73f2)) + (fp_line (start 0.135 -1.025) (end -1.15 -1.025) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 4c82108f-9f12-4804-907e-f81706f9251d)) + (fp_line (start 0.135 17.535) (end 0.135 16.265) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 0b79ddb5-29b5-4d02-b254-210c2c0bc52a)) + (fp_line (start 0.135 17.535) (end 7.485 17.535) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 0f83140d-7d8e-4df7-9004-7d55d208e970)) + (fp_line (start 7.485 -2.295) (end 7.485 -1.025) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 47d1c952-cc7e-48d8-8bf3-43e84030b5b6)) + (fp_line (start 7.485 17.535) (end 7.485 16.265) + (stroke (width 0.15) (type solid)) (layer "F.SilkS") (tstamp 4a6fe592-662f-4920-ac12-4fe3becc67da)) + (fp_line (start -1.4 -2.45) (end -1.4 17.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9873122d-04aa-4cf6-96df-5df12ef3440f)) + (fp_line (start -1.4 -2.45) (end 9 -2.45) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9abef0ec-7068-4aa5-a4b2-c8cd8b0ceb6e)) + (fp_line (start -1.4 17.7) (end 9 17.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c1c9a072-3005-4d0b-b7f6-70565ddfb731)) + (fp_line (start 9 -2.45) (end 9 17.7) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2fe33ec7-1451-4a28-bf38-24c176dee936)) (pad "1" thru_hole oval (at 0 0) (size 2.3 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 1 "signal") (solder_mask_margin 0.4) (tstamp 2fe6f3ef-3519-45f5-bd91-8d7847304292)) (pad "2" thru_hole oval (at 0 2.54) (size 2.3 1.6) (drill 0.8) (layers *.Cu *.Mask) @@ -146,7 +158,37 @@ ) ) - (gr_rect (start 78.105 50.165) (end 228.6 130.81) (layer "Edge.Cuts") (width 0.05) (fill none) (tstamp d0d883cf-992c-40b1-8baf-44f8b31bd338)) + (footprint "Connector_Wire:SolderWirePad_1x01_SMD_1x2mm" (layer "F.Cu") + (tedit 620FF653) (tstamp 970e0f64-111f-41e3-9f5a-fb0d0f6fa101) + (at 194.73 80.19) + (descr "Wire Pad, Square, SMD Pad, 5mm x 10mm,") + (tags "MesurementPoint Square SMDPad 5mmx10mm ") + (attr exclude_from_pos_files exclude_from_bom) + (fp_text reference "REF**" (at 0 -2.54) (layer "F.SilkS") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e502d1d5-04b0-4d4b-b5c3-8c52d09668e7) + ) + (fp_text value "SolderWirePad_1x01_SMD_1x2mm" (at 0 2.54) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 7c04618d-9115-4179-b234-a8faf854ea92) + ) + (fp_rect (start -4.826 -2.413) (end -0.762 2.413) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Cu") (tstamp 4346fe55-f906-453a-b81a-1c013104a598)) + (fp_rect (start -2.032 5.842) (end 2.032 10.668) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Cu") (tstamp 2f3fba7a-cf45-4bd8-9035-07e6fa0b4732)) + (fp_rect (start 0.762 -2.413) (end 4.826 2.413) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Cu") (tstamp 5e6153e6-2c19-46de-9a8e-b310a2a07861)) + (fp_rect (start -2.032 -2.413) (end 2.032 2.413) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Mask") (tstamp 0f0f7bb5-ade7-4a81-82b4-43be6a8ad05c)) + (fp_rect (start -2.032 5.842) (end 2.032 10.668) + (stroke (width 0) (type solid)) (fill solid) (layer "F.Mask") (tstamp cb1a49ef-0a06-4f40-9008-61d1d1c36198)) + ) + + (gr_rect (start 78.105 50.165) (end 228.6 130.81) + (stroke (width 0.05) (type solid)) (fill none) (layer "Edge.Cuts") (tstamp d0d883cf-992c-40b1-8baf-44f8b31bd338)) + (gr_text "No error ->" (at 189.44 88.48) (layer "F.SilkS") (tstamp 168a0226-3f44-46ec-a72a-15290137bd66) + (effects (font (size 0.66 0.66) (thickness 0.1))) + ) (gr_text "No error ->" (at 150.9776 78.5876) (layer "F.SilkS") (tstamp 246e9db7-6544-4169-9c7a-178ae76a161a) (effects (font (size 0.66 0.66) (thickness 0.1))) ) @@ -156,6 +198,9 @@ (gr_text "<- Error" (at 164.2364 81.3816) (layer "F.SilkS") (tstamp 8aa83fbc-6808-4f31-8b58-3c465cfd1f3b) (effects (font (size 0.66 0.66) (thickness 0.1))) ) + (gr_text "Error ->" (at 187.74 80.53) (layer "F.SilkS") (tstamp d23aa89d-c621-4b1b-a845-8c26429d6622) + (effects (font (size 0.66 0.66) (thickness 0.1))) + ) (gr_text "<- Errors (F & B)" (at 166.7764 76.0984) (layer "F.SilkS") (tstamp d8431fbc-8a2a-46ff-b841-c7976a19d81c) (effects (font (size 0.66 0.66) (thickness 0.1))) ) @@ -197,219 +242,191 @@ (xy 142.911786 97.767142) (xy 142.9004 97.7148) (xy 142.9004 77.47) - (xy 152.648027 77.47) - (xy 152.667883 77.696953) - (xy 152.726847 77.917011) - (xy 152.729169 77.921992) - (xy 152.72917 77.921993) - (xy 152.820802 78.118499) - (xy 152.820803 78.1185) - (xy 152.823128 78.123486) - (xy 152.881401 78.206708) - (xy 152.948874 78.303069) - (xy 152.953801 78.310106) - (xy 153.114894 78.471199) - (xy 153.119402 78.474356) - (xy 153.119405 78.474358) - (xy 153.130505 78.48213) - (xy 153.301514 78.601872) - (xy 153.306496 78.604195) - (xy 153.306501 78.604198) - (xy 153.353724 78.626218) - (xy 153.41199 78.653388) - (xy 153.465274 78.700304) - (xy 153.484735 78.768581) - (xy 153.464193 78.836541) - (xy 153.412984 78.881307) - (xy 153.320173 78.925576) - (xy 153.320163 78.925582) - (xy 153.315104 78.927995) - (xy 153.310553 78.931265) - (xy 153.31055 78.931267) - (xy 153.202772 79.008713) - (xy 153.13361 79.058411) - (xy 152.97808 79.218906) - (xy 152.853429 79.404406) - (xy 152.763597 79.609049) - (xy 152.711424 79.826365) - (xy 152.698559 80.049485) - (xy 152.725409 80.271358) - (xy 152.791124 80.484969) - (xy 152.793694 80.489949) - (xy 152.793696 80.489953) - (xy 152.86095 80.620255) - (xy 152.893628 80.683567) - (xy 153.029681 80.860874) - (xy 153.033826 80.864645) - (xy 153.033829 80.864649) - (xy 153.135934 80.957557) - (xy 153.194982 81.011287) - (xy 153.199738 81.01427) - (xy 153.19974 81.014272) - (xy 153.37955 81.127067) - (xy 153.379554 81.127069) - (xy 153.384306 81.13005) - (xy 153.46491 81.162453) - (xy 153.520652 81.206417) - (xy 153.543777 81.273542) - (xy 153.52694 81.342513) - (xy 153.472156 81.393083) - (xy 153.320173 81.465576) - (xy 153.320163 81.465582) - (xy 153.315104 81.467995) - (xy 153.310553 81.471265) - (xy 153.31055 81.471267) - (xy 153.202772 81.548713) - (xy 153.13361 81.598411) - (xy 152.97808 81.758906) - (xy 152.853429 81.944406) - (xy 152.763597 82.149049) - (xy 152.711424 82.366365) - (xy 152.711101 82.37197) - (xy 152.700364 82.558188) - (xy 152.698559 82.589485) - (xy 152.725409 82.811358) - (xy 152.791124 83.024969) - (xy 152.793694 83.029949) - (xy 152.793696 83.029953) - (xy 152.86095 83.160255) - (xy 152.893628 83.223567) - (xy 153.029681 83.400874) - (xy 153.033826 83.404645) - (xy 153.033829 83.404649) - (xy 153.135934 83.497557) - (xy 153.194982 83.551287) - (xy 153.199738 83.55427) - (xy 153.19974 83.554272) - (xy 153.37955 83.667067) - (xy 153.379554 83.667069) - (xy 153.384306 83.67005) - (xy 153.46491 83.702453) - (xy 153.520652 83.746417) - (xy 153.543777 83.813542) - (xy 153.52694 83.882513) - (xy 153.472156 83.933083) - (xy 153.320173 84.005576) - (xy 153.320163 84.005582) - (xy 153.315104 84.007995) - (xy 153.310553 84.011265) - (xy 153.31055 84.011267) - (xy 153.202772 84.088713) - (xy 153.13361 84.138411) - (xy 152.97808 84.298906) - (xy 152.853429 84.484406) - (xy 152.85117 84.489552) - (xy 152.851169 84.489554) - (xy 152.832888 84.5312) - (xy 152.763597 84.689049) - (xy 152.711424 84.906365) - (xy 152.698559 85.129485) - (xy 152.725409 85.351358) - (xy 152.791124 85.564969) - (xy 152.793694 85.569949) - (xy 152.793696 85.569953) - (xy 152.86095 85.700255) - (xy 152.893628 85.763567) - (xy 153.029681 85.940874) - (xy 153.033826 85.944645) - (xy 153.033829 85.944649) - (xy 153.135934 86.037557) - (xy 153.194982 86.091287) - (xy 153.199738 86.09427) - (xy 153.19974 86.094272) - (xy 153.37955 86.207067) - (xy 153.379554 86.207069) - (xy 153.384306 86.21005) - (xy 153.46491 86.242453) - (xy 153.520652 86.286417) - (xy 153.543777 86.353542) - (xy 153.52694 86.422513) - (xy 153.472156 86.473083) - (xy 153.320173 86.545576) - (xy 153.320163 86.545582) - (xy 153.315104 86.547995) - (xy 153.310553 86.551265) - (xy 153.31055 86.551267) - (xy 153.202772 86.628713) - (xy 153.13361 86.678411) - (xy 152.97808 86.838906) - (xy 152.853429 87.024406) - (xy 152.763597 87.229049) - (xy 152.711424 87.446365) - (xy 152.698559 87.669485) - (xy 152.725409 87.891358) - (xy 152.791124 88.104969) - (xy 152.793694 88.109949) - (xy 152.793696 88.109953) - (xy 152.86095 88.240255) - (xy 152.893628 88.303567) - (xy 153.029681 88.480874) - (xy 153.033826 88.484645) - (xy 153.033829 88.484649) - (xy 153.135934 88.577557) - (xy 153.194982 88.631287) - (xy 153.199738 88.63427) - (xy 153.19974 88.634272) - (xy 153.37955 88.747067) - (xy 153.379554 88.747069) - (xy 153.384306 88.75005) - (xy 153.46491 88.782453) - (xy 153.520652 88.826417) - (xy 153.543777 88.893542) - (xy 153.52694 88.962513) - (xy 153.472156 89.013083) - (xy 153.320173 89.085576) - (xy 153.320163 89.085582) - (xy 153.315104 89.087995) - (xy 153.310553 89.091265) - (xy 153.31055 89.091267) - (xy 153.203648 89.168084) - (xy 153.13361 89.218411) - (xy 152.97808 89.378906) - (xy 152.853429 89.564406) - (xy 152.763597 89.769049) - (xy 152.711424 89.986365) - (xy 152.698559 90.209485) - (xy 152.725409 90.431358) - (xy 152.791124 90.644969) - (xy 152.793694 90.649949) - (xy 152.793696 90.649953) - (xy 152.86095 90.780255) - (xy 152.893628 90.843567) - (xy 153.029681 91.020874) - (xy 153.033826 91.024645) - (xy 153.033829 91.024649) - (xy 153.135934 91.117557) - (xy 153.194982 91.171287) - (xy 153.199738 91.17427) - (xy 153.19974 91.174272) - (xy 153.37955 91.287067) - (xy 153.379554 91.287069) - (xy 153.384306 91.29005) - (xy 153.591669 91.373409) - (xy 153.810517 91.41873) - (xy 153.81513 91.418996) - (xy 153.865405 91.421895) - (xy 153.865409 91.421895) - (xy 153.867228 91.422) - (xy 154.711708 91.422) - (xy 154.714495 91.421751) - (xy 154.714501 91.421751) - (xy 154.78397 91.415551) - (xy 154.877606 91.407194) - (xy 155.005936 91.372087) - (xy 155.08776 91.349703) - (xy 155.087764 91.349702) - (xy 155.093176 91.348221) - (xy 155.294896 91.252005) - (xy 155.299447 91.248735) - (xy 155.29945 91.248733) - (xy 155.471831 91.124865) - (xy 155.47639 91.121589) - (xy 155.63192 90.961094) - (xy 155.756571 90.775594) - (xy 155.846403 90.570951) - (xy 155.878677 90.436522) + (xy 152.649532 77.47) + (xy 152.669365 77.696692) + (xy 152.670789 77.702005) + (xy 152.670789 77.702007) + (xy 152.718906 77.881581) + (xy 152.728261 77.916496) + (xy 152.824432 78.122734) + (xy 152.954953 78.309139) + (xy 153.115861 78.470047) + (xy 153.302266 78.600568) + (xy 153.307244 78.602889) + (xy 153.307247 78.602891) + (xy 153.415594 78.653414) + (xy 153.468879 78.700332) + (xy 153.48834 78.768609) + (xy 153.467798 78.836569) + (xy 153.417013 78.881131) + (xy 153.311027 78.932171) + (xy 153.128922 79.064478) + (xy 152.973368 79.227175) + (xy 152.970251 79.231897) + (xy 152.913205 79.318319) + (xy 152.849365 79.415032) + (xy 152.760897 79.622012) + (xy 152.710809 79.841463) + (xy 152.70071 80.06633) + (xy 152.730925 80.289387) + (xy 152.800483 80.503464) + (xy 152.907148 80.701681) + (xy 152.91067 80.706097) + (xy 152.910673 80.706102) + (xy 152.920349 80.718235) + (xy 153.047492 80.877666) + (xy 153.051745 80.881381) + (xy 153.051749 80.881386) + (xy 153.212101 81.021481) + (xy 153.217004 81.025765) + (xy 153.410236 81.141215) + (xy 153.415533 81.143203) + (xy 153.415535 81.143204) + (xy 153.46472 81.161664) + (xy 153.521468 81.204326) + (xy 153.546143 81.270897) + (xy 153.53091 81.34024) + (xy 153.475115 81.393151) + (xy 153.311027 81.472171) + (xy 153.306448 81.475498) + (xy 153.306446 81.475499) + (xy 153.256459 81.511817) + (xy 153.128922 81.604478) + (xy 152.973368 81.767175) + (xy 152.970251 81.771897) + (xy 152.882143 81.905376) + (xy 152.849365 81.955032) + (xy 152.847139 81.960241) + (xy 152.847138 81.960242) + (xy 152.830387 81.999432) + (xy 152.760897 82.162012) + (xy 152.710809 82.381463) + (xy 152.70071 82.60633) + (xy 152.730925 82.829387) + (xy 152.800483 83.043464) + (xy 152.907148 83.241681) + (xy 152.91067 83.246097) + (xy 152.910673 83.246102) + (xy 152.976068 83.328103) + (xy 153.047492 83.417666) + (xy 153.051745 83.421381) + (xy 153.051749 83.421386) + (xy 153.212101 83.561481) + (xy 153.217004 83.565765) + (xy 153.410236 83.681215) + (xy 153.415533 83.683203) + (xy 153.415535 83.683204) + (xy 153.46472 83.701664) + (xy 153.521468 83.744326) + (xy 153.546143 83.810897) + (xy 153.53091 83.88024) + (xy 153.475115 83.933151) + (xy 153.311027 84.012171) + (xy 153.128922 84.144478) + (xy 153.125013 84.148567) + (xy 152.987093 84.29282) + (xy 152.973368 84.307175) + (xy 152.970251 84.311897) + (xy 152.909913 84.403306) + (xy 152.849365 84.495032) + (xy 152.760897 84.702012) + (xy 152.759638 84.70753) + (xy 152.71309 84.911471) + (xy 152.710809 84.921463) + (xy 152.70071 85.14633) + (xy 152.730925 85.369387) + (xy 152.800483 85.583464) + (xy 152.907148 85.781681) + (xy 152.91067 85.786097) + (xy 152.910673 85.786102) + (xy 152.976068 85.868103) + (xy 153.047492 85.957666) + (xy 153.051745 85.961381) + (xy 153.051749 85.961386) + (xy 153.212101 86.101481) + (xy 153.217004 86.105765) + (xy 153.410236 86.221215) + (xy 153.415533 86.223203) + (xy 153.415535 86.223204) + (xy 153.46472 86.241664) + (xy 153.521468 86.284326) + (xy 153.546143 86.350897) + (xy 153.53091 86.42024) + (xy 153.475115 86.473151) + (xy 153.311027 86.552171) + (xy 153.128922 86.684478) + (xy 152.973368 86.847175) + (xy 152.970251 86.851897) + (xy 152.913205 86.938319) + (xy 152.849365 87.035032) + (xy 152.760897 87.242012) + (xy 152.710809 87.461463) + (xy 152.70071 87.68633) + (xy 152.730925 87.909387) + (xy 152.800483 88.123464) + (xy 152.907148 88.321681) + (xy 152.91067 88.326097) + (xy 152.910673 88.326102) + (xy 152.976068 88.408103) + (xy 153.047492 88.497666) + (xy 153.051745 88.501381) + (xy 153.051749 88.501386) + (xy 153.212101 88.641481) + (xy 153.217004 88.645765) + (xy 153.410236 88.761215) + (xy 153.415533 88.763203) + (xy 153.415535 88.763204) + (xy 153.46472 88.781664) + (xy 153.521468 88.824326) + (xy 153.546143 88.890897) + (xy 153.53091 88.96024) + (xy 153.475115 89.013151) + (xy 153.311027 89.092171) + (xy 153.128922 89.224478) + (xy 152.973368 89.387175) + (xy 152.970251 89.391897) + (xy 152.886689 89.518489) + (xy 152.849365 89.575032) + (xy 152.760897 89.782012) + (xy 152.759638 89.78753) + (xy 152.731092 89.912599) + (xy 152.710809 90.001463) + (xy 152.70071 90.22633) + (xy 152.701469 90.231933) + (xy 152.728281 90.429865) + (xy 152.730925 90.449387) + (xy 152.800483 90.663464) + (xy 152.907148 90.861681) + (xy 152.91067 90.866097) + (xy 152.910673 90.866102) + (xy 152.976068 90.948103) + (xy 153.047492 91.037666) + (xy 153.051745 91.041381) + (xy 153.051749 91.041386) + (xy 153.201153 91.171916) + (xy 153.217004 91.185765) + (xy 153.410236 91.301215) + (xy 153.620976 91.380307) + (xy 153.626541 91.381317) + (xy 153.626545 91.381318) + (xy 153.836882 91.419489) + (xy 153.842453 91.4205) + (xy 154.711155 91.4205) + (xy 154.879188 91.405377) + (xy 154.884642 91.403872) + (xy 154.884646 91.403871) + (xy 155.09071 91.347) + (xy 155.090711 91.347) + (xy 155.09617 91.345493) + (xy 155.298973 91.247829) + (xy 155.481078 91.115522) + (xy 155.636632 90.952825) + (xy 155.693877 90.866102) + (xy 155.757515 90.769695) + (xy 155.757516 90.769693) + (xy 155.760635 90.764968) + (xy 155.849103 90.557988) + (xy 155.876827 90.436522) (xy 160.292273 90.436522) (xy 160.339764 90.613761) (xy 160.34351 90.624053) @@ -431,9 +448,7 @@ (xy 161.668124 91.473525) (xy 161.669329 91.472135) (xy 161.671 91.464452) - (xy 161.671 90.442115) - (xy 161.669659 90.437548) - (xy 162.179 90.437548) + (xy 161.671 91.459885) (xy 162.179 91.459885) (xy 162.183475 91.475124) (xy 162.184865 91.476329) @@ -461,237 +476,215 @@ (xy 162.181876 90.428475) (xy 162.180671 90.429865) (xy 162.179 90.437548) - (xy 161.669659 90.437548) + (xy 162.179 91.459885) + (xy 161.671 91.459885) + (xy 161.671 90.442115) (xy 161.666525 90.426876) (xy 161.665135 90.425671) (xy 161.657452 90.424) (xy 160.307033 90.424) (xy 160.293502 90.427973) (xy 160.292273 90.436522) - (xy 155.878677 90.436522) - (xy 155.898576 90.353635) - (xy 155.911441 90.130515) - (xy 155.884591 89.908642) - (xy 155.818876 89.695031) - (xy 155.751456 89.564406) - (xy 155.718943 89.501414) - (xy 155.718942 89.501413) - (xy 155.716372 89.496433) - (xy 155.580319 89.319126) - (xy 155.576174 89.315355) - (xy 155.576171 89.315351) - (xy 155.419171 89.172492) - (xy 155.415018 89.168713) - (xy 155.41026 89.165728) - (xy 155.23045 89.052933) - (xy 155.230446 89.052931) - (xy 155.225694 89.04995) - (xy 155.14509 89.017547) - (xy 155.089348 88.973583) - (xy 155.066223 88.906458) - (xy 155.08306 88.837487) - (xy 155.137844 88.786917) - (xy 155.289827 88.714424) - (xy 155.289837 88.714418) - (xy 155.294896 88.712005) - (xy 155.299447 88.708735) - (xy 155.29945 88.708733) - (xy 155.471831 88.584865) - (xy 155.47639 88.581589) - (xy 155.63192 88.421094) - (xy 155.756571 88.235594) - (xy 155.846403 88.030951) - (xy 155.898576 87.813635) - (xy 155.911441 87.590515) - (xy 155.884591 87.368642) - (xy 155.818876 87.155031) - (xy 155.751456 87.024406) - (xy 155.718943 86.961414) - (xy 155.718942 86.961413) - (xy 155.716372 86.956433) - (xy 155.580319 86.779126) - (xy 155.576174 86.775355) - (xy 155.576171 86.775351) - (xy 155.419171 86.632492) - (xy 155.415018 86.628713) - (xy 155.282487 86.545576) - (xy 155.23045 86.512933) - (xy 155.230446 86.512931) - (xy 155.225694 86.50995) - (xy 155.14509 86.477547) - (xy 155.089348 86.433583) - (xy 155.066223 86.366458) - (xy 155.08306 86.297487) - (xy 155.137844 86.246917) - (xy 155.289827 86.174424) - (xy 155.289837 86.174418) - (xy 155.294896 86.172005) - (xy 155.299447 86.168735) - (xy 155.29945 86.168733) - (xy 155.471831 86.044865) - (xy 155.47639 86.041589) - (xy 155.63192 85.881094) - (xy 155.756571 85.695594) - (xy 155.764585 85.677339) - (xy 155.80337 85.588983) - (xy 155.846403 85.490951) - (xy 155.898576 85.273635) - (xy 155.911441 85.050515) - (xy 155.884591 84.828642) - (xy 155.818876 84.615031) - (xy 155.764728 84.51012) - (xy 155.718943 84.421414) - (xy 155.718942 84.421413) - (xy 155.716372 84.416433) - (xy 155.580319 84.239126) - (xy 155.576174 84.235355) - (xy 155.576171 84.235351) - (xy 155.419171 84.092492) - (xy 155.415018 84.088713) - (xy 155.282487 84.005576) - (xy 155.23045 83.972933) - (xy 155.230446 83.972931) - (xy 155.225694 83.96995) - (xy 155.14509 83.937547) - (xy 155.089348 83.893583) - (xy 155.066223 83.826458) - (xy 155.08306 83.757487) - (xy 155.137844 83.706917) - (xy 155.289827 83.634424) - (xy 155.289837 83.634418) - (xy 155.294896 83.632005) - (xy 155.299447 83.628735) - (xy 155.29945 83.628733) - (xy 155.471831 83.504865) - (xy 155.47639 83.501589) - (xy 155.63192 83.341094) - (xy 155.738341 83.182723) - (xy 155.792936 83.137339) - (xy 155.842922 83.127) - (xy 158.246722 83.127) - (xy 158.263169 83.128078) - (xy 158.2928 83.131979) - (xy 158.300988 83.130901) - (xy 158.33062 83.127) - (xy 158.435239 83.113227) - (xy 158.443427 83.112149) - (xy 158.583789 83.054009) - (xy 158.644055 83.007765) - (xy 158.697768 82.96655) - (xy 158.697771 82.966547) - (xy 158.704321 82.961521) - (xy 158.796809 82.84099) - (xy 158.811391 82.805786) - (xy 158.851789 82.708257) - (xy 158.85179 82.708254) - (xy 158.854949 82.700627) - (xy 158.874779 82.55) - (xy 158.870878 82.520368) - (xy 158.8698 82.503922) - (xy 158.8698 81.983) - (xy 158.889802 81.914879) - (xy 158.943458 81.868386) - (xy 158.9958 81.857) - (xy 160.318883 81.857) - (xy 160.387004 81.877002) - (xy 160.433497 81.930658) - (xy 160.443601 82.000932) - (xy 160.434257 82.033642) - (xy 160.383597 82.149049) - (xy 160.331424 82.366365) - (xy 160.331101 82.37197) - (xy 160.320364 82.558188) - (xy 160.318559 82.589485) - (xy 160.345409 82.811358) - (xy 160.411124 83.024969) - (xy 160.413694 83.029949) - (xy 160.413696 83.029953) - (xy 160.48095 83.160255) - (xy 160.513628 83.223567) - (xy 160.649681 83.400874) - (xy 160.653826 83.404645) - (xy 160.653829 83.404649) - (xy 160.755934 83.497557) - (xy 160.814982 83.551287) - (xy 160.819738 83.55427) - (xy 160.81974 83.554272) - (xy 160.99955 83.667067) - (xy 160.999554 83.667069) - (xy 161.004306 83.67005) - (xy 161.08491 83.702453) - (xy 161.140652 83.746417) - (xy 161.163777 83.813542) - (xy 161.14694 83.882513) - (xy 161.092156 83.933083) - (xy 160.940173 84.005576) - (xy 160.940163 84.005582) - (xy 160.935104 84.007995) - (xy 160.930553 84.011265) - (xy 160.93055 84.011267) - (xy 160.822772 84.088713) - (xy 160.75361 84.138411) - (xy 160.59808 84.298906) - (xy 160.473429 84.484406) - (xy 160.47117 84.489552) - (xy 160.471169 84.489554) - (xy 160.452888 84.5312) - (xy 160.383597 84.689049) - (xy 160.331424 84.906365) - (xy 160.318559 85.129485) - (xy 160.345409 85.351358) - (xy 160.411124 85.564969) - (xy 160.413694 85.569949) - (xy 160.413696 85.569953) - (xy 160.48095 85.700255) - (xy 160.513628 85.763567) - (xy 160.649681 85.940874) - (xy 160.653826 85.944645) - (xy 160.653829 85.944649) - (xy 160.755934 86.037557) - (xy 160.814982 86.091287) - (xy 160.819738 86.09427) - (xy 160.81974 86.094272) - (xy 160.99955 86.207067) - (xy 160.999554 86.207069) - (xy 161.004306 86.21005) - (xy 161.08491 86.242453) - (xy 161.140652 86.286417) - (xy 161.163777 86.353542) - (xy 161.14694 86.422513) - (xy 161.092156 86.473083) - (xy 160.940173 86.545576) - (xy 160.940163 86.545582) - (xy 160.935104 86.547995) - (xy 160.930553 86.551265) - (xy 160.93055 86.551267) - (xy 160.822772 86.628713) - (xy 160.75361 86.678411) - (xy 160.59808 86.838906) - (xy 160.473429 87.024406) - (xy 160.383597 87.229049) - (xy 160.331424 87.446365) - (xy 160.318559 87.669485) - (xy 160.345409 87.891358) - (xy 160.411124 88.104969) - (xy 160.413694 88.109949) - (xy 160.413696 88.109953) - (xy 160.48095 88.240255) - (xy 160.513628 88.303567) - (xy 160.649681 88.480874) - (xy 160.653826 88.484645) - (xy 160.653829 88.484649) - (xy 160.755934 88.577557) - (xy 160.814982 88.631287) - (xy 160.819738 88.63427) - (xy 160.81974 88.634272) - (xy 160.99955 88.747067) - (xy 160.999554 88.747069) - (xy 161.004306 88.75005) - (xy 161.014479 88.754139) - (xy 161.070222 88.798104) - (xy 161.093348 88.865229) - (xy 161.076512 88.934201) - (xy 161.020732 88.985241) + (xy 155.876827 90.436522) + (xy 155.878778 90.427973) + (xy 155.897932 90.344055) + (xy 155.897933 90.34405) + (xy 155.899191 90.338537) + (xy 155.90929 90.11367) + (xy 155.879075 89.890613) + (xy 155.809517 89.676536) + (xy 155.702852 89.478319) + (xy 155.69933 89.473903) + (xy 155.699327 89.473898) + (xy 155.584996 89.330533) + (xy 155.562508 89.302334) + (xy 155.558255 89.298619) + (xy 155.558251 89.298614) + (xy 155.397255 89.157956) + (xy 155.392996 89.154235) + (xy 155.199764 89.038785) + (xy 155.194467 89.036797) + (xy 155.194465 89.036796) + (xy 155.14528 89.018336) + (xy 155.088532 88.975674) + (xy 155.063857 88.909103) + (xy 155.07909 88.83976) + (xy 155.134885 88.786849) + (xy 155.145652 88.781664) + (xy 155.298973 88.707829) + (xy 155.481078 88.575522) + (xy 155.636632 88.412825) + (xy 155.693877 88.326102) + (xy 155.757515 88.229695) + (xy 155.757516 88.229693) + (xy 155.760635 88.224968) + (xy 155.849103 88.017988) + (xy 155.899191 87.798537) + (xy 155.90929 87.57367) + (xy 155.879075 87.350613) + (xy 155.809517 87.136536) + (xy 155.702852 86.938319) + (xy 155.69933 86.933903) + (xy 155.699327 86.933898) + (xy 155.626906 86.843086) + (xy 155.562508 86.762334) + (xy 155.558255 86.758619) + (xy 155.558251 86.758614) + (xy 155.397255 86.617956) + (xy 155.392996 86.614235) + (xy 155.199764 86.498785) + (xy 155.194467 86.496797) + (xy 155.194465 86.496796) + (xy 155.14528 86.478336) + (xy 155.088532 86.435674) + (xy 155.063857 86.369103) + (xy 155.07909 86.29976) + (xy 155.134885 86.246849) + (xy 155.145652 86.241664) + (xy 155.298973 86.167829) + (xy 155.481078 86.035522) + (xy 155.636632 85.872825) + (xy 155.693877 85.786102) + (xy 155.757515 85.689695) + (xy 155.757516 85.689693) + (xy 155.760635 85.684968) + (xy 155.768957 85.665499) + (xy 155.846877 85.483196) + (xy 155.849103 85.477988) + (xy 155.899191 85.258537) + (xy 155.90929 85.03367) + (xy 155.879075 84.810613) + (xy 155.809517 84.596536) + (xy 155.702852 84.398319) + (xy 155.699328 84.3939) + (xy 155.699327 84.393898) + (xy 155.618719 84.29282) + (xy 155.562508 84.222334) + (xy 155.558255 84.218619) + (xy 155.558251 84.218614) + (xy 155.397255 84.077956) + (xy 155.392996 84.074235) + (xy 155.199764 83.958785) + (xy 155.194467 83.956797) + (xy 155.194465 83.956796) + (xy 155.14528 83.938336) + (xy 155.088532 83.895674) + (xy 155.063857 83.829103) + (xy 155.07909 83.75976) + (xy 155.134885 83.706849) + (xy 155.145652 83.701664) + (xy 155.298973 83.627829) + (xy 155.481078 83.495522) + (xy 155.636632 83.332825) + (xy 155.736133 83.182087) + (xy 155.790353 83.136254) + (xy 155.841289 83.1255) + (xy 158.246821 83.1255) + (xy 158.263267 83.126578) + (xy 158.284611 83.129388) + (xy 158.284612 83.129388) + (xy 158.2928 83.130466) + (xy 158.300988 83.129388) + (xy 158.33052 83.1255) + (xy 158.443036 83.110687) + (xy 158.583033 83.052698) + (xy 158.703251 82.960451) + (xy 158.795498 82.840233) + (xy 158.853487 82.700236) + (xy 158.873266 82.55) + (xy 158.869378 82.520467) + (xy 158.8683 82.504021) + (xy 158.8683 81.9815) + (xy 158.888302 81.913379) + (xy 158.941958 81.866886) + (xy 158.9943 81.8555) + (xy 160.321026 81.8555) + (xy 160.389147 81.875502) + (xy 160.43564 81.929158) + (xy 160.445744 81.999432) + (xy 160.436888 82.031016) + (xy 160.380897 82.162012) + (xy 160.330809 82.381463) + (xy 160.32071 82.60633) + (xy 160.350925 82.829387) + (xy 160.420483 83.043464) + (xy 160.527148 83.241681) + (xy 160.53067 83.246097) + (xy 160.530673 83.246102) + (xy 160.596068 83.328103) + (xy 160.667492 83.417666) + (xy 160.671745 83.421381) + (xy 160.671749 83.421386) + (xy 160.832101 83.561481) + (xy 160.837004 83.565765) + (xy 161.030236 83.681215) + (xy 161.035533 83.683203) + (xy 161.035535 83.683204) + (xy 161.08472 83.701664) + (xy 161.141468 83.744326) + (xy 161.166143 83.810897) + (xy 161.15091 83.88024) + (xy 161.095115 83.933151) + (xy 160.931027 84.012171) + (xy 160.748922 84.144478) + (xy 160.745013 84.148567) + (xy 160.607093 84.29282) + (xy 160.593368 84.307175) + (xy 160.590251 84.311897) + (xy 160.529913 84.403306) + (xy 160.469365 84.495032) + (xy 160.380897 84.702012) + (xy 160.379638 84.70753) + (xy 160.33309 84.911471) + (xy 160.330809 84.921463) + (xy 160.32071 85.14633) + (xy 160.350925 85.369387) + (xy 160.420483 85.583464) + (xy 160.527148 85.781681) + (xy 160.53067 85.786097) + (xy 160.530673 85.786102) + (xy 160.596068 85.868103) + (xy 160.667492 85.957666) + (xy 160.671745 85.961381) + (xy 160.671749 85.961386) + (xy 160.832101 86.101481) + (xy 160.837004 86.105765) + (xy 161.030236 86.221215) + (xy 161.035533 86.223203) + (xy 161.035535 86.223204) + (xy 161.08472 86.241664) + (xy 161.141468 86.284326) + (xy 161.166143 86.350897) + (xy 161.15091 86.42024) + (xy 161.095115 86.473151) + (xy 160.931027 86.552171) + (xy 160.748922 86.684478) + (xy 160.593368 86.847175) + (xy 160.590251 86.851897) + (xy 160.533205 86.938319) + (xy 160.469365 87.035032) + (xy 160.380897 87.242012) + (xy 160.330809 87.461463) + (xy 160.32071 87.68633) + (xy 160.350925 87.909387) + (xy 160.420483 88.123464) + (xy 160.527148 88.321681) + (xy 160.53067 88.326097) + (xy 160.530673 88.326102) + (xy 160.596068 88.408103) + (xy 160.667492 88.497666) + (xy 160.671745 88.501381) + (xy 160.671749 88.501386) + (xy 160.832101 88.641481) + (xy 160.837004 88.645765) + (xy 160.84186 88.648666) + (xy 160.841861 88.648667) + (xy 161.030236 88.761215) + (xy 161.029266 88.762839) + (xy 161.075661 88.804737) + (xy 161.094263 88.873253) + (xy 161.072868 88.94095) + (xy 161.021539 88.984865) (xy 160.923489 89.030586) (xy 160.913993 89.036069) (xy 160.735533 89.161028) @@ -718,432 +711,418 @@ (xy 163.114467 89.161028) (xy 162.936007 89.036069) (xy 162.926511 89.030586) - (xy 162.82503 88.983265) - (xy 162.771745 88.936348) - (xy 162.752284 88.86807) - (xy 162.772826 88.80011) - (xy 162.824035 88.755345) - (xy 162.909827 88.714424) - (xy 162.909837 88.714418) - (xy 162.914896 88.712005) - (xy 162.919447 88.708735) - (xy 162.91945 88.708733) - (xy 163.091831 88.584865) - (xy 163.09639 88.581589) - (xy 163.25192 88.421094) - (xy 163.376571 88.235594) - (xy 163.466403 88.030951) - (xy 163.518576 87.813635) - (xy 163.531441 87.590515) - (xy 163.504591 87.368642) - (xy 163.438876 87.155031) - (xy 163.371456 87.024406) - (xy 163.338943 86.961414) - (xy 163.338942 86.961413) - (xy 163.336372 86.956433) - (xy 163.200319 86.779126) - (xy 163.196174 86.775355) - (xy 163.196171 86.775351) - (xy 163.039171 86.632492) - (xy 163.035018 86.628713) - (xy 162.902487 86.545576) - (xy 162.85045 86.512933) - (xy 162.850446 86.512931) - (xy 162.845694 86.50995) - (xy 162.76509 86.477547) - (xy 162.709348 86.433583) - (xy 162.686223 86.366458) - (xy 162.70306 86.297487) - (xy 162.757844 86.246917) - (xy 162.909827 86.174424) - (xy 162.909837 86.174418) - (xy 162.914896 86.172005) - (xy 162.919447 86.168735) - (xy 162.91945 86.168733) - (xy 163.091831 86.044865) - (xy 163.09639 86.041589) - (xy 163.25192 85.881094) - (xy 163.358341 85.722723) - (xy 163.412936 85.677339) - (xy 163.462922 85.667) - (xy 167.695523 85.667) - (xy 167.71197 85.668078) - (xy 167.7416 85.671979) - (xy 167.779418 85.667) - (xy 167.779423 85.667) - (xy 167.884039 85.653227) - (xy 167.892227 85.652149) - (xy 167.97445 85.618091) - (xy 168.03259 85.594009) - (xy 168.122858 85.524743) - (xy 168.122859 85.524742) - (xy 168.153121 85.501521) - (xy 168.171318 85.477806) - (xy 168.18218 85.465421) - (xy 168.675826 84.971776) - (xy 168.68821 84.960915) - (xy 168.711921 84.942721) - (xy 168.716949 84.936169) - (xy 168.735129 84.912477) - (xy 168.735144 84.912458) - (xy 168.744007 84.900908) - (xy 168.804409 84.82219) - (xy 168.862549 84.681828) - (xy 168.882379 84.5312) - (xy 168.878478 84.501567) - (xy 168.8774 84.485122) - (xy 168.8774 81.986478) - (xy 168.878478 81.970032) - (xy 168.881301 81.948588) - (xy 168.882379 81.9404) - (xy 168.862549 81.789772) - (xy 168.804409 81.64941) - (xy 168.735144 81.559142) - (xy 168.735129 81.559123) - (xy 168.716951 81.535434) - (xy 168.71695 81.535433) - (xy 168.711921 81.528879) - (xy 168.688212 81.510686) - (xy 168.675822 81.49982) - (xy 168.08058 80.904579) - (xy 168.069718 80.892194) - (xy 168.051521 80.868479) - (xy 167.963704 80.801094) - (xy 167.93099 80.775991) - (xy 167.87285 80.751909) - (xy 167.790627 80.717851) - (xy 167.733878 80.71038) - (xy 167.677823 80.703) - (xy 167.677818 80.703) - (xy 167.64 80.698021) - (xy 167.631812 80.699099) - (xy 167.610368 80.701922) - (xy 167.593922 80.703) - (xy 163.531117 80.703) - (xy 163.462996 80.682998) - (xy 163.416503 80.629342) - (xy 163.406399 80.559068) - (xy 163.415743 80.526358) - (xy 163.466403 80.410951) - (xy 163.518576 80.193635) - (xy 163.531441 79.970515) - (xy 163.504591 79.748642) - (xy 163.438876 79.535031) - (xy 163.371456 79.404406) - (xy 163.338943 79.341414) - (xy 163.338942 79.341413) - (xy 163.336372 79.336433) - (xy 163.200319 79.159126) - (xy 163.196174 79.155355) - (xy 163.196171 79.155351) - (xy 163.039171 79.012492) - (xy 163.035018 79.008713) - (xy 162.915705 78.933868) - (xy 162.868627 78.880725) - (xy 162.857755 78.810566) - (xy 162.886539 78.745666) - (xy 162.930909 78.71225) - (xy 162.959307 78.699458) - (xy 163.156675 78.566582) - (xy 163.328832 78.402352) - (xy 163.470858 78.211463) - (xy 163.513296 78.127995) - (xy 163.576272 78.004129) - (xy 163.576272 78.004128) - (xy 163.57869 77.999373) - (xy 163.649245 77.772147) - (xy 163.658507 77.702268) - (xy 163.679807 77.541566) - (xy 163.679807 77.541562) - (xy 163.680507 77.536282) - (xy 163.671581 77.298521) - (xy 163.64046 77.150201) - (xy 163.623819 77.070891) - (xy 163.623818 77.070888) - (xy 163.622722 77.065664) - (xy 163.575355 76.945722) - (xy 163.537291 76.849338) - (xy 163.53729 76.849336) - (xy 163.535328 76.844368) - (xy 163.521452 76.821501) - (xy 163.414666 76.645521) - (xy 163.414664 76.645518) - (xy 163.411898 76.64096) - (xy 163.40621 76.634405) - (xy 163.259459 76.46529) - (xy 163.259457 76.465288) - (xy 163.255959 76.461257) - (xy 163.251833 76.457874) - (xy 163.251829 76.45787) - (xy 163.076101 76.313782) - (xy 163.076095 76.313778) - (xy 163.071973 76.310398) - (xy 163.066044 76.307023) - (xy 163.065607 76.306571) - (xy 163.062938 76.304736) - (xy 163.063312 76.304192) - (xy 163.01674 76.255938) - (xy 163.002882 76.186307) - (xy 163.02887 76.120237) - (xy 163.058015 76.093004) - (xy 163.118708 76.052143) - (xy 163.156675 76.026582) - (xy 163.328832 75.862352) - (xy 163.470858 75.671463) - (xy 163.527428 75.560199) - (xy 163.576272 75.464129) - (xy 163.576272 75.464128) - (xy 163.57869 75.459373) - (xy 163.649245 75.232147) - (xy 163.65539 75.185786) - (xy 163.679807 75.001566) - (xy 163.679807 75.001562) - (xy 163.680507 74.996282) - (xy 163.679291 74.963878) - (xy 163.671781 74.763852) - (xy 163.671581 74.758521) - (xy 163.622722 74.525664) - (xy 163.552993 74.349099) - (xy 163.537291 74.309338) - (xy 163.53729 74.309336) - (xy 163.535328 74.304368) - (xy 163.532557 74.299801) - (xy 163.414666 74.105521) - (xy 163.414664 74.105518) - (xy 163.411898 74.10096) - (xy 163.396814 74.083577) - (xy 163.259459 73.92529) - (xy 163.259457 73.925288) - (xy 163.255959 73.921257) - (xy 163.251833 73.917874) - (xy 163.251829 73.91787) - (xy 163.0761 73.773782) - (xy 163.076101 73.773782) - (xy 163.071973 73.770398) - (xy 162.945398 73.698347) - (xy 162.869838 73.655335) - (xy 162.869836 73.655334) - (xy 162.865198 73.652694) - (xy 162.641548 73.571513) - (xy 162.407417 73.529176) - (xy 162.403276 73.528981) - (xy 162.40327 73.52898) - (xy 162.383969 73.52807) - (xy 162.383962 73.52807) - (xy 162.382481 73.528) - (xy 161.51526 73.528) - (xy 161.337924 73.543047) - (xy 161.33276 73.544387) - (xy 161.332756 73.544388) - (xy 161.144421 73.593271) - (xy 161.107626 73.602821) - (xy 160.890693 73.700542) - (xy 160.693325 73.833418) - (xy 160.521168 73.997648) - (xy 160.379142 74.188537) - (xy 160.376726 74.193288) - (xy 160.376724 74.193292) - (xy 160.273728 74.395871) - (xy 160.27131 74.400627) - (xy 160.200755 74.627853) - (xy 160.200054 74.63314) - (xy 160.200054 74.633141) - (xy 160.184128 74.753303) - (xy 160.169493 74.863718) - (xy 160.178419 75.101479) - (xy 160.227278 75.334336) - (xy 160.229241 75.339306) - (xy 160.306759 75.535594) - (xy 160.314672 75.555632) - (xy 160.317442 75.560196) - (xy 160.317443 75.560199) - (xy 160.387558 75.675745) - (xy 160.438102 75.75904) - (xy 160.441597 75.763068) - (xy 160.441598 75.763069) - (xy 160.584292 75.927508) - (xy 160.594041 75.938743) - (xy 160.598167 75.942126) - (xy 160.598171 75.94213) - (xy 160.773899 76.086218) - (xy 160.773905 76.086222) - (xy 160.778027 76.089602) - (xy 160.782665 76.092242) - (xy 160.783956 76.092977) - (xy 160.784393 76.093429) - (xy 160.787062 76.095264) - (xy 160.786688 76.095808) - (xy 160.83326 76.144062) - (xy 160.847118 76.213693) - (xy 160.82113 76.279763) - (xy 160.791985 76.306996) - (xy 160.76681 76.323945) - (xy 160.693325 76.373418) - (xy 160.521168 76.537648) - (xy 160.379142 76.728537) - (xy 160.376726 76.733288) - (xy 160.376724 76.733292) - (xy 160.290434 76.903012) - (xy 160.27131 76.940627) - (xy 160.200755 77.167853) - (xy 160.200054 77.17314) - (xy 160.200054 77.173141) - (xy 160.184128 77.293303) - (xy 160.169493 77.403718) - (xy 160.178419 77.641479) - (xy 160.227278 77.874336) - (xy 160.314672 78.095632) - (xy 160.317442 78.100196) - (xy 160.317443 78.100199) - (xy 160.387558 78.215745) - (xy 160.438102 78.29904) - (xy 160.441597 78.303068) - (xy 160.441598 78.303069) - (xy 160.587495 78.471199) - (xy 160.594041 78.478743) - (xy 160.598167 78.482126) - (xy 160.598171 78.48213) - (xy 160.744208 78.601872) - (xy 160.778027 78.629602) - (xy 160.782657 78.632238) - (xy 160.782662 78.632241) - (xy 160.926948 78.714374) - (xy 160.976254 78.765457) - (xy 160.990115 78.835087) - (xy 160.964131 78.901158) - (xy 160.934549 78.927223) - (xy 160.935104 78.927995) - (xy 160.826927 79.005728) - (xy 160.75361 79.058411) - (xy 160.59808 79.218906) - (xy 160.473429 79.404406) - (xy 160.383597 79.609049) - (xy 160.331424 79.826365) - (xy 160.318559 80.049485) - (xy 160.345409 80.271358) - (xy 160.411124 80.484969) - (xy 160.413694 80.489949) - (xy 160.413696 80.489953) - (xy 160.428797 80.51921) - (xy 160.442266 80.588918) - (xy 160.415911 80.654841) - (xy 160.358098 80.696051) - (xy 160.316831 80.703) - (xy 158.9958 80.703) - (xy 158.927679 80.682998) - (xy 158.881186 80.629342) - (xy 158.8698 80.577) - (xy 158.8698 76.957278) - (xy 158.870878 76.940832) - (xy 158.873701 76.919388) - (xy 158.874779 76.9112) - (xy 158.854949 76.760572) - (xy 158.839906 76.724255) - (xy 158.799969 76.627838) - (xy 158.799968 76.627836) - (xy 158.796809 76.62021) - (xy 158.727543 76.529942) - (xy 158.727542 76.529941) - (xy 158.704321 76.499679) - (xy 158.680604 76.48148) - (xy 158.668214 76.470613) - (xy 156.752183 74.554582) - (xy 156.741316 74.542191) - (xy 156.72815 74.525032) - (xy 156.728147 74.525029) - (xy 156.723121 74.518479) - (xy 156.692858 74.495257) - (xy 156.60259 74.425991) - (xy 156.541355 74.400627) - (xy 156.462227 74.367851) - (xy 156.454039 74.366773) - (xy 156.349423 74.353) - (xy 156.349418 74.353) - (xy 156.3116 74.348021) - (xy 156.303412 74.349099) - (xy 156.281968 74.351922) - (xy 156.265522 74.353) - (xy 155.842974 74.353) - (xy 155.774853 74.332998) - (xy 155.731008 74.284789) - (xy 155.718945 74.261418) - (xy 155.716372 74.256433) - (xy 155.580319 74.079126) - (xy 155.576174 74.075355) - (xy 155.576171 74.075351) - (xy 155.419171 73.932492) - (xy 155.415018 73.928713) - (xy 155.41026 73.925728) - (xy 155.23045 73.812933) - (xy 155.230446 73.812931) - (xy 155.225694 73.80995) - (xy 155.018331 73.726591) - (xy 154.799483 73.68127) - (xy 154.79487 73.681004) - (xy 154.744595 73.678105) - (xy 154.744591 73.678105) - (xy 154.742772 73.678) - (xy 153.898292 73.678) - (xy 153.895505 73.678249) - (xy 153.895499 73.678249) - (xy 153.82603 73.684449) - (xy 153.732394 73.692806) - (xy 153.61306 73.725452) - (xy 153.52224 73.750297) - (xy 153.522236 73.750298) - (xy 153.516824 73.751779) - (xy 153.315104 73.847995) - (xy 153.310553 73.851265) - (xy 153.31055 73.851267) - (xy 153.202772 73.928713) - (xy 153.13361 73.978411) - (xy 152.97808 74.138906) - (xy 152.853429 74.324406) - (xy 152.85117 74.329552) - (xy 152.851169 74.329554) - (xy 152.84135 74.351922) - (xy 152.763597 74.529049) - (xy 152.711424 74.746365) - (xy 152.698559 74.969485) - (xy 152.725409 75.191358) - (xy 152.791124 75.404969) - (xy 152.793694 75.409949) - (xy 152.793696 75.409953) - (xy 152.862834 75.543905) - (xy 152.893628 75.603567) - (xy 153.029681 75.780874) - (xy 153.033826 75.784645) - (xy 153.033829 75.784649) - (xy 153.123267 75.866031) - (xy 153.194982 75.931287) - (xy 153.199738 75.93427) - (xy 153.19974 75.934272) - (xy 153.37955 76.047067) - (xy 153.379554 76.047069) - (xy 153.384306 76.05005) - (xy 153.402102 76.057204) - (xy 153.457847 76.101169) - (xy 153.480973 76.168293) - (xy 153.464137 76.237265) - (xy 153.408357 76.288306) - (xy 153.306501 76.335802) - (xy 153.306496 76.335805) - (xy 153.301514 76.338128) - (xy 153.255371 76.370438) - (xy 153.119405 76.465642) - (xy 153.119402 76.465644) - (xy 153.114894 76.468801) - (xy 152.953801 76.629894) - (xy 152.950644 76.634403) - (xy 152.950642 76.634405) - (xy 152.896472 76.711768) - (xy 152.823128 76.816513) - (xy 152.820805 76.821495) - (xy 152.820802 76.8215) - (xy 152.765253 76.940627) - (xy 152.726847 77.022989) - (xy 152.667883 77.243047) - (xy 152.648027 77.47) + (xy 162.823136 88.982382) + (xy 162.769851 88.935465) + (xy 162.75039 88.867187) + (xy 162.770932 88.799228) + (xy 162.821717 88.754665) + (xy 162.861857 88.735334) + (xy 162.918973 88.707829) + (xy 163.101078 88.575522) + (xy 163.256632 88.412825) + (xy 163.313877 88.326102) + (xy 163.377515 88.229695) + (xy 163.377516 88.229693) + (xy 163.380635 88.224968) + (xy 163.469103 88.017988) + (xy 163.519191 87.798537) + (xy 163.52929 87.57367) + (xy 163.499075 87.350613) + (xy 163.429517 87.136536) + (xy 163.322852 86.938319) + (xy 163.31933 86.933903) + (xy 163.319327 86.933898) + (xy 163.246906 86.843086) + (xy 163.182508 86.762334) + (xy 163.178255 86.758619) + (xy 163.178251 86.758614) + (xy 163.017255 86.617956) + (xy 163.012996 86.614235) + (xy 162.819764 86.498785) + (xy 162.814467 86.496797) + (xy 162.814465 86.496796) + (xy 162.76528 86.478336) + (xy 162.708532 86.435674) + (xy 162.683857 86.369103) + (xy 162.69909 86.29976) + (xy 162.754885 86.246849) + (xy 162.765652 86.241664) + (xy 162.918973 86.167829) + (xy 163.101078 86.035522) + (xy 163.256632 85.872825) + (xy 163.356133 85.722087) + (xy 163.410353 85.676254) + (xy 163.461289 85.6655) + (xy 167.695628 85.6655) + (xy 167.712074 85.666578) + (xy 167.733411 85.669387) + (xy 167.733412 85.669387) + (xy 167.7416 85.670465) + (xy 167.749788 85.669387) + (xy 167.74979 85.669387) + (xy 167.779309 85.665501) + (xy 167.779319 85.6655) + (xy 167.77932 85.6655) + (xy 167.891836 85.650687) + (xy 168.031833 85.592698) + (xy 168.043867 85.583464) + (xy 168.121868 85.523612) + (xy 168.121871 85.523609) + (xy 168.152051 85.500451) + (xy 168.170183 85.476821) + (xy 168.18105 85.46443) + (xy 168.67483 84.97065) + (xy 168.687221 84.959783) + (xy 168.704301 84.946677) + (xy 168.710851 84.941651) + (xy 168.734009 84.911471) + (xy 168.734012 84.911468) + (xy 168.803099 84.821432) + (xy 168.832093 84.751434) + (xy 168.857927 84.689065) + (xy 168.857928 84.689062) + (xy 168.861087 84.681435) + (xy 168.880866 84.5312) + (xy 168.879788 84.523011) + (xy 168.876978 84.501667) + (xy 168.8759 84.485221) + (xy 168.8759 81.986379) + (xy 168.876978 81.969933) + (xy 168.879788 81.948589) + (xy 168.879788 81.948588) + (xy 168.880866 81.9404) + (xy 168.861087 81.790165) + (xy 168.851565 81.767175) + (xy 168.837067 81.732176) + (xy 168.837068 81.732176) + (xy 168.837065 81.732172) + (xy 168.80626 81.657799) + (xy 168.806259 81.657798) + (xy 168.803099 81.650168) + (xy 168.734012 81.560132) + (xy 168.734009 81.560129) + (xy 168.710851 81.529949) + (xy 168.687221 81.511817) + (xy 168.67483 81.50095) + (xy 168.07945 80.90557) + (xy 168.068583 80.893179) + (xy 168.055477 80.876099) + (xy 168.050451 80.869549) + (xy 168.020271 80.846391) + (xy 168.020268 80.846388) + (xy 167.930233 80.777302) + (xy 167.790236 80.719313) + (xy 167.782048 80.718235) + (xy 167.677728 80.704501) + (xy 167.677726 80.704501) + (xy 167.67772 80.7045) + (xy 167.677718 80.7045) + (xy 167.677709 80.704499) + (xy 167.64819 80.700613) + (xy 167.648188 80.700613) + (xy 167.64 80.699535) + (xy 167.631812 80.700613) + (xy 167.631811 80.700613) + (xy 167.610474 80.703422) + (xy 167.594028 80.7045) + (xy 163.528974 80.7045) + (xy 163.460853 80.684498) + (xy 163.41436 80.630842) + (xy 163.404256 80.560568) + (xy 163.413112 80.528984) + (xy 163.469103 80.397988) + (xy 163.519191 80.178537) + (xy 163.52929 79.95367) + (xy 163.499075 79.730613) + (xy 163.429517 79.516536) + (xy 163.322852 79.318319) + (xy 163.31933 79.313903) + (xy 163.319327 79.313898) + (xy 163.246906 79.223086) + (xy 163.182508 79.142334) + (xy 163.178255 79.138619) + (xy 163.178251 79.138614) + (xy 163.017255 78.997956) + (xy 163.012996 78.994235) + (xy 162.914219 78.935219) + (xy 162.866 78.883109) + (xy 162.853608 78.813202) + (xy 162.880977 78.747693) + (xy 162.926944 78.712239) + (xy 162.955615 78.699279) + (xy 162.955616 78.699278) + (xy 162.960486 78.697077) + (xy 163.107944 78.597413) + (xy 163.153568 78.566577) + (xy 163.153572 78.566574) + (xy 163.158003 78.563579) + (xy 163.240247 78.484755) + (xy 163.326255 78.402324) + (xy 163.326259 78.40232) + (xy 163.330118 78.398621) + (xy 163.471879 78.206947) + (xy 163.579207 77.994074) + (xy 163.612135 77.886551) + (xy 163.64745 77.771238) + (xy 163.647451 77.771233) + (xy 163.649016 77.766123) + (xy 163.679298 77.529654) + (xy 163.66918 77.291468) + (xy 163.618954 77.058419) + (xy 163.530064 76.83721) + (xy 163.405069 76.634205) + (xy 163.247564 76.455245) + (xy 163.243397 76.45188) + (xy 163.066243 76.308838) + (xy 163.06624 76.308836) + (xy 163.06208 76.305477) + (xy 163.05741 76.302868) + (xy 163.055547 76.301609) + (xy 163.01031 76.246891) + (xy 163.001836 76.176402) + (xy 163.032818 76.112522) + (xy 163.055549 76.092826) + (xy 163.153563 76.026581) + (xy 163.153571 76.026574) + (xy 163.158003 76.023579) + (xy 163.171873 76.010286) + (xy 163.326255 75.862324) + (xy 163.326259 75.86232) + (xy 163.330118 75.858621) + (xy 163.471879 75.666947) + (xy 163.497214 75.616699) + (xy 163.576798 75.458852) + (xy 163.579207 75.454074) + (xy 163.612135 75.346551) + (xy 163.64745 75.231238) + (xy 163.647451 75.231233) + (xy 163.649016 75.226123) + (xy 163.650471 75.214765) + (xy 163.678618 74.994962) + (xy 163.679298 74.989654) + (xy 163.66918 74.751468) + (xy 163.618954 74.518419) + (xy 163.530064 74.29721) + (xy 163.405069 74.094205) + (xy 163.247564 73.915245) + (xy 163.24272 73.911333) + (xy 163.066245 73.76884) + (xy 163.06208 73.765477) + (xy 163.039746 73.753) + (xy 162.858621 73.651817) + (xy 162.858619 73.651816) + (xy 162.853954 73.64921) + (xy 162.848917 73.64743) + (xy 162.848914 73.647429) + (xy 162.634216 73.571571) + (xy 162.63421 73.57157) + (xy 162.629171 73.569789) + (xy 162.533263 73.553344) + (xy 162.399469 73.530403) + (xy 162.399464 73.530403) + (xy 162.3942 73.5295) + (xy 161.515503 73.5295) + (xy 161.512848 73.529726) + (xy 161.512847 73.529726) + (xy 161.34279 73.5442) + (xy 161.342787 73.544201) + (xy 161.337459 73.544654) + (xy 161.244398 73.568885) + (xy 161.111931 73.603376) + (xy 161.111928 73.603377) + (xy 161.106751 73.604725) + (xy 161.101879 73.606927) + (xy 161.101877 73.606928) + (xy 160.904544 73.696129) + (xy 160.889514 73.702923) + (xy 160.885083 73.705918) + (xy 160.696432 73.833423) + (xy 160.696428 73.833426) + (xy 160.691997 73.836421) + (xy 160.688135 73.840122) + (xy 160.688133 73.840124) + (xy 160.523745 73.997676) + (xy 160.523741 73.99768) + (xy 160.519882 74.001379) + (xy 160.378121 74.193053) + (xy 160.270793 74.405926) + (xy 160.243085 74.496403) + (xy 160.233991 74.526099) + (xy 160.200984 74.633877) + (xy 160.170702 74.870346) + (xy 160.18082 75.108532) + (xy 160.231046 75.341581) + (xy 160.319936 75.56279) + (xy 160.444931 75.765795) + (xy 160.602436 75.944755) + (xy 160.6066 75.948118) + (xy 160.606603 75.94812) + (xy 160.74684 76.061353) + (xy 160.78792 76.094523) + (xy 160.79259 76.097132) + (xy 160.794453 76.098391) + (xy 160.83969 76.153109) + (xy 160.848164 76.223598) + (xy 160.817182 76.287478) + (xy 160.794451 76.307174) + (xy 160.696437 76.373419) + (xy 160.696429 76.373426) + (xy 160.691997 76.376421) + (xy 160.688135 76.380122) + (xy 160.688133 76.380124) + (xy 160.523745 76.537676) + (xy 160.523741 76.53768) + (xy 160.519882 76.541379) + (xy 160.378121 76.733053) + (xy 160.375714 76.737828) + (xy 160.375711 76.737832) + (xy 160.337933 76.812761) + (xy 160.270793 76.945926) + (xy 160.248561 77.018522) + (xy 160.208425 77.14958) + (xy 160.200984 77.173877) + (xy 160.170702 77.410346) + (xy 160.18082 77.648532) + (xy 160.231046 77.881581) + (xy 160.319936 78.10279) + (xy 160.444931 78.305795) + (xy 160.602436 78.484755) + (xy 160.6066 78.488118) + (xy 160.606603 78.48812) + (xy 160.783755 78.63116) + (xy 160.78792 78.634523) + (xy 160.792589 78.637131) + (xy 160.79259 78.637132) + (xy 160.929498 78.713614) + (xy 160.979213 78.764299) + (xy 160.993634 78.833815) + (xy 160.968183 78.900093) + (xy 160.933646 78.93091) + (xy 160.931027 78.932171) + (xy 160.926453 78.935494) + (xy 160.92645 78.935496) + (xy 160.926446 78.935499) + (xy 160.748922 79.064478) + (xy 160.593368 79.227175) + (xy 160.590251 79.231897) + (xy 160.533205 79.318319) + (xy 160.469365 79.415032) + (xy 160.380897 79.622012) + (xy 160.330809 79.841463) + (xy 160.32071 80.06633) + (xy 160.350925 80.289387) + (xy 160.420483 80.503464) + (xy 160.428732 80.518794) + (xy 160.443399 80.588257) + (xy 160.418182 80.654624) + (xy 160.361087 80.696823) + (xy 160.317777 80.7045) + (xy 158.9943 80.7045) + (xy 158.926179 80.684498) + (xy 158.879686 80.630842) + (xy 158.8683 80.5785) + (xy 158.8683 76.957171) + (xy 158.869378 76.940725) + (xy 158.872187 76.919388) + (xy 158.873265 76.9112) + (xy 158.8683 76.873486) + (xy 158.8683 76.87348) + (xy 158.853487 76.760964) + (xy 158.836503 76.71996) + (xy 158.79866 76.628598) + (xy 158.798659 76.628597) + (xy 158.795499 76.620967) + (xy 158.726412 76.530932) + (xy 158.726409 76.530929) + (xy 158.703251 76.500749) + (xy 158.679621 76.482617) + (xy 158.66723 76.47175) + (xy 156.75105 74.55557) + (xy 156.740183 74.543179) + (xy 156.727077 74.526099) + (xy 156.722051 74.519549) + (xy 156.691871 74.496391) + (xy 156.691868 74.496388) + (xy 156.601833 74.427302) + (xy 156.550227 74.405926) + (xy 156.461836 74.369313) + (xy 156.34932 74.3545) + (xy 156.349318 74.3545) + (xy 156.349309 74.354499) + (xy 156.31979 74.350613) + (xy 156.319788 74.350613) + (xy 156.3116 74.349535) + (xy 156.303412 74.350613) + (xy 156.303411 74.350613) + (xy 156.282074 74.353422) + (xy 156.265628 74.3545) + (xy 155.840654 74.3545) + (xy 155.772533 74.334498) + (xy 155.7297 74.288208) + (xy 155.705537 74.243306) + (xy 155.70553 74.243295) + (xy 155.702852 74.238319) + (xy 155.562508 74.062334) + (xy 155.558255 74.058619) + (xy 155.558251 74.058614) + (xy 155.397255 73.917956) + (xy 155.392996 73.914235) + (xy 155.199764 73.798785) + (xy 154.989024 73.719693) + (xy 154.983459 73.718683) + (xy 154.983455 73.718682) + (xy 154.773118 73.680511) + (xy 154.767547 73.6795) + (xy 153.898845 73.6795) + (xy 153.730812 73.694623) + (xy 153.725358 73.696128) + (xy 153.725354 73.696129) + (xy 153.51929 73.753) + (xy 153.51383 73.754507) + (xy 153.311027 73.852171) + (xy 153.128922 73.984478) + (xy 152.973368 74.147175) + (xy 152.970251 74.151897) + (xy 152.909913 74.243306) + (xy 152.849365 74.335032) + (xy 152.847139 74.340241) + (xy 152.847138 74.340242) + (xy 152.819063 74.405926) + (xy 152.760897 74.542012) + (xy 152.710809 74.761463) + (xy 152.70071 74.98633) + (xy 152.730925 75.209387) + (xy 152.800483 75.423464) + (xy 152.907148 75.621681) + (xy 152.91067 75.626097) + (xy 152.910673 75.626102) + (xy 152.946678 75.67125) + (xy 153.047492 75.797666) + (xy 153.051745 75.801381) + (xy 153.051749 75.801386) + (xy 153.211248 75.940736) + (xy 153.217004 75.945765) + (xy 153.410236 76.061215) + (xy 153.412463 76.062051) + (xy 153.464385 76.108931) + (xy 153.482993 76.177446) + (xy 153.461604 76.245144) + (xy 153.410269 76.289069) + (xy 153.307247 76.337109) + (xy 153.307244 76.337111) + (xy 153.302266 76.339432) + (xy 153.115861 76.469953) + (xy 152.954953 76.630861) + (xy 152.824432 76.817266) + (xy 152.822111 76.822244) + (xy 152.822109 76.822247) + (xy 152.76205 76.951044) + (xy 152.728261 77.023504) + (xy 152.726839 77.028812) + (xy 152.726838 77.028814) + (xy 152.680495 77.20177) + (xy 152.669365 77.243308) + (xy 152.649532 77.47) (xy 142.9004 77.47) (xy 142.9004 67.7408) (xy 142.920402 67.672679) diff --git a/qa/data/solder_mask_bridge_test.kicad_pro b/qa/data/solder_mask_bridge_test.kicad_pro index 8a92cd36ed..b0449f6603 100644 --- a/qa/data/solder_mask_bridge_test.kicad_pro +++ b/qa/data/solder_mask_bridge_test.kicad_pro @@ -56,7 +56,8 @@ } ], "drc_exclusions": [ - "lib_footprint_issues|154305000|81417500|3bd3a1e0-b35d-4974-99fa-33d3eee5d601|00000000-0000-0000-0000-000000000000" + "lib_footprint_issues|154305000|81417500|3bd3a1e0-b35d-4974-99fa-33d3eee5d601|00000000-0000-0000-0000-000000000000", + "lib_footprint_mismatch|194730000|83947750|970e0f64-111f-41e3-9f5a-fb0d0f6fa101|00000000-0000-0000-0000-000000000000" ], "meta": { "version": 2 @@ -80,6 +81,7 @@ "items_not_allowed": "error", "length_out_of_range": "error", "lib_footprint_issues": "ignore", + "lib_footprint_mismatch": "error", "malformed_courtyard": "error", "microvia_drill_out_of_range": "error", "missing_courtyard": "ignore", @@ -129,6 +131,46 @@ "solder_mask_to_copper_clearance": 0.0, "use_height_for_length_calcs": true }, + "teardrop_options": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 5, + "td_on_pad_in_zone": false, + "td_onpadsmd": true, + "td_onroundshapesonly": false, + "td_ontrackend": false, + "td_onviapad": true + } + ], + "teardrop_parameters": [ + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], "track_widths": [ 0.0, 0.2, diff --git a/qa/pcbnew/drc/test_drc_regressions.cpp b/qa/pcbnew/drc/test_drc_regressions.cpp index a4f49646a6..d19f80c006 100644 --- a/qa/pcbnew/drc/test_drc_regressions.cpp +++ b/qa/pcbnew/drc/test_drc_regressions.cpp @@ -57,7 +57,8 @@ BOOST_FIXTURE_TEST_CASE( DRCFalsePositiveRegressions, DRC_REGRESSION_TEST_FIXTUR // selective inner copper layers "issue7567", // DRC constraint to disallow holes gets SMD pads also "issue7975", // Differential pair gap out of range fault by DRC - "issue8407" // PCBNEW: Arc for diff pair has clearance DRC error + "issue8407", // PCBNEW: Arc for diff pair has clearance DRC error + "issue10906" // Soldermask bridge for only one object }; for( const wxString& relPath : tests ) diff --git a/qa/pcbnew/drc/test_solder_mask_bridging.cpp b/qa/pcbnew/drc/test_solder_mask_bridging.cpp index f05c1f4a16..d241e9eb59 100644 --- a/qa/pcbnew/drc/test_solder_mask_bridging.cpp +++ b/qa/pcbnew/drc/test_solder_mask_bridging.cpp @@ -66,14 +66,14 @@ BOOST_FIXTURE_TEST_CASE( DRCSolderMaskBridgingTest, DRC_REGRESSION_TEST_FIXTURE bds.m_DRCEngine->RunTests( EDA_UNITS::MILLIMETRES, true, false ); - if( violations.size() == 4 ) + if( violations.size() == 5 ) { BOOST_CHECK_EQUAL( 1, 1 ); // quiet "did not check any assertions" warning BOOST_TEST_MESSAGE( "DRC solder mask bridge test passed" ); } else { - BOOST_CHECK_EQUAL( violations.size(), 4 ); + BOOST_CHECK_EQUAL( violations.size(), 5 ); std::map itemMap; m_board->FillItemMap( itemMap );