@@ -233,6 +233,7 @@ src/common/modulecomm/systemdef.pri
# Qt-Creator build
build-*-Debug
build-*-Release
+*.qmake.stash
# vscode
*.vscode
@@ -241,3 +242,6 @@ build-*-Release
src/common/makeprotointerface/makeprotointerface
src/common/ivprotoif/*
include/ivprotoif.h
+
+# deploy
+deploy/*
@@ -1,5 +1,5 @@
PRO_DIR=`pwd`
-CONFIG_IVSysMan="IVSysMan_midcar.xml"
+CONFIG_IVSysMan="IVSysMan_HAPO_1.xml"
check_result=`whereis patchelf | awk '{print $2}'`
if [ ! $check_result ];then
@@ -61,11 +61,6 @@ do
fi
done
-#echo "creat IVSysMan.xml"
-#cp ./other/$CONFIG_IVSysMan ./deploy/app/IVSysMan.xml
-#cp ./other/ADS_decision.xml ./deploy/app/ADS_decision.xml
-#sed -i "s|xxxxxx|$PRO_DIR/deploy/app|g" ./deploy/app/IVSysMan.xml
-
cp ./bin/*.so ./deploy/app/lib/
qt_com=`arch`
@@ -43,7 +43,6 @@ cd ../../../
cd src/common/modulecomm/
$qtmake modulecomm.pro
-check_result $?
make $MAKEOPT
check_result $?
make clean
@@ -132,6 +131,16 @@ rm Makefile
rm .qmake.stash
cd ../../../
+cd src/common/ivchart/
+$qtmake ivchart.pro
+make $MAKEOPT
+check_result $?
+make clean
+cp libivchart.so ./../../../bin/
+rm Makefile
+rm .qmake.stash
+cd ../../../
controller_app_name=(
controller_hunter
)
@@ -191,7 +200,6 @@ done
detect_app_name=(
detection_chassis
- detection_lidar_grid
for x in ${detect_app_name[@]}
@@ -208,6 +216,25 @@ do
+fution_app_name=(
+ lidar_radar_fusion_cnn
+)
+for x in ${fution_app_name[@]}
+do
+ cd src/fusion/${x}/
+ $qtmake ${x}.pro
+ make $MAKEOPT
+ check_result $?
+ make clean
+ cp ${x} ./../../../bin/
+ rm Makefile
+ rm .qmake.stash
+ rm ${x}
+ cd ../../../
+done
tool_app_name=(
view_pointcloud
view_gps
@@ -249,3 +276,4 @@ do
rm ${x}
@@ -44,4 +44,9 @@ if(contains(DEFINES,USE_FASTRTPS)){
LIBS += -lfastcdr -lfastrtps -ltinyxml2
}
+CONFIG(release,debug|release){
+ DEFINES += QT_NO_WARNING_OUTPUT
+ DEFINES += QT_NO_DEBUG_OUTPUT
+}
@@ -0,0 +1,11308 @@
+<?xml version="1.0" ?>
+<OpenDRIVE>
+ <header revMajor="1" revMinor="1" name="adcmap" version="1.1" date="2021-07-21" north="0.0000000000000000e+00" south="0.0000000000000000e+00" east="0.0000000000000000e+00" west="0.0000000000000000e+00" lat0="3.9067764300000000e+01" lon0="1.1735483680000000e+02" hdg0="3.6000000000000000e+02" vendor="adc" />
+ <road name="" length="1.6219042379150739e+01" id="10001" junction="-1">
+ <link>
+ <predecessor elementType="junction" elementId="800000" contactPoint="start" />
+ <successor elementType="junction" elementId="800001" contactPoint="end" />
+ </link>
+ <planView>
+ <geometry s="0.0000000000000000e+00" x="-3.7371139847523338e+01" y="-1.0027933610548020e+02" hdg="4.3154417225422357e+00" length="1.6219042379150739e+01">
+ <line />
+ </geometry>
+ </planView>
+ <elevationProfile>
+ <elevation s="0.0000000000000000e+00" a="-6.6856575444237070e+00" b="1.9499245903697770e-03" c="-1.6537192373956361e-04" d="2.4989411196293447e-06" />
+ </elevationProfile>
+ <lateralProfile />
+ <lanes>
+ <laneSection s="0.0000000000000000e+00">
+ <left>
+ <lane id="1" type="driving" level="false">
+ <link />
+ <width sOffset="0.0000000000000000e+00" a="4.9562315399664305e+00" b="-1.6248351744922767e-02" c="7.2512653662643110e-04" d="-9.1794809710303353e-06" />
+ <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="false" />
+ </lane>
+ </left>
+ <center>
+ <lane id="0" type="none" level="false">
+ </center>
+ <right>
+ <lane id="-1" type="driving" level="false">
+ <width sOffset="0.0000000000000000e+00" a="4.8967604394936961e+00" b="7.3207595250667867e-04" c="-2.9728632736727824e-05" d="3.7145135259947416e-07" />
+ </right>
+ </laneSection>
+ </lanes>
+ <objects />
+ <signals>
+ <signal s="5" t="0" id="69" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <validity fromLane="0" toLane="2" />
+ </signal>
+ <signal s="6" t="0" id="70" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ </signals>
+ <userData code="roadborrow">
+ <roadborrow sOffset="0" length="16.219" mode="All" />
+ </userData>
+ </road>
+ <road name="" length="6.9420696415221343e+01" id="10002" junction="-1">
+ <predecessor elementType="junction" elementId="800001" contactPoint="start" />
+ <successor elementType="junction" elementId="800002" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-5.1627865149781179e+01" y="-1.3423039616258293e+02" hdg="4.3167759282036320e+00" length="6.9420696415221343e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6434768721263806e+00" b="-9.6835673349559030e-04" c="5.6006187609479075e-06" d="-2.3526642141263908e-08" />
+ <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-3.5538200000000001e-04" c="7.1096599999999996e-06" d="-3.2708599999999997e-08" />
+ <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.4999999999999999e-01" laneChange="both" />
+ <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-2.1875599999999999e-04" c="2.6050300000000000e-06" d="-8.4013900000000005e-09" />
+ <signal s="6" t="0" id="73" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="7" t="0" id="74" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="0" t="0" id="75" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="0" t="0" id="87" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <validity fromLane="-2" toLane="0" />
+ <signal s="5" t="0" id="8" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadborrow sOffset="0" length="69.421" mode="All" />
+ <road name="" length="6.5855973388251115e+01" id="10003" junction="-1">
+ <predecessor elementType="junction" elementId="800002" contactPoint="start" />
+ <successor elementType="junction" elementId="800004" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-9.1480796761279606e+01" y="-2.2962486122342838e+02" hdg="4.3198843667250113e+00" length="1.6321743083610119e+01">
+ <geometry s="1.6321743083610119e+01" x="-9.7723924861968641e+01" y="-2.4470539996731156e+02" hdg="4.3395384970733266e+00" length="2.1884692102230048e+00">
+ <geometry s="1.8510212293833124e+01" x="-9.8521121917541606e+01" y="-2.4674350554325210e+02" hdg="4.3284778069423293e+00" length="2.3765123358120736e+01">
+ <geometry s="4.2275335651953860e+01" x="-1.0742234391817588e+02" y="-2.6877868957066880e+02" hdg="4.3167390999456314e+00" length="2.3330244714069899e+00">
+ <geometry s="4.4608360123360853e+01" x="-1.0832151008514354e+02" y="-2.7093147924649980e+02" hdg="4.3193107965084154e+00" length="2.1247613264890262e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7434062138484387e+00" b="-1.4852546315919600e-03" c="1.1942240042300422e-05" d="-1.0066460227083705e-08" />
+ <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-1.8056800000000000e-03" c="3.7336799999999998e-05" d="-2.0796900000000000e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-9.7848100000000006e-06" c="-6.8588700000000003e-07" d="7.2301900000000002e-09" />
+ <signals />
+ <roadborrow sOffset="0" length="65.856" mode="All" />
+ <road name="" length="1.0569452238817439e+02" id="10004" junction="-1">
+ <predecessor elementType="road" elementId="10026" contactPoint="end" />
+ <successor elementType="road" elementId="10011" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-4.3673442056392764e+00" y="1.3917149468303933e+01" hdg="2.7484464326396099e+00" length="1.2836595436550207e+01">
+ <geometry s="1.2836595436550207e+01" x="-1.6224614305540769e+01" y="1.8834804212147144e+01" hdg="2.7267410823044207e+00" length="2.2367937656577559e+00">
+ <geometry s="1.5073389202207963e+01" x="-1.8271674624366739e+01" y="1.9736353102209975e+01" hdg="2.7381412137292105e+00" length="2.0906042106359813e+01">
+ <geometry s="3.5979431308567776e+01" x="-3.7499201062733640e+01" y="2.7943960769173064e+01" hdg="2.7728049042650116e+00" length="2.3403501008688226e+00">
+ <geometry s="3.8319781409436601e+01" x="-3.9682197792437663e+01" y="2.8787621763138205e+01" hdg="2.7425312363158145e+00" length="6.7374740978737790e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6959318111543684e+00" b="-1.4670793262296268e-04" c="8.6569318241781369e-07" d="-6.2991565170928901e-09" />
+ <predecessor id="-1" />
+ <successor id="-1" />
+ <width sOffset="0.0000000000000000e+00" a="2.7985551183501998e+00" b="-4.5119083029963662e-05" c="8.5588791556377879e-09" d="9.1048366103748747e-10" />
+ <road name="" length="1.4987319655672761e+02" id="10005" junction="-1">
+ <predecessor elementType="road" elementId="10011" contactPoint="end" />
+ <successor elementType="road" elementId="10006" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.1082739390066655e+02" y="5.5470435576140325e+01" hdg="2.7227695527866445e+00" length="3.2649553836957530e+00">
+ <geometry s="3.2649553836957530e+00" x="-1.1381015331622656e+02" y="5.6798245775834538e+01" hdg="2.6845299383218002e+00" length="1.0045801197283986e+00">
+ <geometry s="4.2695355034241516e+00" x="-1.1471161593096053e+02" y="5.7241581282184427e+01" hdg="2.6492013730625334e+00" length="8.0815897757850230e+00">
+ <arc curvature="-3.1286322746283610e-02" />
+ <geometry s="1.2351125279209175e+01" x="-1.2127709601110274e+02" y="6.1916980379864981e+01" hdg="2.4733050450177565e+00" length="2.3099689436930615e+00">
+ <geometry s="1.4661094222902236e+01" x="-1.2309015341505189e+02" y="6.3348336160518983e+01" hdg="2.4284153083798281e+00" length="5.9191855135359459e+00">
+ <arc curvature="1.4013979401305688e-02" />
+ <geometry s="2.0580279736438182e+01" x="-1.2772214937285003e+02" y="6.7030901130106997e+01" hdg="2.4895770699154722e+00" length="8.4277361592407118e-01">
+ <geometry s="2.1423053352362253e+01" x="-1.2839203841370687e+02" y="6.7542287520850465e+01" hdg="2.5195125954833704e+00" length="3.7610672102004954e+00">
+ <geometry s="2.5184120562562747e+01" x="-1.3144853779484797e+02" y="6.9733962244145289e+01" hdg="2.8080146832982931e+00" length="8.9361309278668122e-01">
+ <geometry s="2.6077733655349427e+01" x="-1.3229289214063621e+02" y="7.0026554278124820e+01" hdg="2.5121107416842161e+00" length="3.3080919152328576e+01">
+ <arc curvature="1.7778358391826704e-02" />
+ <geometry s="5.9158652807678003e+01" x="-1.6308203200513506e+02" y="8.0759394091970080e+01" hdg="3.2151546524981085e+00" length="2.3274603257494642e+00">
+ <geometry s="6.1486113133427466e+01" x="-1.6540319779835963e+02" y="8.0588335832005896e+01" hdg="3.2452811661859888e+00" length="4.4100256896390619e+01">
+ <arc curvature="2.1912440203194931e-02" />
+ <geometry s="1.0558637002981808e+02" x="-2.0071252019218545e+02" y="5.7106986438766043e+01" hdg="4.2761242981181971e+00" length="2.3446291199167586e+00">
+ <geometry s="1.0793099914973484e+02" x="-2.0170325956070045e+02" y="5.4981963800384008e+01" hdg="4.3726958510536749e+00" length="2.0499599534846350e+01">
+ <arc curvature="1.3266063162263184e-02" />
+ <geometry s="1.2843059868458118e+02" x="-2.0583781579455763e+02" y="3.4968081273530373e+01" hdg="4.5520419749178700e+00" length="2.3202066628493094e+00">
+ <geometry s="1.3075080534743049e+02" x="-2.0620826177755629e+02" y="3.2677638361774989e+01" hdg="4.5219297978642992e+00" length="1.8406053679433157e+01">
+ <arc curvature="4.3425769068336402e-03" />
+ <geometry s="1.4915685902686363e+02" x="-2.0908556610537212e+02" y="1.4394169960586346e+01" hdg="4.5616695970530721e+00" length="7.1633752986397270e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.7711095026723065e+00" b="1.3804717298431682e-03" c="-1.1948258473245313e-05" d="3.3397462599167079e-08" />
+ <width sOffset="0.0000000000000000e+00" a="2.9984077484847105e+00" b="-1.7467953927376995e-05" c="2.1703412623815940e-07" d="-7.4539354817012722e-10" />
+ <road name="" length="9.2389429006811099e+01" id="10006" junction="-1">
+ <predecessor elementType="road" elementId="10005" contactPoint="end" />
+ <successor elementType="road" elementId="10007" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-2.0915668926140560e+02" y="1.3709895584391445e+01" hdg="4.5637890503104153e+00" length="4.5314263658871269e+01">
+ <geometry s="4.5314263658871269e+01" x="-2.1586563084088465e+02" y="-3.1104974646691879e+01" hdg="4.5560679202234535e+00" length="2.2825165851103617e+00">
+ <geometry s="4.7596780243981634e+01" x="-2.1622098486197507e+02" y="-3.3359659875498494e+01" hdg="4.5626349977738219e+00" length="4.4792648762829458e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6414027589604707e+00" b="-2.3024624416874374e-03" c="2.4644738173227130e-05" d="-8.6071448782010596e-08" />
+ <width sOffset="0.0000000000000000e+00" a="2.9952517782429768e+00" b="-1.8465296382514712e-05" c="4.3818209757924571e-07" d="-1.9565200300083650e-09" />
+ <road name="" length="2.8551253794668600e+01" id="10007" junction="-1">
+ <predecessor elementType="road" elementId="10006" contactPoint="end" />
+ <successor elementType="road" elementId="10008" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-2.2293631456038281e+02" y="-7.7635769037519609e+01" hdg="4.5418608185131610e+00" length="1.7184175278344476e+00">
+ <geometry s="1.7184175278344476e+00" x="-2.2322793495314272e+02" y="-7.9329261389582413e+01" hdg="4.5232457487573070e+00" length="8.0037692896054691e-01">
+ <geometry s="2.5187944567949945e+00" x="-2.2337841980284867e+02" y="-8.0115364142675986e+01" hdg="4.4935649680157992e+00" length="3.5182615187445609e+00">
+ <arc curvature="-4.9127791348802526e-02" />
+ <geometry s="6.0370559755395554e+00" x="-2.2443444030294378e+02" y="-8.3466811415100196e+01" hdg="4.5095722134060523e+00" length="9.8693705274484700e-01">
+ <geometry s="7.0239930282844023e+00" x="-2.2463323820265447e+02" y="-8.4433519303322541e+01" hdg="4.2893026796481486e+00" length="4.9540245015607418e+00">
+ <arc curvature="3.9320226276886727e-01" />
+ <geometry s="1.1978017529845143e+01" x="-2.2243108071900849e+02" y="-8.8018242075214403e+01" hdg="4.4366541443574115e-01" length="2.3630315956097014e+00">
+ <geometry s="1.4341049125454845e+01" x="-2.2029682757683739e+02" y="-8.7003903942744515e+01" hdg="1.2579499322631813e+00" length="6.8193953506107414e+00">
+ <arc curvature="7.5218164217040889e-02" />
+ <geometry s="2.1160444476065585e+01" x="-2.1991678501039794e+02" y="-8.0269738860122999e+01" hdg="1.4727830714780874e+00" length="2.3889910703331303e+00">
+ <geometry s="2.3549435546398716e+01" x="-2.1968300694060164e+02" y="-7.7892213645069802e+01" hdg="1.5167553398419038e+00" length="4.2774181660603494e+00">
+ <arc curvature="-9.0490689735424727e-03" />
+ <geometry s="2.7826853712459066e+01" x="-2.1935416601983110e+02" y="-7.3528089294948543e+01" hdg="1.4906995177593190e+00" length="7.2440008220953322e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.6388743141069915e+00" b="6.5075341573295016e-03" c="-1.6433019686162256e-04" d="9.7187854801048041e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9935478037525192e+00" b="3.6570238213599692e-04" c="-9.3738884047327547e-06" d="6.4742074484203276e-08" />
+ <road name="" length="3.0000000000000000e+01" id="10009" junction="-1">
+ <predecessor elementType="road" elementId="10008" contactPoint="end" />
+ <successor elementType="road" elementId="10164" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-2.1411665947670181e+02" y="-3.5626068675323921e+01" hdg="1.4176548078303357e+00" length="1.4955925659005409e+00">
+ <geometry s="1.4955925659005409e+00" x="-2.1388851635314455e+02" y="-3.4147979422825784e+01" hdg="1.3145548930801036e+00" length="7.8416369326422120e-01">
+ <geometry s="2.2797562591647620e+00" x="-2.1368977280668713e+02" y="-3.3389419141387776e+01" hdg="1.3935243566190576e+00" length="1.0792119942499092e+01">
+ <arc curvature="-1.0888865073221431e-01" />
+ <geometry s="1.3071876201663853e+01" x="-2.0663967914476615e+02" y="-2.6043348993659833e+01" hdg="1.1373213043589722e-01" length="2.2874413130235522e+00">
+ <geometry s="1.5359317514687405e+01" x="-2.0436701591572017e+02" y="-2.5783753909212464e+01" hdg="6.1496873171148829e+00" length="1.4640682485312595e+01">
+ <arc curvature="4.0943003645852157e-03" />
+ <elevation s="0.0000000000000000e+00" a="-6.7673031338299872e+00" b="1.4424200167962469e-03" c="2.5190488897680045e-06" d="-6.1917236111958645e-09" />
+ <width sOffset="0.0000000000000000e+00" a="2.9952357808730197e+00" b="3.0440184736790810e-05" c="-1.9534639552529845e-07" d="3.4764649689718825e-10" />
+ <road name="" length="3.7120520585876037e+01" id="10008" junction="-1">
+ <predecessor elementType="road" elementId="10007" contactPoint="end" />
+ <successor elementType="road" elementId="10009" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-2.1926432711264397e+02" y="-7.2250422533601721e+01" hdg="1.4462385306335368e+00" length="9.5259823806615547e+00">
+ <geometry s="9.5259823806615547e+00" x="-2.1808085747431170e+02" y="-6.2798240778481897e+01" hdg="1.4367245333902661e+00" length="2.2246119121077674e+00">
+ <geometry s="1.1750594292769321e+01" x="-2.1778349250549090e+02" y="-6.0593592907548768e+01" hdg="1.4257361308197034e+00" length="2.5369926293106719e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6856200230512188e+00" b="6.4560785548130935e-04" c="1.1517796331600567e-05" d="-2.3005168793568882e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.0008122054952402e+00" b="2.9209757786282516e-06" c="-8.0833934781456878e-06" d="9.6010364449038232e-08" />
+ <road name="" length="9.0783591172010087e+00" id="10011" junction="-1">
+ <predecessor elementType="road" elementId="10004" contactPoint="end" />
+ <successor elementType="road" elementId="10005" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.0176304190893720e+02" y="5.4966325240103885e+01" hdg="3.0860352829345712e+00" length="9.0783591172010087e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7092048102998865e+00" b="-6.8189296736595887e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.7949569448141949e+00" b="2.2410526070182877e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="6.7850319509119487e+01" id="10013" junction="-1">
+ <predecessor elementType="junction" elementId="800006" contactPoint="start" />
+ <successor elementType="junction" elementId="800007" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.2081568446008575e+01" y="-2.3532719318391497e+02" hdg="1.1771324787525883e+00" length="3.3948737091607335e+01">
+ <geometry s="3.3948737091607335e+01" x="2.5103441085669303e+01" y="-2.0397519830206525e+02" hdg="1.1683078442212262e+00" length="2.3400465019781214e+00">
+ <geometry s="3.6288783593585457e+01" x="2.6020058778449801e+01" y="-2.0182214706331087e+02" hdg="1.1760444725485764e+00" length="3.1561535915534023e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7868785461080821e+00" b="4.8077468623765581e-03" c="-8.1806965375890226e-05" d="3.9513991741651050e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4452687747481776e+00" b="-2.1360857618878395e-03" c="4.5662150917027177e-05" d="-2.6708910773012608e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.3974404083379892e+00" b="4.1287545769157078e-04" c="-8.5343725223936052e-06" d="5.0066167064082738e-08" />
+ <roadborrow sOffset="0" length="67.85" mode="All" />
+ <road name="" length="1.5081928803303192e+01" id="10014" junction="-1">
+ <predecessor elementType="junction" elementId="800007" contactPoint="start" />
+ <successor elementType="road" elementId="10023" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.6557462809174538e+01" y="-1.5252258205322482e+02" hdg="1.1757868634484134e+00" length="1.5081928803303192e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7136872845190112e+00" b="-1.1846322471244144e-03" c="1.1940519275219436e-04" d="-1.6107315047784644e-06" />
+ <successor id="1" />
+ <width sOffset="0.0000000000000000e+00" a="3.3259337948821419e+00" b="1.1972070111631749e-02" c="-4.1844161053151844e-04" d="4.1617129919027174e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.3955124582165821e+00" b="2.0341435681318562e-03" c="-1.2078120776258220e-04" d="1.8239010977374858e-06" />
+ <roadborrow sOffset="0" length="15.082" mode="All" />
+ <road name="" length="6.9163176930026225e+01" id="10016" junction="-1">
+ <predecessor elementType="junction" elementId="800008" contactPoint="start" />
+ <successor elementType="junction" elementId="800009" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="8.5581875328596112e+01" y="-2.3662147799951914e+01" hdg="2.7446631243850388e+00" length="3.4367004375612332e+01">
+ <geometry s="3.4367004375612332e+01" x="5.3886824849823597e+01" y="-1.0376261871590978e+01" hdg="2.7428324910470945e+00" length="2.2417895119172080e+00">
+ <geometry s="3.6608793887529544e+01" x="5.1820919190324140e+01" y="-9.5058286336053719e+00" hdg="2.7468164164460735e+00" length="3.2554383042496681e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6258252260722363e+00" b="-6.2990830962438632e-03" c="7.3358231504356820e-05" d="-2.4665055051063978e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4580630972089690e+00" b="-6.0034639302078473e-04" c="1.4877550163678988e-05" d="-8.5301065215491245e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.3910054818358017e+00" b="4.3479745109413747e-04" c="-6.0573431298208584e-06" d="2.5925529090531376e-08" />
+ <roadborrow sOffset="0" length="69.163" mode="All" />
+ <road name="" length="2.1244308710813787e+01" id="10017" junction="800000">
+ <predecessor elementType="road" elementId="10157" contactPoint="end" />
+ <successor elementType="road" elementId="10001" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-2.9160206914839051e+01" y="-8.0685938417092430e+01" hdg="4.3155549347403115e+00" length="2.1244308710813787e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7530343704164011e+00" b="3.1715235788490467e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <predecessor id="1" />
+ <width sOffset="0.0000000000000000e+00" a="4.9308006428342255e+00" b="1.1970687057122355e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8968457731089563e+00" b="-4.0167753360108324e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="21" t="0" id="81" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadborrow sOffset="0" length="21.244" mode="All" />
+ <road name="" length="2.5834989168536115e+01" id="10021" junction="800006">
+ <predecessor elementType="road" elementId="10221" contactPoint="end" />
+ <successor elementType="road" elementId="10013" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-6.9823453368002646e+00" y="-2.4175858845200838e+02" hdg="5.8873854384307416e+00" length="9.1259981119152886e+00">
+ <geometry s="9.1259981119152886e+00" x="1.4381079264999101e+00" y="-2.4527708363876917e+02" hdg="5.8873854384307416e+00" length="9.4375940850085964e+00">
+ <arc curvature="1.6666666666666666e-01" />
+ <geometry s="1.8563592196923885e+01" x="9.2924453919979033e+00" y="-2.4204240029228905e+02" hdg="1.1771324787525883e+00" length="7.2713969716122300e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7855376194885411e+00" b="-5.1903510034139293e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3489698298938095e+00" b="3.7274621725658982e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3991602404700814e+00" b="-6.6569880129336157e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <userData code="roadnoavoid">
+ <roadnoavoid sOffset="0" length="25.835" />
+ <road name="" length="2.1844756583911796e+01" id="10022" junction="800007">
+ <predecessor elementType="road" elementId="10013" contactPoint="end" />
+ <successor elementType="road" elementId="10014" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.8157967095357002e+01" y="-1.7268794497988495e+02" hdg="1.1761209400873356e+00" length="2.1844756583911796e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7138573354097346e+00" b="7.7845175372041241e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4271199515282973e+00" b="-4.6320569541469210e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4018034185879169e+00" b="-2.8798491515204011e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="21.845" mode="All" />
+ <road name="" length="2.8320546049834050e+01" id="10026" junction="800009">
+ <predecessor elementType="road" elementId="10016" contactPoint="end" />
+ <successor elementType="road" elementId="10004" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.1770533118874344e+01" y="3.0146406960328562e+00" hdg="2.7464193198121638e+00" length="2.8320546049834050e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7921805639232149e+00" b="3.3985486225965784e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4006792173072560e+00" b="-2.1261034229267076e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.2797632829766997e+01" id="10015" junction="-1">
+ <predecessor elementType="road" elementId="10023" contactPoint="end" />
+ <successor elementType="junction" elementId="800008" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="6.0202039540697065e+01" y="-1.1978945179370398e+02" hdg="1.1760147626038535e+00" length="8.2797632829766997e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6567287490432454e+00" b="-1.0862199380062222e-03" c="8.3176292913016312e-06" d="-6.0663473170706920e-09" />
+ <width sOffset="0.0000000000000000e+00" a="3.4230956114317972e+00" b="-6.4179440338889596e-04" c="1.7656388492610469e-05" d="-1.0595713966781849e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4030374753697572e+00" b="-3.7462942929476119e-05" c="8.3577511014663795e-07" d="-4.0626143705251924e-09" />
+ <roadborrow sOffset="0" length="82.798" mode="All" />
+ <road name="" length="2.0381182947979742e+01" id="10023" junction="-1">
+ <predecessor elementType="road" elementId="10014" contactPoint="end" />
+ <successor elementType="road" elementId="10015" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="5.2361244250611335e+01" y="-1.3860206850637820e+02" hdg="1.1759053415333600e+00" length="2.0381182947979742e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7099191549597919e+00" b="2.6097801119938859e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4255922517477240e+00" b="-1.2249732129381897e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4049749038217794e+00" b="-9.5059666407351772e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="20.381" mode="All" />
+ <road name="" length="2.6649004211036935e+01" id="10024" junction="800008">
+ <predecessor elementType="road" elementId="10015" contactPoint="end" />
+ <successor elementType="road" elementId="10016" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="9.2046552621305267e+01" y="-4.3360563349138189e+01" hdg="1.1760147626038535e+00" length="9.6806507224906007e+00">
+ <geometry s="9.6806507224906007e+00" x="9.5769794434207938e+01" y="-3.4424542488961606e+01" hdg="1.1760147626038535e+00" length="9.4118901706871121e+00">
+ <geometry s="1.9092540893177713e+01" x="9.2550841365988006e+01" y="-2.6583389016255410e+01" hdg="2.7446631243850388e+00" length="7.5564633178592224e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6930874624574068e+00" b="2.5240056195913389e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4308561595909945e+00" b="1.0209363697990046e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4033592448716599e+00" b="-4.6357315785712115e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="26.649" />
+ <road name="" length="2.1105966488922242e+01" id="10027" junction="800009">
+ <predecessor elementType="road" elementId="10170" contactPoint="end" />
+ <successor elementType="road" elementId="10000" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-5.2175774330178157e+00" y="1.4153527848751079e+01" hdg="5.8875339702506011e+00" length="8.5892523827902778e+00">
+ <geometry s="8.5892523827902778e+00" x="2.7081185168812949e+00" y="1.0843150195820634e+01" hdg="5.8875339702506011e+00" length="9.3726180414290923e+00">
+ <arc curvature="-1.6666666666666666e-01" />
+ <geometry s="1.7961870424219370e+01" x="5.9520306157170388e+00" y="3.0424372061791383e+00" hdg="4.3254309633457524e+00" length="3.1440960647028713e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6740326889086443e+00" b="-2.2403407222323242e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4014651488811505e+00" b="7.0223278887741672e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="6.6518779996481584e+01" id="10033" junction="-1">
+ <geometry s="0.0000000000000000e+00" x="-3.3364197436822955e+01" y="-1.2770103037420641e+02" hdg="5.8798634812453692e+00" length="1.5046358481176888e+01">
+ <geometry s="1.5046358481176888e+01" x="-1.9525123631421906e+01" y="-1.3360636184269708e+02" hdg="5.9003410344672105e+00" length="2.3263579898314468e+00">
+ <geometry s="1.7372716471008335e+01" x="-1.7367180277263827e+01" y="-1.3447539692662500e+02" hdg="5.8893976202410938e+00" length="4.9146063525473252e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7387229869805143e+00" b="5.1447542346203185e-04" c="-6.4083109915045022e-07" d="-6.7436328478316271e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.0047472383148013e+00" b="-7.6443927717263587e-04" c="9.6136070945701034e-06" d="-2.5471924445686536e-08" />
+ <road name="" length="1.9190067230365642e+01" id="10035" junction="800001">
+ <predecessor elementType="road" elementId="10001" contactPoint="end" />
+ <successor elementType="road" elementId="10033" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-4.3641499002797588e+01" y="-1.1523727485921749e+02" hdg="4.3154417225422357e+00" length="1.4683777784599119e+00">
+ <geometry s="1.4683777784599119e+00" x="-4.4209180856715371e+01" y="-1.1659147964912459e+02" hdg="4.3154417225422357e+00" length="9.3865305522188009e+00">
+ <geometry s="1.0854908330678713e+01" x="-4.1030562646505928e+01" y="-1.2442968227979750e+02" hdg="5.8798634812453692e+00" length="8.3351588996869292e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6868721050782076e+00" b="-2.7019645778134536e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9023984868097079e+00" b="-9.8887159993485296e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.4889239815634753e+01" id="10037" junction="800001">
+ <predecessor elementType="road" elementId="10002" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-5.1627865149781179e+01" y="-1.3423039616258293e+02" hdg="1.1751832746138389e+00" length="7.1274717706677553e+00">
+ <geometry s="7.1274717706677553e+00" x="-4.8881123117912004e+01" y="-1.2765344686583228e+02" hdg="1.1751832746138389e+00" length="9.4710306032883356e+00">
+ <geometry s="1.6598502373956091e+01" x="-4.0989705462577405e+01" y="-1.2444711662673139e+02" hdg="5.8798634812453692e+00" length="8.2907374416786634e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6434768721263806e+00" b="-3.8267988721094907e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9503714520120425e+00" b="-7.8171299248563322e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.2094228764374378e+01" id="10038" junction="800007">
+ <predecessor elementType="road" elementId="10033" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.8017361200515680e+01" y="-1.5333219821691716e+02" hdg="5.8893976202410938e+00" length="1.0808167294064303e+01">
+ <geometry s="1.0808167294064303e+01" x="3.7998297244396269e+01" y="-1.5747917252892424e+02" hdg="5.8893976202410938e+00" length="9.4174473023214365e+00">
+ <geometry s="2.0225614596385739e+01" x="4.5838388453976464e+01" y="-1.5424729970562603e+02" hdg="1.1757868634484134e+00" length="1.8686141679886379e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7271846823214405e+00" b="6.1090151398237799e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9889383377678111e+00" b="1.8401824511944376e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.8206996401513518e+01" id="10039" junction="800007">
+ <successor elementType="road" elementId="10013" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.8017361200515680e+01" y="-1.5333219821691716e+02" hdg="5.8893976202410938e+00" length="1.0798748871476079e+01">
+ <geometry s="1.0798748871476079e+01" x="3.7989599685325459e+01" y="-1.5747555878429296e+02" hdg="5.8893976202410938e+00" length="9.4305629646163460e+00">
+ <geometry s="2.0229311836092425e+01" x="4.1226018159013506e+01" y="-1.6532380798386470e+02" hdg="4.3176371261383695e+00" length="7.9776845654210939e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7271846823214405e+00" b="4.7248373141178487e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9889383377678111e+00" b="1.5534500998375509e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.2720613852178168e+01" id="10042" junction="800002">
+ <predecessor elementType="junction" elementId="800003" contactPoint="start" />
+ <successor elementType="road" elementId="10003" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-7.0445950980940864e+01" y="-2.1524025457957745e+02" hdg="2.7457927848409476e+00" length="7.9133338661656829e+00">
+ <geometry s="7.9133338661656829e+00" x="-7.7747492922960177e+01" y="-2.1218929765652240e+02" hdg="2.7457927848409476e+00" length="9.4445494913043824e+00">
+ <geometry s="1.7357883357470065e+01" x="-8.5604494581818372e+01" y="-2.1543040593452443e+02" hdg="4.3198843667250113e+00" length="1.5362730494708101e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7570934541444876e+00" b="4.1830634223073108e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4004390070924404e+00" b="5.4646931059176167e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4321578058075679e+00" b="4.4864593234608938e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="5.6306275252245911e+01" id="10028" junction="-1">
+ <successor elementType="junction" elementId="800010" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.2538469941908740e+01" y="-2.5400473901870711e+02" hdg="5.9012973352522415e+00" length="1.4101413936268330e+01">
+ <geometry s="1.4101413936268330e+01" x="3.5624056000024595e+01" y="-2.5925995666573436e+02" hdg="5.8700925611531769e+00" length="2.2139713631540126e+00">
+ <geometry s="1.6315385299422342e+01" x="3.7651796153631679e+01" y="-2.6014874182892936e+02" hdg="5.8880271823361756e+00" length="3.9990889952823565e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8386846816057165e+00" b="-2.8182951112638825e-05" c="-3.8684310251208643e-06" d="2.3350488505955858e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.5287432806730110e+00" b="-1.1647663711624659e-02" c="1.5531807395979626e-04" d="-6.9017251666587601e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.3915649420799356e+00" b="4.8675042995076042e-04" c="-7.1334412950163585e-06" d="3.0874621984442952e-08" />
+ <roadborrow sOffset="0" length="56.306" mode="All" />
+ <road name="" length="7.7171992980661628e+01" id="10029" junction="-1">
+ <predecessor elementType="junction" elementId="800010" contactPoint="start" />
+ <successor elementType="junction" elementId="800011" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.0491439644847156e+02" y="-2.8836757628318526e+02" hdg="5.8883300631547142e+00" length="7.7171992980661628e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8676986766580743e+00" b="1.8252125329906218e-03" c="-2.3168210582158548e-05" d="7.7992181202487722e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.4688979211349857e+00" b="-3.0722981459096700e-03" c="2.1268234251686581e-05" d="-3.1058587464505792e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.3977449747254327e+00" b="1.3241087685081305e-05" c="5.1094761020239415e-07" d="-3.1083215191036382e-09" />
+ <roadborrow sOffset="0" length="77.172" mode="All" />
+ <road name="" length="3.1960080388226729e+01" id="10047" junction="800006">
+ <successor elementType="road" elementId="10028" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-6.9823453368002646e+00" y="-2.4175858845200838e+02" hdg="5.8899592886231611e+00" length="3.1960080388226729e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7855376194885411e+00" b="-1.6629201638914985e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3489698298938095e+00" b="5.6249373779868649e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3991602404700814e+00" b="-2.3764953960953220e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="101" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="31" t="0" id="102" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadnoavoid sOffset="20" length="10" />
+ <road name="" length="2.7611725820374204e+01" id="10048" junction="800006">
+ <predecessor elementType="road" elementId="10013" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2081568446008575e+01" y="-2.3532719318391497e+02" hdg="4.3187251323423812e+00" length="7.3649168642636624e+00">
+ <geometry s="7.3649168642636624e+00" x="9.2565735382645649e+00" y="-2.4212876683923443e+02" hdg="4.3187251323423812e+00" length="9.4954332174591620e+00">
+ <geometry s="1.6860350081722824e+01" x="1.2561594352900109e+01" y="-2.4999799049214531e+02" hdg="5.9012973352522415e+00" length="1.0751375738651381e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7868785461080821e+00" b="-1.8762367783402960e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3974404083379892e+00" b="4.7553301517334256e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4452687747481776e+00" b="-1.9449647232341726e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.2951469105159710e+01" id="10049" junction="800010">
+ <predecessor elementType="road" elementId="10028" contactPoint="end" />
+ <successor elementType="road" elementId="10029" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="7.4560816369406126e+01" y="-2.7554340018598288e+02" hdg="5.8834399985327765e+00" length="3.2951469105159710e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8483676482853140e+00" b="-5.8665148770964501e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2421216982961814e+00" b="6.8821278382181330e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4018677358614573e+00" b="-1.2511615560652036e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="103" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="32" t="0" id="104" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadborrow sOffset="0" length="32.951" mode="All" />
+ <road name="" length="6.8147575050279571e+01" id="10057" junction="-1">
+ <successor elementType="junction" elementId="800012" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="9.6581238601339251e+01" y="-2.6921817744375124e+02" hdg="1.1777654933734480e+00" length="3.2459705032361640e+01">
+ <geometry s="3.2459705032361640e+01" x="1.0901297810794208e+02" y="-2.3923344293387282e+02" hdg="1.1654136763753273e+00" length="2.4401995725468395e+00">
+ <geometry s="3.4899904604908478e+01" x="1.0997532065395076e+02" y="-2.3699101773378268e+02" hdg="1.1763284432537688e+00" length="3.3247670445371092e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7179859082861277e+00" b="2.3963631469843811e-03" c="-2.5508460210537265e-05" d="7.0453287292800521e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.5233920888018253e+00" b="-6.4701931345837824e-03" c="7.2735804135514091e-05" d="-2.5736059042922743e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.3960244356847387e+00" b="1.1801779848151626e-04" c="-3.5020985867045980e-07" d="-1.0046331599600754e-09" />
+ <road name="" length="1.6240406619478300e+01" id="10058" junction="-1">
+ <predecessor elementType="junction" elementId="800012" contactPoint="start" />
+ <successor elementType="road" elementId="10074" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2955398165907883e+02" y="-1.9000120886508540e+02" hdg="1.1761259400671238e+00" length="1.6240406619478300e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7546904870504161e+00" b="-2.2671556210256691e-03" c="3.1002142529624403e-04" d="-6.6565724009925564e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.2407336491020220e+00" b="6.7838860435330854e-03" c="-3.7210389253916458e-04" d="4.6029667290181423e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.3964738208024055e+00" b="1.1327031496943993e-04" c="1.0330461050811547e-05" d="-2.3101962923980468e-07" />
+ <road name="" length="8.6747871605263668e+01" id="10059" junction="-1">
+ <predecessor elementType="road" elementId="10074" contactPoint="end" />
+ <successor elementType="junction" elementId="800013" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.4334198083302101e+02" y="-1.5683709809759969e+02" hdg="1.1733614550918403e+00" length="2.1317718069436893e+01">
+ <geometry s="2.1317718069436893e+01" x="1.5159309792389266e+02" y="-1.3718094968442571e+02" hdg="1.1845332077141355e+00" length="2.3379614758290357e+00">
+ <geometry s="2.3655679545265929e+01" x="1.5247387696679402e+02" y="-1.3501524145383544e+02" hdg="1.1747935383101282e+00" length="3.1392565535889496e+01">
+ <geometry s="5.5048245081155429e+01" x="1.6458304320116832e+02" y="-1.0605213968566486e+02" hdg="1.1706614344614850e+00" length="2.3256129356409296e+00">
+ <geometry s="5.7373858016796362e+01" x="1.6548896847078552e+02" y="-1.0391023050638357e+02" hdg="1.1725609419941228e+00" length="2.9374013588467299e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.5896148345584464e+00" b="-8.1727498348500797e-03" c="8.8229157930546352e-05" d="-2.6580804756069905e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4509979535488058e+00" b="-4.4545324743471681e-03" c="-7.9845372680666027e-06" d="2.6985083573679469e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4069480314016283e+00" b="-3.0420147171239271e-04" c="4.1512553426140340e-06" d="-1.7072997627407391e-08" />
+ <road name="" length="8.4500708923430736e+01" id="10060" junction="-1">
+ <predecessor elementType="road" elementId="10079" contactPoint="end" />
+ <successor elementType="junction" elementId="800014" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.4213971127601656e+02" y="-1.9797574575752819e+02" hdg="1.1745457874902883e+00" length="8.4500708923430736e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7513227435942484e+00" b="-1.2750351584812723e-03" c="2.5536665093184937e-05" d="-1.3502527019412378e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.2024561094784816e+00" b="-8.6855167023601691e-03" c="8.8908911180694329e-05" d="-2.7125366065808402e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.1079752850351792e+00" b="-2.5603630780927602e-04" c="3.4452466550542516e-06" d="-1.3428425227626201e-08" />
+ <road name="" length="1.6239160212835245e+01" id="10061" junction="-1">
+ <predecessor elementType="junction" elementId="800015" contactPoint="start" />
+ <successor elementType="road" elementId="10079" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.2863075798372736e+02" y="-2.3061311512741105e+02" hdg="1.1801250808327877e+00" length="1.6239160212835245e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7803632895672168e+00" b="5.6277021978167144e-03" c="-2.0660262893180405e-04" d="2.4186185877288394e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.1799085905536906e+00" b="-1.8738495210742761e-02" c="5.9360557506700192e-04" d="-6.7205077349799305e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.0959949015162276e+00" b="-1.5873411220549856e-05" c="1.0749421060215701e-05" d="-1.8027398349675256e-07" />
+ <road name="" length="7.0504183058815329e+01" id="10062" junction="-1">
+ <predecessor elementType="junction" elementId="800011" contactPoint="start" />
+ <successor elementType="junction" elementId="800015" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.9412941877973583e+02" y="-3.1370053089456167e+02" hdg="1.1764709281485308e+00" length="7.0504183058815329e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8504560478169916e+00" b="5.9236614704998710e-03" c="-1.1939683870160283e-04" d="5.9664326729787234e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.1559411579419718e+00" b="-5.7474354138776782e-03" c="8.0318940766745551e-05" d="-3.3413423816342104e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.0981546393081443e+00" b="8.5557299745465435e-06" c="2.4150658993050763e-06" d="-2.0785408754378311e-08" />
+ <road name="" length="6.9127235926783413e+01" id="10063" junction="-1">
+ <predecessor elementType="junction" elementId="800016" contactPoint="start" />
+ <successor elementType="junction" elementId="800017" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.9549591178644187e+02" y="-3.5572139769145201e+02" hdg="1.1766418154351941e+00" length="3.3927048438038113e+01">
+ <geometry s="3.3927048438038113e+01" x="3.0852483708873223e+02" y="-3.2439582154057615e+02" hdg="1.1508198403544341e+00" length="2.5529107788463228e+00">
+ <geometry s="3.6479959216884438e+01" x="3.0956575833332670e+02" y="-3.2206476246639943e+02" hdg="1.1790338383335754e+00" length="3.2647276709898968e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.9037441403439894e+00" b="1.0486049111214665e-02" c="-1.4754376357083664e-04" d="5.9876110315310240e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.9324918499203330e+00" b="-5.4399319577738761e-03" c="1.0011064708642260e-04" d="-4.7993449463077096e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.8950592857348845e+00" b="3.4490625635526354e-04" c="-5.0975987153656470e-06" d="2.0670902763771745e-08" />
+ <signal s="63" t="0" id="36" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="66" t="0" id="86" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="65" t="0" id="88" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="63" t="0" id="89" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="62" t="0" id="90" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="65" t="0" id="97" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="66" t="0" id="98" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="1.8273774337844255e+01" id="10064" junction="-1">
+ <predecessor elementType="junction" elementId="800017" contactPoint="start" />
+ <successor elementType="junction" elementId="800019" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.2910250671235144e+02" y="-2.7489329270449485e+02" hdg="1.1803615058573320e+00" length="1.8273774337844255e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7415491234940568e+00" b="7.6573915832107917e-03" c="-2.2799377154270146e-04" d="1.3335114467614117e-06" />
+ <width sOffset="0.0000000000000000e+00" a="4.8370227552466005e+00" b="2.0670961620496624e-02" c="-9.5826452313017819e-04" d="9.7804690357836768e-06" />
+ <width sOffset="0.0000000000000000e+00" a="4.8952376769560058e+00" b="8.2424338597347833e-04" c="-3.2956317451674391e-05" d="3.6582607232951967e-07" />
+ <road name="" length="4.0000000000000000e+01" id="10065" junction="-1">
+ <predecessor elementType="junction" elementId="800019" contactPoint="start" />
+ <successor elementType="junction" elementId="800020" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.4232886126512204e+02" y="-2.4296677787488889e+02" hdg="1.1787349925189550e+00" length="2.1787228183284867e+01">
+ <geometry s="2.1787228183284867e+01" x="3.5065363375948652e+02" y="-2.2283269048986955e+02" hdg="1.1910104123954142e+00" length="2.3554085468252297e+00">
+ <geometry s="2.4142636730110098e+01" x="3.5152683469576669e+02" y="-2.2064511888022182e+02" hdg="1.1738539524541853e+00" length="1.5857363269889902e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8152104530042479e+00" b="8.8420411505876744e-03" c="-1.4402681670032684e-04" d="5.8780456291928871e-07" />
+ <width sOffset="0.0000000000000000e+00" a="5.0208868946536587e+00" b="-1.1017460019243305e-02" c="1.1022855558884372e-04" d="-2.8865687926783044e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.9015290970793988e+00" b="-1.2096974704562935e-04" c="2.4318052358812872e-06" d="-1.2220933707258243e-08" />
+ <signal s="12" t="0" id="83" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="16" t="0" id="84" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="16" t="0" id="85" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="12" t="0" id="9" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="5.9082758650359239e+01" id="10066" junction="-1">
+ <predecessor elementType="junction" elementId="800013" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.7050610430984258e+02" y="-5.9082474551806634e+01" hdg="2.7465595953614428e+00" length="5.9082758650359239e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7576166159823048e+00" b="4.0602593566526650e-03" c="-1.0390087327970777e-04" d="6.3476952319598418e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.2176051725251753e+00" b="-2.8067749811682835e-03" c="2.2500449047132352e-05" d="1.3898716318955751e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.2913956892317340e+00" b="6.5185816541594294e-04" c="-9.1059758599649504e-06" d="3.4556059847201173e-08" />
+ <road name="" length="8.5659985433595551e+01" id="10067" junction="-1">
+ <predecessor elementType="junction" elementId="800014" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.7225181544264780e+02" y="-1.0136383341419696e+02" hdg="2.7472369980448064e+00" length="8.5659985433595551e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7556282004368855e+00" b="1.9313745969172006e-03" c="-4.1230717902295692e-05" d="2.0606001244652257e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4219863329041629e+00" b="-8.8440395353734432e-03" c="1.2845627958902052e-04" d="-5.4532727001546970e-07" />
+ <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.4999999999999999e-01" laneChange="both" />
+ <width sOffset="0.0000000000000000e+00" a="3.3001221501277942e+00" b="1.6211739656933613e-04" c="-2.4063682505584935e-06" d="1.0548343468421751e-08" />
+ <road name="" length="1.7657796746145962e+01" id="10076" junction="800012">
+ <predecessor elementType="road" elementId="10057" contactPoint="end" />
+ <successor elementType="road" elementId="10058" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2275296537343816e+02" y="-2.0629672859937597e+02" hdg="1.1754188600340838e+00" length="1.7657796746145962e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6508458960039221e+00" b="-5.8809483730839418e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3388054736127439e+00" b="-5.5540238638281617e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4021227057399446e+00" b="-3.1990882094460980e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.9461796774611489e+01" id="10078" junction="800015">
+ <predecessor elementType="road" elementId="10062" contactPoint="end" />
+ <successor elementType="road" elementId="10061" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.2121609983275735e+02" y="-2.4860712463614846e+02" hdg="1.1799346106332906e+00" length="1.9461796774611489e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8172131129556277e+00" b="1.8934440542757410e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0328731529788788e+00" b="7.5550803082387536e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1034782015169085e+00" b="-3.8451228770629568e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.9083538180361540e+01" id="10079" junction="-1">
+ <predecessor elementType="road" elementId="10061" contactPoint="end" />
+ <successor elementType="road" elementId="10060" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.3481477912044599e+02" y="-2.1559751633819360e+02" hdg="1.1768503457346753e+00" length="1.9083538180361540e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7330998032717844e+00" b="-9.5490365309808820e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0033709512368847e+00" b="1.0432298055004872e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0977998524896497e+00" b="5.3320471546522538e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.8409904933894314e+01" id="10080" junction="800017">
+ <predecessor elementType="road" elementId="10063" contactPoint="end" />
+ <successor elementType="road" elementId="10064" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.2203107510003770e+02" y="-2.9189092355786369e+02" hdg="1.1765524665358764e+00" length="1.8409904933894314e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6861328981784123e+00" b="-3.0101309873479124e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8762939997948136e+00" b="-2.1331584649256457e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9013706577625227e+00" b="-3.3313484390815848e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="17" t="0" id="25" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="18" t="0" id="33" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="6" t="0" id="34" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="5" t="0" id="35" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="1.6284090126201736e+01" id="10081" junction="800019">
+ <predecessor elementType="road" elementId="10064" contactPoint="end" />
+ <successor elementType="road" elementId="10065" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.3605733251978569e+02" y="-2.5799473576791883e+02" hdg="1.1754451725689148e+00" length="1.6284090126201736e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6696165043681184e+00" b="-8.9408709671695546e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9544473264062345e+00" b="4.0800295093258105e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9015269194983437e+00" b="1.3372445363254945e-07" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="16" t="0" id="29" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="17" t="0" id="30" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="5" t="0" id="31" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="4" t="0" id="32" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="2.9645610576321431e+01" id="10082" junction="800010">
+ <successor elementType="road" elementId="10057" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="7.4560816369406126e+01" y="-2.7554340018598288e+02" hdg="5.8880271823361756e+00" length="1.1906187368312619e+01">
+ <geometry s="1.1906187368312619e+01" x="8.5549461803109992e+01" y="-2.8012673621792578e+02" hdg="5.8880271823361756e+00" length="9.4375417093011507e+00">
+ <geometry s="2.1343729077613769e+01" x="9.3401701753924129e+01" y="-2.7688706144694976e+02" hdg="1.1777654933734480e+00" length="8.3018814987076599e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8483676482853140e+00" b="4.3980116268316919e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2421216982961814e+00" b="9.4877583911292581e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4018677358614573e+00" b="-1.9710507097417659e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.6937897602308713e+01" id="10083" junction="800010">
+ <predecessor elementType="road" elementId="10057" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="9.6581238601339251e+01" y="-2.6921817744375124e+02" hdg="4.3193581469632409e+00" length="8.4813024525887677e+00">
+ <geometry s="8.4813024525887677e+00" x="9.3332985338958196e+01" y="-2.7705280200627618e+02" hdg="4.3193581469632409e+00" length="9.4138314971488395e+00">
+ <geometry s="1.7895133949737605e+01" x="9.6567453040612037e+01" y="-2.8488905501370141e+02" hdg="5.8883300631547142e+00" length="9.0427636525711073e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7179859082861277e+00" b="-5.5577005519211508e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.5233920888018253e+00" b="-4.6643251797654781e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3960244356847387e+00" b="2.7052402725000133e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.2932046702370208e+01" id="10084" junction="800008">
+ <predecessor elementType="road" elementId="10066" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.1597367268858461e+02" y="-3.6345142447766307e+01" hdg="2.7462480655545809e+00" length="3.2932046702370208e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7495018915514038e+00" b="3.7555110557482025e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1589824421842869e+00" b="9.0817512111434125e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3052493749139544e+00" b="2.6040321057748052e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.2494955056087043e+01" id="10085" junction="800008">
+ <successor elementType="road" elementId="10015" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.1597367268858461e+02" y="-3.6345142447766307e+01" hdg="2.7465595953614428e+00" length="1.3386974835995874e+01">
+ <geometry s="1.3386974835995874e+01" x="1.0361771121123394e+02" y="-3.1193316438494172e+01" hdg="2.7465595953614428e+00" length="9.4262869249932209e+00">
+ <geometry s="2.2813261760989093e+01" x="9.5770195414476305e+01" y="-3.4423580110415514e+01" hdg="4.3176074161936464e+00" length="9.6816932950979524e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7495018915514038e+00" b="1.7360980803519917e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1589824421842869e+00" b="7.5204536293579398e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3052493749139544e+00" b="3.8654241700054643e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.4521292520014352e+01" id="10086" junction="800013">
+ <predecessor elementType="road" elementId="10067" contactPoint="end" />
+ <successor elementType="road" elementId="10066" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.9316672028870101e+02" y="-6.8452120773026394e+01" hdg="2.7495223288231667e+00" length="2.4521292520014352e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7632052826452984e+00" b="2.2791077013710177e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2642102399783512e+00" b="-1.9005958766299430e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3029821487187991e+00" b="-4.7250606702759477e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.3206519871150423e+01" id="10087" junction="800013">
+ <predecessor elementType="road" elementId="10059" contactPoint="end" />
+ <successor elementType="road" elementId="10067" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.7687998824496489e+02" y="-7.6834829441953957e+01" hdg="1.1725609419941228e+00" length="8.0202072459460236e+00">
+ <geometry s="8.0202072459460236e+00" x="1.7999016381073969e+02" y="-6.9442229613883825e+01" hdg="1.1725609419941228e+00" length="9.4014995852346530e+00">
+ <geometry s="1.7421706831180678e+01" x="1.8782592449708309e+02" y="-6.6229518195047078e+01" hdg="5.8888296516345999e+00" length="5.7848130399697446e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8081600565461819e+00" b="1.9371613732039944e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1806486969207302e+00" b="5.2715121645684525e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4006530409029492e+00" b="-5.8795029018641910e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.4097194053787486e+01" id="10088" junction="800013">
+ <geometry s="0.0000000000000000e+00" x="1.7687998824496489e+02" y="-7.6834829441953957e+01" hdg="1.1725609419941228e+00" length="7.9130461666573906e+00">
+ <geometry s="7.9130461666573906e+00" x="1.7994860755661995e+02" y="-6.9541004988638065e+01" hdg="1.1725609419941228e+00" length="9.4439919202039206e+00">
+ <geometry s="1.7357038086861312e+01" x="1.7672715936514473e+02" y="-6.1676347420200557e+01" hdg="2.7465595953614428e+00" length="6.7401559669261735e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8081600565461819e+00" b="2.0974824060867358e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1806486969207302e+00" b="1.5336422789290066e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4006530409029492e+00" b="-4.5340279630624722e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.3188432079249079e+01" id="10089" junction="800014">
+ <predecessor elementType="road" elementId="10060" contactPoint="end" />
+ <successor elementType="road" elementId="10067" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.7475378497142361e+02" y="-1.2002260595191854e+02" hdg="1.1745457874902883e+00" length="1.0253964737206887e+01">
+ <geometry s="1.0253964737206887e+01" x="2.7871142705360313e+02" y="-1.1056317351750451e+02" hdg="1.1745457874902883e+00" length="9.4361472633271077e+00">
+ <geometry s="1.9690112000533993e+01" x="2.7548161959103413e+02" y="-1.0270793480033103e+02" hdg="2.7472369980448064e+00" length="3.4983200787150843e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7581925850871327e+00" b="1.1058896269843285e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9397009753475447e+00" b="2.0798532471206058e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1028381113245249e+00" b="8.5078645304274506e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.3285580934697947e+01" id="10090" junction="800011">
+ <predecessor elementType="road" elementId="10029" contactPoint="end" />
+ <successor elementType="road" elementId="10062" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.7614817882186890e+02" y="-3.1805367992422845e+02" hdg="5.8883300631547142e+00" length="8.9256923924257556e+00">
+ <geometry s="8.9256923924257556e+00" x="1.8438705933870708e+02" y="-3.2148716685641142e+02" hdg="5.8883300631547142e+00" length="9.4279570330404159e+00">
+ <geometry s="1.8353649425466173e+01" x="1.9223464247044271e+02" y="-3.1825396598792742e+02" hdg="1.1764709281485308e+00" length="4.9319315092317746e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8289769137462963e+00" b="-9.2242208304492358e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3441913720593872e+00" b="-8.0844113206942972e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4003811910718231e+00" b="-1.2979128698194930e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.2450469210012287e+01" id="10030" junction="-1">
+ <successor elementType="junction" elementId="800016" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.0041687972361080e+02" y="-3.2814331712028729e+02" hdg="5.8887088184910734e+00" length="8.2450469210012287e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.9389009597234530e+00" b="-3.0371339219121998e-04" c="9.3165207384703804e-06" d="-4.1091642648253929e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.3991427612559320e+00" b="-8.8806331070079964e-04" c="7.2403315505943345e-06" d="-2.9535622742744265e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.4015310074706120e+00" b="-6.6320651591032190e-05" c="1.0632163452707223e-06" d="-4.8323673417155003e-09" />
+ <roadborrow sOffset="0" length="82.45" mode="All" />
+ <road name="" length="2.6282515522801518e+01" id="10050" junction="800011">
+ <successor elementType="road" elementId="10030" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.7614817882186890e+02" y="-3.1805367992422845e+02" hdg="5.8891781488031389e+00" length="2.6282515522801518e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8289769137462963e+00" b="-4.1824020186268527e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3441913720593872e+00" b="2.0907964136412821e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4003811910718231e+00" b="4.3748338997130336e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="105" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="26" t="0" id="106" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadborrow sOffset="0" length="26.283" mode="All" />
+ <road name="" length="2.4432867764057143e+01" id="10052" junction="800016">
+ <predecessor elementType="road" elementId="10030" contactPoint="end" />
+ <successor elementType="road" elementId="10063" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.7653497887119397e+02" y="-3.5983108850152968e+02" hdg="5.8887088184910734e+00" length="9.9268723110714241e+00">
+ <geometry s="9.9268723110714241e+00" x="2.8569944643625877e+02" y="-3.6364623307666596e+02" hdg="5.8887088184910734e+00" length="9.4267098247422414e+00">
+ <geometry s="1.9353582135813667e+01" x="2.9354532557024800e+02" y="-3.6041121175029008e+02" hdg="1.1766418154351941e+00" length="5.0792856282434737e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.9236398853333130e+00" b="8.1430248718457516e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3585870162471316e+00" b="6.4417523512673824e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4005821028119558e+00" b="6.1166670951390875e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="9.4230002306832844e+01" id="10105" junction="-1">
+ <predecessor elementType="junction" elementId="800022" contactPoint="start" />
+ <successor elementType="road" elementId="10053" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.8657505846002499e+02" y="-3.0336034557363718e+02" hdg="1.4521907651932020e+00" length="2.4154146925601705e+01">
+ <geometry s="2.4154146925601705e+01" x="4.8943316264902523e+02" y="-2.7937589114689706e+02" hdg="1.4481537112781209e+00" length="2.2866247976080438e+00">
+ <geometry s="2.6440771723209750e+01" x="4.8971289780312668e+02" y="-2.7710644160822125e+02" hdg="1.4421065779061344e+00" length="1.6661811755089786e+01">
+ <geometry s="4.3102583478299536e+01" x="4.9185118869289454e+02" y="-2.6058240811053116e+02" hdg="1.4680317847428437e+00" length="2.2271236142930251e+00">
+ <geometry s="4.5329707092592564e+01" x="4.9207965541280589e+02" y="-2.5836703397706418e+02" hdg="1.4481264946626091e+00" length="4.8900295214240280e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6870717683767751e+00" b="-1.0746547650595940e-03" c="4.2361834254732316e-05" d="-2.6245954238413602e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.7604574616577731e+00" b="-3.2373253888741036e-03" c="7.3055835327098925e-05" d="-3.2485566070043673e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.8928327857947442e+00" b="4.6571304028629629e-05" c="1.1331948636894052e-08" d="-1.8394909614238100e-09" />
+ <road name="" length="1.5921376049331251e+01" id="10106" junction="-1">
+ <predecessor elementType="junction" elementId="800023" contactPoint="start" />
+ <successor elementType="junction" elementId="800022" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.8267531372027742e+02" y="-3.3560923800226016e+02" hdg="1.4509744163394132e+00" length="1.5921376049331251e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6606985006310717e+00" b="1.5550203943446831e-02" c="-1.0550014666146983e-03" d="1.7685092889697566e-05" />
+ <width sOffset="0.0000000000000000e+00" a="2.4506617449535328e+00" b="4.2209317078156262e-02" c="-1.2520777032515784e-03" d="6.5912207385092059e-06" />
+ <width sOffset="0.0000000000000000e+00" a="2.8942044542877636e+00" b="9.1031905478451282e-05" c="-1.1794930028396114e-05" d="2.4125497181863082e-07" />
+ <road name="" length="6.4169190948204132e+01" id="10107" junction="-1">
+ <predecessor elementType="road" elementId="10068" contactPoint="end" />
+ <successor elementType="junction" elementId="800023" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.7246128410438826e+02" y="-4.2031281730505003e+02" hdg="1.4495682893299680e+00" length="3.0371718564887356e+01">
+ <geometry s="3.0371718564887356e+01" x="4.7613417620965026e+02" y="-3.9016400054273203e+02" hdg="1.4432741433601599e+00" length="2.3866020070959233e+00">
+ <geometry s="3.2758320571983276e+01" x="4.7643769670814532e+02" y="-3.8779677760281538e+02" hdg="1.4467802139914885e+00" length="8.5274981997544259e+00">
+ <geometry s="4.1285818771737702e+01" x="4.7749253512542219e+02" y="-3.7933477184411657e+02" hdg="1.4343248031352140e+00" length="2.4503787383954534e+00">
+ <geometry s="4.3736197510133152e+01" x="4.7782590498594789e+02" y="-3.7690717622341003e+02" hdg="1.4560958700305764e+00" length="2.0432993438070980e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6578878887245247e+00" b="-2.3745397518910348e-03" c="-1.1816528524331163e-05" d="2.1175753341661417e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.0365051068350417e+00" b="-6.8891816659803814e-03" c="1.7486241413458255e-04" d="-1.3054620436284043e-06" />
+ <width sOffset="0.0000000000000000e+00" a="2.8866183732313724e+00" b="6.3411933411197641e-04" c="-1.0352403375796741e-05" d="4.7863097679666673e-08" />
+ <road name="" length="2.1148787099034287e+01" id="10108" junction="800023">
+ <predecessor elementType="road" elementId="10107" contactPoint="end" />
+ <successor elementType="road" elementId="10106" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.8016444307452281e+02" y="-3.5660844571018492e+02" hdg="1.4517915351154886e+00" length="2.1148787099034287e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8029645470148230e+00" b="6.7269127878377272e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9695199416625973e+00" b="-2.4533709393327663e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.8973281565086513e+00" b="-1.4770124670791568e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.6562456028131074e+01" id="10109" junction="800022">
+ <predecessor elementType="road" elementId="10106" contactPoint="end" />
+ <successor elementType="road" elementId="10105" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.8457848172001502e+02" y="-3.1980201918081679e+02" hdg="1.4499540850275545e+00" length="1.6562456028131074e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6091749078674713e+00" b="-4.7032191588612928e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.8319043021112256e+00" b="-4.3137829517615727e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.8936375922223521e+00" b="-4.8592215202919068e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="7.7960454129533730e+01" id="10114" junction="-1">
+ <geometry s="0.0000000000000000e+00" x="1.3939891245789704e+02" y="-1.9943350848055547e+02" hdg="5.8861931511679728e+00" length="3.6339919735911764e+01">
+ <geometry s="3.6339919735911764e+01" x="1.7291260887589883e+02" y="-2.1348419952457618e+02" hdg="5.8932745054878835e+00" length="2.4030989281661022e+00">
+ <geometry s="3.8743018664077866e+01" x="1.7513533833173454e+02" y="-2.1439763163738661e+02" hdg="5.8872659241001566e+00" length="3.9217435465455871e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6895660861986910e+00" b="-3.6520316107171324e-04" c="1.4480482512216187e-05" d="-1.0964179323431458e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9995580865796789e+00" b="-2.8579424263456735e-04" c="4.1315498740737779e-06" d="-1.8658726822560005e-08" />
+ <road name="" length="1.3119239831518425e+02" id="10116" junction="-1">
+ <successor elementType="road" elementId="10148" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.7597397842491597e+02" y="-3.0770081088139881e+02" hdg="2.7529885394143667e+00" length="1.5286628652691617e+01">
+ <geometry s="1.5286628652691617e+01" x="4.6182713825864170e+02" y="-3.0190875348569034e+02" hdg="2.7357166288697021e+00" length="2.2371052384944692e+00">
+ <geometry s="1.7523733891186087e+01" x="4.5977178244209199e+02" y="-3.0102549117160993e+02" hdg="2.7427288708881727e+00" length="2.7954580213303785e+01">
+ <geometry s="4.5478314104489868e+01" x="4.3401155673529547e+02" y="-2.9016872708478667e+02" hdg="2.7530490741345552e+00" length="2.3668296602001750e+00">
+ <geometry s="4.7845143764690043e+01" x="4.3182114631438310e+02" y="-2.8927207507404796e+02" hdg="2.7481439787880406e+00" length="4.4812630658987366e+01">
+ <geometry s="9.2657774423677409e+01" x="3.9043254049147379e+02" y="-2.7209199432293821e+02" hdg="2.7631883405906525e+00" length="2.4046355544142775e+00">
+ <geometry s="9.5062409978091694e+01" x="3.8819802009543059e+02" y="-2.7120363023698008e+02" hdg="2.7455194006488739e+00" length="3.6129988337092549e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7623375306028022e+00" b="-3.3040648570514873e-04" c="7.6698849342465347e-06" d="-2.4347073841318568e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.0065727276868026e+00" b="-4.5158467504208315e-04" c="4.4333830889995618e-06" d="-1.2681107855908631e-08" />
+ <road name="" length="6.0335614771199154e+01" id="10118" junction="-1">
+ <successor elementType="road" elementId="10132" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.3618960943266740e+02" y="-2.8140243894070073e+02" hdg="5.8959069565288749e+00" length="1.5555819039722351e+01">
+ <geometry s="1.5555819039722351e+01" x="3.5059337030979003e+02" y="-2.8727740094834468e+02" hdg="5.8770907372279835e+00" length="2.4653753039727406e+00">
+ <geometry s="1.8021194343695093e+01" x="3.5285823803464734e+02" y="-2.8825128470852263e+02" hdg="5.8854865844141777e+00" length="4.2314420427504061e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7615236776393512e+00" b="5.8559471915346269e-03" c="-1.3688790819405220e-04" d="9.4286763747398643e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.0003182122693763e+00" b="1.1366584311127355e-05" c="-8.9725758579216467e-06" d="1.0634721396549615e-07" />
+ <road name="" length="7.1162459726769683e+01" id="10119" junction="-1">
+ <predecessor elementType="road" elementId="10132" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.0165602350118110e+02" y="-3.0885870753907892e+02" hdg="5.8785973119733077e+00" length="1.8067400695610214e+01">
+ <geometry s="1.8067400695610214e+01" x="4.1826474640038253e+02" y="-3.1597076009465513e+02" hdg="5.8845485622226343e+00" length="2.4272302520982616e+00">
+ <geometry s="2.0494630947708476e+01" x="4.2050165999078570e+02" y="-3.1691291946852488e+02" hdg="5.8861881078442790e+00" length="2.8945287166583178e+01">
+ <geometry s="4.9439918114291658e+01" x="4.4719576175941302e+02" y="-3.2810463872528487e+02" hdg="5.8997767161843626e+00" length="2.3224773418400462e+00">
+ <geometry s="5.1762395456131706e+01" x="4.4934961546434602e+02" y="-3.2897343975032271e+02" hdg="5.8950500998466326e+00" length="1.9400064270637973e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6926411682506908e+00" b="2.2107741152801186e-04" c="-1.4429692301406645e-05" d="9.5026724696753830e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.0123691753467137e+00" b="-1.0082185128341011e-03" c="1.6087352307987481e-05" d="-7.3132821211638960e-08" />
+ <road name="" length="2.2905127904361503e+01" id="10122" junction="800012">
+ <successor elementType="road" elementId="10114" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2275296537343816e+02" y="-2.0629672859937597e+02" hdg="1.1763284432537688e+00" length="6.7504223861675507e+00">
+ <geometry s="6.7504223861675507e+00" x="1.2534726740427209e+02" y="-2.0006473057591006e+02" hdg="1.1763284432537688e+00" length="9.4399235955922922e+00">
+ <geometry s="1.6190345981759844e+01" x="1.3320635164591559e+02" y="-1.9683726371975004e+02" hdg="5.8861931511679728e+00" length="6.7147819226016594e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6508458960039221e+00" b="-1.6904594620227363e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4021227057399446e+00" b="-1.7575305444315414e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.5899567388644510e+01" id="10123" junction="800012">
+ <predecessor elementType="road" elementId="10058" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2955398165907883e+02" y="-1.9000120886508540e+02" hdg="4.3177185936569167e+00" length="9.0151672767719648e-01">
+ <geometry s="9.0151672767719648e-01" x="1.2920734492892413e+02" y="-1.9083342000871991e+02" hdg="4.3177185936569167e+00" length="6.2738982300442245e+00">
+ <arc curvature="2.5000000000000000e-01" />
+ <geometry s="7.1754149577214212e+00" x="1.3135325362873363e+02" y="-1.9606034829421893e+02" hdg="5.8861931511679728e+00" length="8.7241524309230876e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7546904870504161e+00" b="4.0959857120538403e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2407336491020220e+00" b="-1.5168687086077005e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.7695883748017685e+01" id="10126" junction="800015">
+ <predecessor elementType="road" elementId="10114" contactPoint="end" />
+ <successor elementType="road" elementId="10062" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.1131900664814876e+02" y="-2.2952209498835938e+02" hdg="5.8872659241001566e+00" length="1.0479317988533037e+01">
+ <geometry s="1.0479317988533037e+01" x="2.2098766962365892e+02" y="-2.3356351327539565e+02" hdg="5.8872659241001566e+00" length="9.4152140541709972e+00">
+ <geometry s="1.9894532042704036e+01" x="2.2421326562145953e+02" y="-2.4140448028389605e+02" hdg="4.3180635817383237e+00" length="7.8013517053136514e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6819791784826332e+00" b="-4.8828170894771959e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9935472301038311e+00" b="1.4199194087050027e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.9920521530478457e+01" id="10128" junction="800015">
+ <geometry s="0.0000000000000000e+00" x="2.1131900664814876e+02" y="-2.2952209498835938e+02" hdg="5.8872659241001566e+00" length="1.1396760946767820e+01">
+ <geometry s="1.1396760946767820e+01" x="2.2183414138566991e+02" y="-2.3391733121972945e+02" hdg="5.8872659241001566e+00" length="7.8802223195610877e+00">
+ <arc curvature="2.0000000000000001e-01" />
+ <geometry s="1.9276983266328909e+01" x="2.2838569271091586e+02" y="-2.3120816513328151e+02" hdg="1.1801250808327877e+00" length="6.4353826414954740e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.6819791784826332e+00" b="-4.9388320950360448e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9935472301038311e+00" b="5.1428207467184676e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.7900688194869261e+01" id="10127" junction="800015">
+ <successor elementType="road" elementId="10117" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.1131900664814876e+02" y="-2.2952209498835938e+02" hdg="5.8860738449755932e+00" length="2.7900688194869261e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6819791784826332e+00" b="-4.2697210427839995e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9935472301038311e+00" b="-6.5635240823727501e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.0656603008583868e+01" id="10132" junction="-1">
+ <predecessor elementType="road" elementId="10118" contactPoint="end" />
+ <successor elementType="road" elementId="10119" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.9187021741229381e+02" y="-3.0463956226150725e+02" hdg="5.8761175403762769e+00" length="1.0656603008583868e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6994302674144510e+00" b="6.3707911032170807e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9916990076185512e+00" b="1.9396582298798844e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.3997542438294081e+01" id="10133" junction="800022">
+ <predecessor elementType="road" elementId="10105" contactPoint="start" />
+ <successor elementType="road" elementId="10116" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.8657505846002499e+02" y="-3.0336034557363718e+02" hdg="4.5937834187829951e+00" length="4.4945538621000397e-01">
+ <geometry s="4.4945538621000397e-01" x="4.8652187544652207e+02" y="-3.0380664335681331e+02" hdg="4.5937834187829951e+00" length="1.1044769276211770e+01">
+ <geometry s="1.1494224662421775e+01" x="4.7829064596916373e+02" y="-3.0864931042089648e+02" hdg="2.7529885394143667e+00" length="2.5033177758723055e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6870717683767751e+00" b="-5.3770697647693606e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.7604574616577731e+00" b="1.7582748337001956e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.7266267169237409e+01" id="10134" junction="800022">
+ <geometry s="0.0000000000000000e+00" x="4.8457848172001502e+02" y="-3.1980201918081679e+02" hdg="1.4509744163394132e+00" length="3.6635948234561395e+00">
+ <geometry s="3.6635948234561395e+00" x="4.8501641098004899e+02" y="-3.1616469255351745e+02" hdg="1.4509744163394132e+00" length="7.8120847384497214e+00">
+ <geometry s="1.1475679561905860e+01" x="4.8133281320862773e+02" y="-3.0989484702491666e+02" hdg="2.7529885394143667e+00" length="5.7905876073315481e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6091749078674713e+00" b="-8.8706274051066677e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.8936375922223521e+00" b="6.5407962449267783e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.8522605612320085e+01" id="10136" junction="800023">
+ <predecessor elementType="road" elementId="10119" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.6730663357703691e+02" y="-3.3631564610845345e+02" hdg="5.8950500998466326e+00" length="9.1768714574085415e+00">
+ <geometry s="9.1768714574085415e+00" x="4.7580089651759477e+02" y="-3.3978875233234942e+02" hdg="5.8950500998466326e+00" length="9.1955481183618346e+00">
+ <geometry s="1.8372419575770376e+01" x="4.8265736117284160e+02" y="-3.3575834719585691e+02" hdg="1.4509744163394132e+00" length="1.5018603654970844e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.7157369844241162e+00" b="2.9714223228095005e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9957346261937174e+00" b="-5.4814195168320307e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.8819076979214657e+01" id="10135" junction="800023">
+ <successor elementType="road" elementId="10107" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.6730663357703691e+02" y="-3.3631564610845345e+02" hdg="5.8950500998466326e+00" length="1.1129528795044555e+01">
+ <geometry s="1.1129528795044555e+01" x="4.7760830821946621e+02" y="-3.4052776086962211e+02" hdg="5.8950500998466326e+00" length="7.7841694573575761e+00">
+ <geometry s="1.8913698252402131e+01" x="4.8129810493883156e+02" y="-3.4676815412410872e+02" hdg="4.5976885236203699e+00" length="9.9053787268125255e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7157369844241162e+00" b="-3.0267299210734082e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9957346261937174e+00" b="-9.0962956759604603e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.2602288704836823e+01" id="10137" junction="800015">
+ <geometry s="0.0000000000000000e+00" x="2.2121609983275735e+02" y="-2.4860712463614846e+02" hdg="1.1764709281485308e+00" length="7.7466678895308752e+00">
+ <geometry s="7.7466678895308752e+00" x="2.2419225689527326e+02" y="-2.4145496744199190e+02" hdg="1.1764709281485308e+00" length="9.4318012307506898e+00">
+ <geometry s="1.7178469120281566e+01" x="2.3204338794842059e+02" y="-2.3822324647525681e+02" hdg="5.8876893635363352e+00" length="5.4238195845552584e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8172131129556277e+00" b="5.4561341346474031e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1034782015169085e+00" b="-4.9447310961026076e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.5063356092422524e+01" id="10139" junction="800015">
+ <predecessor elementType="road" elementId="10061" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.2863075798372736e+02" y="-2.3061311512741105e+02" hdg="4.3217177344225810e+00" length="7.3203385765866025e-01">
+ <geometry s="7.3203385765866025e-01" x="2.2835199277732360e+02" y="-2.3128999290696751e+02" hdg="4.3217177344225810e+00" length="7.8298581455687710e+00">
+ <geometry s="8.5618920032274310e+00" x="2.3104893155644731e+02" y="-2.3780806679988248e+02" hdg="5.8876893635363352e+00" length="6.5014640891950934e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7803632895672168e+00" b="5.7405066311021664e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1799085905536906e+00" b="-1.2493406362035482e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.7671230203051771e+01" id="10142" junction="800017">
+ <predecessor elementType="road" elementId="10117" contactPoint="end" />
+ <successor elementType="road" elementId="10063" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.1352123554072449e+02" y="-2.7223976704529929e+02" hdg="5.8876893635363352e+00" length="9.3907439529579939e+00">
+ <geometry s="9.3907439529579939e+00" x="3.2218706672085443e+02" y="-2.7585770042604372e+02" hdg="5.8876893635363352e+00" length="9.4023772296777999e+00">
+ <geometry s="1.8793121182635794e+01" x="3.2542089662212879e+02" y="-2.8368544186409582e+02" hdg="4.3206264919233686e+00" length="8.8781090204159785e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6835170515582281e+00" b="-9.4533080061461134e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9947960972652941e+00" b="6.7994732750335588e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.7670204035814464e+01" id="10141" junction="800017">
+ <geometry s="0.0000000000000000e+00" x="3.1352123554072449e+02" y="-2.7223976704529929e+02" hdg="5.8876893635363352e+00" length="1.2403564050192847e+01">
+ <geometry s="1.2403564050192847e+01" x="3.2496731400153084e+02" y="-2.7701843725952222e+02" hdg="5.8876893635363352e+00" length="4.7275723485017505e+00">
+ <arc curvature="3.3333333333333331e-01" />
+ <geometry s="1.7131136398694597e+01" x="3.2889734266439501e+02" y="-2.7539179208344746e+02" hdg="1.1803615058573320e+00" length="5.3906763711986794e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.6835170515582281e+00" b="-3.2841766749386529e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9947960972652941e+00" b="1.0755063019299854e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.1591923593884328e+01" id="10143" junction="800017">
+ <successor elementType="road" elementId="10118" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.2203107510003770e+02" y="-2.9189092355786369e+02" hdg="1.1790338383335754e+00" length="9.0859573052624381e+00">
+ <geometry s="9.0859573052624381e+00" x="3.2550025683134476e+02" y="-2.8349334067537796e+02" hdg="1.1790338383335754e+00" length="9.3978731339057209e+00">
+ <geometry s="1.8483830439168159e+01" x="3.3331170049903710e+02" y="-2.8022860623195368e+02" hdg="5.8959069565288749e+00" length="3.1080931547161694e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6861328981784123e+00" b="-3.4916194072811824e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9013706577625227e+00" b="-8.8044607847334103e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.1084521241122765e+01" id="10144" junction="800017">
+ <predecessor elementType="road" elementId="10064" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.2910250671235144e+02" y="-2.7489329270449485e+02" hdg="4.3219541594471256e+00" length="3.4102940977544999e-01">
+ <geometry s="3.4102940977544999e-01" x="3.2897271414206188e+02" y="-2.7520865748856153e+02" hdg="4.3219541594471256e+00" length="4.7218583912452479e+00">
+ <geometry s="5.0628878010206977e+00" x="3.3061393592171709e+02" y="-2.7912825025322502e+02" hdg="5.8959069565288749e+00" length="6.0216334401020681e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7415491234940568e+00" b="-1.8020222714888521e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8370227552466005e+00" b="-1.6569994346379024e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.2869800343312832e+01" id="10117" junction="-1">
+ <geometry s="0.0000000000000000e+00" x="2.3704851907612354e+02" y="-2.4031285918585755e+02" hdg="5.8876893635363352e+00" length="8.2869800343312832e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6938919940320121e+00" b="2.2075238783554559e-03" c="-3.7341344981984034e-05" d="1.4738344368992446e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9917159617150131e+00" b="3.0378235860584738e-04" c="-4.9828344750738280e-06" d="2.1305360127268355e-08" />
+ <road name="" length="2.4450147876192862e+01" id="10131" junction="800017">
+ <geometry s="0.0000000000000000e+00" x="3.1352123554072449e+02" y="-2.7223976704529929e+02" hdg="5.8990591252602806e+00" length="2.4450147876192862e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6835170515582281e+00" b="-3.1904357583488617e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9947960972652941e+00" b="2.2585200842319543e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.2435191609817917e+01" id="10148" junction="800019">
+ <predecessor elementType="road" elementId="10116" contactPoint="end" />
+ <successor elementType="road" elementId="10064" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.5486510575263912e+02" y="-2.5726473219392909e+02" hdg="2.7455194006488739e+00" length="1.1080882295418625e+01">
+ <geometry s="1.1080882295418625e+01" x="3.4464207171925847e+02" y="-2.5298974358607728e+02" hdg="2.7455194006488739e+00" length="9.4586085527895101e+00">
+ <geometry s="2.0539490848208136e+01" x="3.3677881831337527e+02" y="-2.5624169851012414e+02" hdg="4.3219541594471256e+00" length="1.8957007616097810e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7286504999142824e+00" b="2.6313122960059791e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9949991035310086e+00" b="8.7338154135387328e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.8000000000000000e+01" id="10044" junction="800018">
+ <successor elementType="road" elementId="10151" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0290016217869237e+02" y="-3.7081642071481946e+02" hdg="5.8911209547225596e+00" length="2.8000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8757356142291446e+00" b="8.7634189151375771e-03" c="-1.8646652392448123e-04" d="1.0312733585097437e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.6437832934044381e+00" b="-1.0696288766498696e-02" c="5.1204176813294251e-05" d="2.1275274559243509e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4044031612043648e+00" b="-2.4125431245557231e-04" c="4.0521119714546009e-06" d="-2.0989105233597708e-08" />
+ <road name="" length="2.5286553803581675e+01" id="10046" junction="-1">
+ <predecessor elementType="road" elementId="10045" contactPoint="end" />
+ <successor elementType="road" elementId="10068" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.2558337625659897e+02" y="-4.2176136488233988e+02" hdg="5.8883269111204273e+00" length="2.5286553803581675e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7602731410718215e+00" b="-2.8987288627187871e-02" c="1.0129114922347933e-03" d="-1.0186267778564524e-05" />
+ <width sOffset="0.0000000000000000e+00" a="3.3552612916949704e+00" b="-1.2458642292080683e-02" c="6.0448916054149421e-04" d="-6.9314324022546849e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.3913017539781882e+00" b="1.1463058395927064e-03" c="-5.1897039380537739e-05" d="6.9189255500447105e-07" />
+ <road name="" length="3.8216759187607735e+01" id="10068" junction="-1">
+ <predecessor elementType="road" elementId="10046" contactPoint="end" />
+ <successor elementType="road" elementId="10107" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.4892415618120515e+02" y="-4.3148853280381280e+02" hdg="5.8883269111204273e+00" length="1.4947629296890071e+01">
+ <geometry s="1.4947629296890071e+01" x="4.6272158103092465e+02" y="-4.3723854924844920e+02" hdg="5.8883269111204273e+00" length="1.1066560112334763e+01">
+ <geometry s="2.6014189409224834e+01" x="4.7098561119812263e+02" y="-4.3242583091315009e+02" hdg="1.4495682893299680e+00" length="1.2202569778382902e+01">
+ <elevation s="0.0000000000000000e+00" a="-7.0102926055819808e+00" b="9.2212088190808100e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3146707986972883e+00" b="-7.2786310973340018e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3982912468167732e+00" b="-1.3388703921061867e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.6323159327228893e+01" id="10045" junction="-1">
+ <predecessor elementType="road" elementId="10151" contactPoint="end" />
+ <successor elementType="road" elementId="10046" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.4588780895945933e+02" y="-3.8859052845301187e+02" hdg="5.8887754020010741e+00" length="8.6323159327228893e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7677675130787405e+00" b="8.6817628841753808e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2784346013595687e+00" b="8.8998932539263969e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3998361637507588e+00" b="-9.8865818154532915e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.4291218867380705e+01" id="10031" junction="-1">
+ <predecessor elementType="junction" elementId="800024" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.6816541728691237e+02" y="-1.4110490584516859e+02" hdg="2.7475919565288671e+00" length="1.4291218867380705e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8168111796029462e+00" b="1.0566003983786322e-02" c="-4.2785967610254379e-04" d="4.7803353337347714e-06" />
+ <width sOffset="0.0000000000000000e+00" a="4.0870337315355805e+00" b="-9.1093045804126888e-02" c="3.4407974189134818e-03" d="-4.1724988435055907e-05" />
+ <width sOffset="0.0000000000000000e+00" a="3.2904235375085480e+00" b="1.6364468242361697e-03" c="-6.1088437142369376e-05" d="7.1622750879216836e-07" />
+ <road name="" length="8.9529657164110688e+01" id="10054" junction="800014">
+ <predecessor elementType="road" elementId="10031" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.5496918241420747e+02" y="-1.3561871209177406e+02" hdg="2.7489738202718144e+00" length="8.9529657164110688e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7392427550545584e+00" b="-1.8301695663027140e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3661600125952056e+00" b="6.2355114581334628e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3034242613645710e+00" b="-3.6882875924833964e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="9.3850271307897970e+01" id="10069" junction="800014">
+ <successor elementType="road" elementId="10031" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.7475378497142361e+02" y="-1.2002260595191854e+02" hdg="1.1745457874902883e+00" length="1.0405922334102071e+01">
+ <geometry s="1.0405922334102071e+01" x="2.7877007693153735e+02" y="-1.1042299041198726e+02" hdg="1.1745457874902883e+00" length="9.4112789073072882e+00">
+ <geometry s="1.9817201241409357e+01" x="2.8660847854347742e+02" y="-1.0719847933818870e+02" hdg="5.8891846101186598e+00" length="7.4033070066488605e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7581925850871327e+00" b="2.0191555941703079e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1028381113245249e+00" b="2.8057660100607594e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9397009753475447e+00" b="3.8755698939190726e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.7119360043732200e+01" id="10070" junction="800024">
+ <predecessor elementType="road" elementId="10124" contactPoint="end" />
+ <successor elementType="road" elementId="10031" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.7664301194040098e+02" y="-1.6032805649975279e+02" hdg="1.1778333079165604e+00" length="8.5020889848420271e+00">
+ <geometry s="8.5020889848420271e+00" x="3.7989869362377675e+02" y="-1.5247400952493123e+02" hdg="1.1778333079165604e+00" length="9.4185518916738395e+00">
+ <geometry s="1.7920640876515868e+01" x="3.7665933650997493e+02" y="-1.4463616207339692e+02" hdg="2.7475919565288671e+00" length="9.1987191672163302e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7560758806504504e+00" b="-2.2395550210091678e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.7108044099549025e+00" b="-2.3000936504896888e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9014198661152575e+00" b="-5.9403921258054958e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.9196453862792037e+01" id="10073" junction="800009">
+ <successor elementType="road" elementId="10016" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-5.2175774330178157e+00" y="1.4153527848751079e+01" hdg="5.8917505205800076e+00" length="2.9196453862792037e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6740326889086443e+00" b="-4.0466515409646455e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4014651488811505e+00" b="1.9872985442625146e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.0278939813253576e+00" id="10043" junction="-1">
+ <predecessor elementType="road" elementId="10053" contactPoint="end" />
+ <successor elementType="junction" elementId="800024" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.2340175232820786e+02" y="-1.6420781315810382e+02" hdg="2.7427616636000782e+00" length="8.0278939813253576e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6945040673500120e+00" b="2.8137809066315508e-03" c="-2.2264997154203576e-04" d="3.6135754461280058e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.1533024955880542e+00" b="2.5654905029750853e-02" c="-1.1253944476017333e-03" d="1.0932499581157326e-05" />
+ <width sOffset="0.0000000000000000e+00" a="3.3010755770477362e+00" b="-3.7577827672121054e-03" c="3.0518261390881157e-04" d="-5.9039577963025122e-06" />
+ <road name="" length="9.5952185978385032e+01" id="10053" junction="-1">
+ <predecessor elementType="road" elementId="10105" contactPoint="end" />
+ <successor elementType="road" elementId="10043" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.9806321337920622e+02" y="-2.0983420069790586e+02" hdg="1.4481264946626091e+00" length="1.2053334019702000e+01">
+ <geometry s="1.2053334019702000e+01" x="4.9953808837698068e+02" y="-1.9787144162102709e+02" hdg="1.4481264946626091e+00" length="2.5892703378749382e+00">
+ <arc curvature="5.0000000000000000e-01" />
+ <geometry s="1.4642604357576937e+01" x="4.9832980009813883e+02" y="-1.9578368560428962e+02" hdg="2.7427616636000782e+00" length="8.1309581620808089e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6317921418499344e+00" b="-6.5357474517781851e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.8322830973603983e+00" b="3.3456183926854084e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.8957827251574448e+00" b="4.2239043098152131e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="5.1845314066941349e+01" id="10071" junction="800024">
+ <predecessor elementType="road" elementId="10043" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.1600392280142609e+02" y="-1.6109024999626160e+02" hdg="2.7458644232616205e+00" length="5.1845314066941349e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6843949022570417e+00" b="-2.5540645230720761e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2923851600279392e+00" b="1.5327297863054918e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2875220679950652e+00" b="5.5963968310356810e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.8625968489194150e+01" id="10072" junction="800024">
+ <successor elementType="road" elementId="10124" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.1600392280142609e+02" y="-1.6109024999626160e+02" hdg="2.7427616636000782e+00" length="3.0617947214510650e+01">
+ <geometry s="3.0617947214510650e+01" x="3.8778900684963895e+02" y="-1.4920003513427747e+02" hdg="2.7427616636000782e+00" length="9.4599857874376525e+00">
+ <geometry s="4.0077933001948303e+01" x="3.7991628779228733e+02" y="-1.5243156513404662e+02" hdg="4.3194259615063535e+00" length="8.5480354872458495e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6843949022570417e+00" b="-1.4741295776831247e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2923851600279392e+00" b="3.3090028971759895e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2875220679950652e+00" b="2.9270005023676281e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.2868329104134938e+01" id="10075" junction="800000">
+ <predecessor elementType="road" elementId="10001" contactPoint="start" />
+ <successor elementType="road" elementId="10199" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-3.7371139847523338e+01" y="-1.0027933610548020e+02" hdg="1.1738490689524426e+00" length="6.8870832649712421e-01">
+ <geometry s="6.8870832649712421e-01" x="-3.7104881923077926e+01" y="-9.9644177954578794e+01" hdg="1.1738490689524426e+00" length="7.8340069593750368e+00">
+ <geometry s="8.5227152858721613e+00" x="-3.9764679462201038e+01" y="-9.3107685712084375e+01" hdg="2.7406504608274500e+00" length="4.3456138182627768e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6856575444237070e+00" b="1.6917323291437489e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9562315399664305e+00" b="-7.4197820442218260e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="10" t="0" id="71" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <validity fromLane="-2" toLane="2" />
+ <signal s="11" t="0" id="72" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadnoavoid sOffset="0" length="12.868" />
+ <road name="" length="3.3963830593811821e+01" id="10019" junction="800002">
+ <predecessor elementType="road" elementId="10002" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-7.8380793938645922e+01" y="-1.9828907154689179e+02" hdg="4.3164176784807449e+00" length="3.3963830593811821e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6915811280888509e+00" b="-1.5258904797690979e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.4986494329165643e+00" b="3.9764863380333773e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.4945573299369421e+00" b="1.6024900512987263e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="20" t="0" id="61" name="" dynamic="yes" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="22" t="0" id="62" name="" dynamic="yes" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="4" t="0" id="63" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="5" t="0" id="64" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadborrow sOffset="0" length="33.964" mode="All" />
+ <road name="" length="2.0603900142401191e+01" id="10018" junction="800001">
+ <successor elementType="road" elementId="10002" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-4.3641499002797588e+01" y="-1.1523727485921749e+02" hdg="4.3143468377274639e+00" length="2.0603900142401191e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6868721050782076e+00" b="2.1061659516842185e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8442840841130117e+00" b="-1.6709656023060526e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9023984868097079e+00" b="-1.9530209524826991e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="20" t="0" id="65" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="19" t="0" id="66" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="0" t="0" id="67" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="1" t="0" id="68" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadborrow sOffset="0" length="20.604" mode="All" />
+ <road name="" length="2.8562220058572727e+01" id="10091" junction="800016">
+ <successor elementType="junction" elementId="800018" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.7653497887119397e+02" y="-3.5983108850152968e+02" hdg="5.8883993852497101e+00" length="2.8562220058572727e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.9236398853333130e+00" b="1.6771900435586168e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3585870162471316e+00" b="9.9850878738575854e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4005821028119558e+00" b="1.3378016080588671e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="107" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="8.5000000000000000e+01" id="10149" junction="-1">
+ <predecessor elementType="road" elementId="10196" contactPoint="end" />
+ <successor elementType="junction" elementId="800025" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.4181543585285550e+02" y="-4.6493690063804382e+02" hdg="2.7447324386182959e+00" length="8.5000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5149999999999988e+00" b="-7.4658406990874102e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="standard" width="1.0000000000000001e-01" laneChange="both" />
+ <roadMark sOffset="0.0000000000000000e+00" type="solid" weight="standard" color="yellow" width="1.0000000000000001e-01" laneChange="both" />
+ <roadborrow sOffset="0" length="85" mode="All" />
+ <road name="" length="5.6205950001313887e+01" id="10110" junction="-1">
+ <predecessor elementType="junction" elementId="800025" contactPoint="start" />
+ <successor elementType="junction" elementId="800026" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.4391130818428650e+02" y="-4.3496868331578526e+02" hdg="4.3205491488394951e+00" length="5.6205950001313887e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5442369652037709e+00" b="1.5876782654093713e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.5000000000000000e+01" id="10154" junction="-1">
+ <predecessor elementType="junction" elementId="800028" contactPoint="start" />
+ <successor elementType="road" elementId="10098" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.2717329378793092e+01" y="-4.4757997898963919e+02" hdg="1.1767223340483770e+00" length="4.5000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.4261269359378153e+00" b="-1.1269359378176176e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.2542191671187382e+01" id="10098" junction="800031">
+ <predecessor elementType="road" elementId="10171" contactPoint="end" />
+ <successor elementType="road" elementId="10154" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.0004073012620239e+01" y="-3.7974626377783716e+02" hdg="5.8879788995370186e+00" length="2.2557081338653997e+01">
+ <geometry s="2.2557081338653997e+01" x="4.0822389497539724e+01" y="-3.8843071063715882e+02" hdg="5.8879788995370186e+00" length="9.4179834713930894e+00">
+ <geometry s="3.1975064810047087e+01" x="4.4052512355150043e+01" y="-3.9627193327585832e+02" hdg="4.3183149876381703e+00" length="1.0567126861140292e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="2.7220471675988610e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="32" t="0" id="57" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="30" t="0" id="58" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="15" t="0" id="59" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="16" t="0" id="60" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="8.0448827175697559e+01" id="10100" junction="-1">
+ <predecessor elementType="road" elementId="10156" contactPoint="end" />
+ <successor elementType="road" elementId="10103" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.1192417687298686e+01" y="-4.6605621195046979e+02" hdg="5.8877941983733271e+00" length="8.0448827175697559e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.4499999999999984e+00" b="1.5164919649301519e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5158197194388492e+01" id="10103" junction="800026">
+ <predecessor elementType="road" elementId="10100" contactPoint="end" />
+ <successor elementType="road" elementId="10110" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.0543429539960786e+02" y="-4.9704261844905858e+02" hdg="5.8877941983733271e+00" length="5.8341118753825310e+00">
+ <geometry s="5.8341118753825310e+00" x="1.1081828216011249e+02" y="-4.9928973836957692e+02" hdg="5.8877941983733271e+00" length="9.4460856243357672e+00">
+ <geometry s="1.5280197499718298e+01" x="1.1867454514210810e+02" y="-4.9604399910354272e+02" hdg="1.1789564952497020e+00" length="9.8779996946701960e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.3279999999999985e+00" b="-5.0480564652036304e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.9134626410285094e+01" id="10155" junction="800028">
+ <predecessor elementType="junction" elementId="800029" contactPoint="start" />
+ <successor elementType="road" elementId="10154" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0036910232942034e+01" y="-4.6882474992617580e+02" hdg="2.7462015447835375e+00" length="8.9234641277853832e+00">
+ <geometry s="8.9234641277853832e+00" x="2.1801927128733997e+01" y="-4.6538770682006253e+02" hdg="2.7462015447835375e+00" length="9.4168752644109635e+00">
+ <geometry s="1.8340339392196348e+01" x="1.8572827014909098e+01" y="-4.5754691093405614e+02" hdg="1.1767223340483770e+00" length="1.0794287018088744e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.4499999999999993e+00" b="8.1940518906933283e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="7" t="0" id="53" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="8" t="0" id="54" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="24" t="0" id="55" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="25" t="0" id="56" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="2.6138575158555298e+01" id="10156" junction="800028">
+ <predecessor elementType="road" elementId="10154" contactPoint="start" />
+ <successor elementType="road" elementId="10100" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.2717329378793092e+01" y="-4.4757997898963919e+02" hdg="4.3183149876381703e+00" length="7.7942844158947802e+00">
+ <geometry s="7.7942844158947802e+00" x="1.9724687981327300e+01" y="-4.5477685102004477e+02" hdg="4.3183149876381703e+00" length="9.4168752644109404e+00">
+ <geometry s="1.7211159680305720e+01" x="2.2953788095152181e+01" y="-4.6261764690605111e+02" hdg="5.8877941983733271e+00" length="8.9274154782495785e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.4261269359378153e+00" b="-9.1332690926610675e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.0528210263710243e+01" id="10158" junction="800025">
+ <predecessor elementType="road" elementId="10159" contactPoint="end" />
+ <successor elementType="road" elementId="10149" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.5015288654917052e+02" y="-4.1985304321306069e+02" hdg="4.3570053155778954e+00" length="3.9921213313915566e-01">
+ <geometry s="3.9921213313915566e-01" x="1.5001398065486762e+02" y="-4.2022730980223668e+02" hdg="4.3570053155778954e+00" length="9.1759186597811642e+00">
+ <geometry s="9.5751307929203193e+00" x="1.5331991206029568e+02" y="-4.2784868514298120e+02" hdg="5.8863250922080894e+00" length="1.0953079470789923e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5444121178616319e+00" b="-1.6585726492094064e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="7.0884561416171763e+01" id="10163" junction="-1">
+ <predecessor elementType="road" elementId="10146" contactPoint="end" />
+ <successor elementType="junction" elementId="800032" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="7.1225985363254651e+01" y="-3.8127975010211446e+02" hdg="5.8885655576611526e+00" length="7.0884561416171763e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5757547515584251e+00" b="4.0565605519662175e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.7039743890779746e+01" id="10146" junction="-1">
+ <predecessor elementType="road" elementId="10216" contactPoint="end" />
+ <successor elementType="road" elementId="10163" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.9594061949060439e+01" y="-3.8294530372669436e+02" hdg="1.1767223340483770e+00" length="4.8513643246076024e+00">
+ <geometry s="4.8513643246076024e+00" x="5.1456759399823490e+01" y="-3.7846578433093367e+02" hdg="1.1767223340483770e+00" length="7.8567104178340541e+00">
+ <arc curvature="-2.0000000000000001e-01" />
+ <geometry s="1.2708074742441656e+01" x="5.7995807874149413e+01" y="-3.7576983683744334e+02" hdg="5.8885655576611526e+00" length="1.4331669148338090e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.4311981476579945e+00" b="-5.3460788861141133e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.9910710754682519e+01" id="10159" junction="800032">
+ <predecessor elementType="road" elementId="10163" contactPoint="end" />
+ <successor elementType="road" elementId="10158" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.3666255936357499e+02" y="-4.0853182947715720e+02" hdg="5.8885655576611526e+00" length="1.1791780661034686e+01">
+ <geometry s="1.1791780661034686e+01" x="1.4754805702915417e+02" y="-4.1306526434827003e+02" hdg="5.8885655576611526e+00" length="7.6578012104162863e+00">
+ <geometry s="1.9449581871450974e+01" x="1.5031333638172069e+02" y="-4.1942072886193989e+02" hdg="4.3570053155778954e+00" length="4.6112888323154455e-01">
+ <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="1.2997437260030606e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.9696450327015789e+01" id="10051" junction="800011">
+ <predecessor elementType="road" elementId="10030" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.0041687972361080e+02" y="-3.2814331712028729e+02" hdg="2.7471161649012803e+00" length="5.3545505815969570e+00">
+ <geometry s="5.3545505815969570e+00" x="1.9547356992845863e+02" y="-3.2608542980558008e+02" hdg="2.7471161649012803e+00" length="9.4238714205164964e+00">
+ <geometry s="1.4778422002113453e+01" x="1.9223998387152295e+02" y="-3.1824112979032071e+02" hdg="1.1764709281485308e+00" length="4.9180283249023358e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.9389009597234530e+00" b="4.4903985458308576e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4015310074706120e+00" b="-1.2468736521107431e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3991427612559320e+00" b="-1.5281338360493833e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.9999999999999957e+01" id="10164" junction="-1">
+ <predecessor elementType="road" elementId="10009" contactPoint="end" />
+ <successor elementType="road" elementId="10167" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.8980690071052828e+02" y="-2.7296517283765183e+01" hdg="6.2096306687522747e+00" length="5.8785982810830006e-01">
+ <geometry s="5.8785982810830006e-01" x="-1.8922057898670425e+02" y="-2.7339012540510794e+01" hdg="6.2051871958168805e+00" length="2.2822841441621384e+00">
+ <geometry s="2.8701439722704407e+00" x="-1.8694523369580241e+02" y="-2.7516845950939569e+01" hdg="6.2129477548325793e+00" length="1.4171915298715289e+01">
+ <arc curvature="1.4226942847840237e-02" />
+ <geometry s="1.7042059270985732e+01" x="-1.7280392296525304e+02" y="-2.7084355284137246e+01" hdg="2.1302942206065117e-01" length="8.2449537010061025e-01">
+ <geometry s="1.7866554641086339e+01" x="-1.7199806538325319e+02" y="-2.6910038982975522e+01" hdg="2.3419132030408313e-01" length="5.8758125102832226e-01">
+ <geometry s="1.8454135892114664e+01" x="-1.7142652373794581e+02" y="-2.6773686959743944e+01" hdg="2.7783638273288758e-01" length="8.0065882519578269e-01">
+ <geometry s="1.9254794717310446e+01" x="-1.7065656928497464e+02" y="-2.6554085742275220e+01" hdg="2.4426815290847959e-01" length="6.4645255334817939e+00">
+ <arc curvature="1.1090438819242633e-01" />
+ <geometry s="2.5719320250792236e+01" x="-1.6544451190266599e+02" y="-2.2967318702688999e+01" hdg="9.4979257322207100e-01" length="2.3080518421720901e+00">
+ <geometry s="2.8027372092964328e+01" x="-1.6410156778125159e+02" y="-2.1090192070596089e+01" hdg="1.1444196964078883e+00" length="1.9726279070356725e+00">
+ <arc curvature="-1.4379606781796653e-02" />
+ <elevation s="0.0000000000000000e+00" a="-6.7219305658628103e+00" b="1.5768452964320984e-03" c="1.9617937647603766e-06" d="-6.1917236111958645e-09" />
+ <width sOffset="0.0000000000000000e+00" a="2.9959825611145670e+00" b="1.9658046546895309e-05" c="-1.6405821080455151e-07" d="3.4764649689718825e-10" />
+ <road name="" length="7.4000000000000043e+01" id="10167" junction="-1">
+ <predecessor elementType="road" elementId="10164" contactPoint="end" />
+ <successor elementType="road" elementId="10168" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.6326037759008764e+02" y="-1.9305983838002032e+01" hdg="1.1160540827779168e+00" length="7.2019315907182726e+00">
+ <geometry s="7.2019315907182744e+00" x="-1.5976799707287773e+02" y="-1.3011163965131971e+01" hdg="8.8550064860068556e-01" length="2.3714611480130685e+00">
+ <geometry s="9.5733927387313429e+00" x="-1.5826709465787485e+02" y="-1.1175102986522063e+01" hdg="8.2881446804574388e-01" length="7.1702289266517747e+00">
+ <arc curvature="-5.1900933758373312e-02" />
+ <geometry s="1.6743621665383117e+01" x="-1.5256071611914720e+02" y="-6.9020686506711399e+00" hdg="5.0726235367268468e-01" length="1.0703691636264847e+00">
+ <geometry s="1.7813990829009597e+01" x="-1.5162513031086348e+02" y="-6.3820981305639313e+00" hdg="4.4440175459155051e-01" length="9.1703002440555075e+00">
+ <geometry s="2.6984291073065108e+01" x="-1.4334555945635282e+02" y="-2.4396226352359003e+00" hdg="1.4695858529543646e-01" length="8.8523299699122671e-01">
+ <geometry s="2.7869524070056329e+01" x="-1.4246986837928048e+02" y="-2.3099978054463577e+00" hdg="4.7949210038747747e-01" length="1.7688899197208414e+01">
+ <arc curvature="1.0655007783019277e-02" />
+ <geometry s="4.5558423267264743e+01" x="-1.2763525283068509e+02" y="7.2767732689593458e+00" hdg="3.1276394511649425e-01" length="8.4081514206670682e-01">
+ <geometry s="4.6399238409331446e+01" x="-1.2683522834866775e+02" y="7.5354833988374610e+00" hdg="4.5838848332655063e-01" length="5.9509640908164119e-01">
+ <geometry s="4.6994334818413080e+01" x="-1.2630156566794017e+02" y="7.7988156591105025e+00" hdg="4.2601294639266579e-01" length="7.4791444720611078e-01">
+ <geometry s="4.7742249265619193e+01" x="-1.2562049936020085e+02" y="8.1078863707639357e+00" hdg="3.5108271036081407e-01" length="8.6314753099254951e+00">
+ <arc curvature="-7.7328515443964976e-02" />
+ <geometry s="5.6373724575544685e+01" x="-1.1714963213923591e+02" y="8.2548971406992564e+00" hdg="6.1108303270494915e+00" length="2.3873108793302120e+00">
+ <geometry s="5.8761035454874900e+01" x="-1.1479769258126770e+02" y="7.8454663770374395e+00" hdg="6.0369334751227370e+00" length="6.6890856998620389e+00">
+ <arc curvature="7.6819430607474079e-02" />
+ <geometry s="6.5450121154736934e+01" x="-1.0818233334966062e+02" y="7.9160817031421971e+00" hdg="3.4514400365283504e-01" length="1.2730075627678072e+00">
+ <geometry s="6.6723128717504736e+01" x="-1.0698439919122889e+02" y="8.3467811423413707e+00" hdg="5.4111667516766815e-01" length="7.2768712824952644e+00">
+ <arc curvature="5.3925288753630403e-02" />
+ <elevation s="0.0000000000000000e+00" a="-6.6730267691190654e+00" b="1.6778352685674922e-03" c="1.4045386397527496e-06" d="-6.1917236111958645e-09" />
+ <width sOffset="0.0000000000000000e+00" a="2.9964340365766655e+00" b="1.0753199440244639e-05" c="-1.3277002608380462e-07" d="3.4764649689718825e-10" />
+ <road name="" length="4.0907188127760115e+01" id="10169" junction="-1">
+ <predecessor elementType="road" elementId="10168" contactPoint="end" />
+ <successor elementType="road" elementId="10010" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-9.5724812905373952e+01" y="2.1311493375671382e+01" hdg="1.0341076809292593e+00" length="8.8735635134530995e+00">
+ <arc curvature="1.1402525407374131e-02" />
+ <geometry s="8.8735635134530924e+00" x="-9.1581033484989717e+01" y="2.9153818835839381e+01" hdg="1.1056909751959267e+00" length="2.3463731704534183e+00">
+ <geometry s="1.1219936683906496e+01" x="-9.0528645313021684e+01" y="3.1250946917413181e+01" hdg="1.3685044934414052e+00" length="1.0959370246327126e+01">
+ <arc curvature="-5.3863710159958902e-02" />
+ <geometry s="2.2179306930233622e+01" x="-8.5374606717340498e+01" y="4.0742844908381279e+01" hdg="5.2737146517252909e-01" length="1.4107867837946855e+00">
+ <geometry s="2.3590093714028313e+01" x="-8.4155499442114433e+01" y="4.1452842655434488e+01" hdg="4.6145299109796101e-01" length="8.2414950862741954e+00">
+ <arc curvature="-8.0708937449868359e-02" />
+ <geometry s="3.1831588800302512e+01" x="-7.6132188130915452e+01" y="4.2492583883236186e+01" hdg="6.1736598150533482e+00" length="2.3340335339722351e+00">
+ <geometry s="3.4165622334274758e+01" x="-7.3812139946801423e+01" y="4.2237458500147561e+01" hdg="6.0931700764446362e+00" length="6.1283370560049217e+00">
+ <arc curvature="-3.2142867603593792e-02" />
+ <geometry s="4.0293959390279667e+01" x="-6.7852720633301175e+01" y="4.0464551123547224e+01" hdg="5.9175373032281593e+00" length="6.1322873748043061e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.5258480412685511e+00" b="1.7827313546441600e-03" c="-1.5577571026860880e-07" d="-6.1917236111958645e-09" />
+ <width sOffset="0.0000000000000000e+00" a="2.9966065314948955e+00" b="-4.1931838955148601e-06" c="-4.5163108865713161e-08" d="3.4764649689718825e-10" />
+ <road name="" length="1.0028257486500541e+01" id="10168" junction="-1">
+ <predecessor elementType="road" elementId="10167" contactPoint="end" />
+ <successor elementType="road" elementId="10169" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.0163202527433300e+02" y="1.3207741760303882e+01" hdg="9.4090528812769925e-01" length="1.0028257486500541e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.5436847406624086e+00" b="1.7786439386771021e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9966435993764673e+00" b="-3.6963432203112462e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="5.7883631416992316e+01" id="10170" junction="-1">
+ <predecessor elementType="road" elementId="10010" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-5.8638066860378956e+01" y="3.6440314015258743e+01" hdg="5.9354718715325818e+00" length="4.9491495064576041e-01">
+ <geometry s="4.9491495064576085e-01" x="-5.8172770434282462e+01" y="3.6271672252238645e+01" hdg="5.8875339702506011e+00" length="5.7388716466346558e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6810809169140031e+00" b="8.7676726188241785e-04" c="-1.6259266381135487e-05" d="5.5556715784792693e-08" />
+ <width sOffset="0.0000000000000000e+00" a="3.3927366285441036e+00" b="3.1425152666739907e-04" c="-3.4477221038775264e-06" d="1.0777276899194293e-08" />
+ <road name="" length="9.4425301363663774e+00" id="10010" junction="-1">
+ <predecessor elementType="road" elementId="10169" contactPoint="end" />
+ <successor elementType="road" elementId="10170" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-6.7280031061449534e+01" y="4.0245288407235883e+01" hdg="5.8684351109348061e+00" length="9.4425301363663774e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.4536060374316291e+00" b="-2.4090458404394315e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9963832220707860e+00" b="4.1975339315765234e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.0000000000000000e+01" id="10177" junction="800025">
+ <predecessor elementType="road" elementId="10110" contactPoint="start" />
+ <successor elementType="road" elementId="10178" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.4391130818428650e+02" y="-4.3496868331578526e+02" hdg="1.1781873619094989e+00" length="4.0000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5442369652037709e+00" b="-9.9517811804150681e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.1880796273120852e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="7.4781750262215365e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="6.1000000000000000e+01" id="10178" junction="-1">
+ <geometry s="0.0000000000000000e+00" x="1.5921531513356416e+02" y="-3.9801212271693544e+02" hdg="1.1781873619094989e+00" length="6.1000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.9423082124203734e+00" b="-9.9517811804150681e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0475231850924835e+00" b="1.1880796273120852e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0299127001048860e+00" b="7.4781750262215365e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.0254803429946492e+01" id="10179" junction="800011">
+ <predecessor elementType="road" elementId="10178" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.8255392573121259e+02" y="-3.4165336780368943e+02" hdg="1.1781873619094989e+00" length="3.0254803429946492e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.5493668644256928e+00" b="-9.9517811804150681e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1199960423585207e+00" b="1.1880796273120852e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0755295677648373e+00" b="7.4781750262215365e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.3037705025359401e+01" id="10181" junction="800025">
+ <geometry s="0.0000000000000000e+00" x="1.3666255936357499e+02" y="-4.0853182947715720e+02" hdg="5.8885655576611526e+00" length="1.1801935440764897e+01">
+ <geometry s="1.1801935440764897e+01" x="1.4755743134116227e+02" y="-4.1306916842636144e+02" hdg="5.8885655576611526e+00" length="7.8640355571396636e+00">
+ <geometry s="1.9665970997904559e+01" x="1.5409928737156264e+02" y="-4.1036645518936888e+02" hdg="1.1781873619094989e+00" length="1.3371734027454842e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="-1.1965365394386232e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="9.0541095641859270e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.8517194788699211e+01" id="10185" junction="800011">
+ <geometry s="0.0000000000000000e+00" x="1.8255392573121259e+02" y="-3.4165336780368943e+02" hdg="1.1781873619094989e+00" length="1.4328316314880928e+01">
+ <geometry s="1.4328316314880928e+01" x="1.8803594204257223e+02" y="-3.2841523554942978e+02" hdg="1.1781873619094989e+00" length="7.8633192529900597e+00">
+ <geometry s="2.2191635567870989e+01" x="1.9457713680221525e+02" y="-3.2571224697152246e+02" hdg="5.8887088184910734e+00" length="6.3255592208282225e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.5493668644256928e+00" b="-1.3659621789031110e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.1199960423585207e+00" b="9.7887159296618995e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0755295677648373e+00" b="1.1431749936181046e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.2132495531113122e+01" id="10186" junction="800011">
+ <successor elementType="road" elementId="10178" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.7614817882186890e+02" y="-3.1805367992422845e+02" hdg="5.8883300631547142e+00" length="9.9588605399041636e+00">
+ <geometry s="9.9588605399041636e+00" x="1.8534072753010707e+02" y="-3.2188460037497248e+02" hdg="5.8883300631547142e+00" length="7.8427502382771097e+00">
+ <geometry s="1.7801610778181274e+01" x="1.8803692472741676e+02" y="-3.2841286253351797e+02" hdg="4.3197800154992922e+00" length="1.4330884752931844e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8289769137462963e+00" b="8.7017844303398043e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3441913720593872e+00" b="-8.3610625273225700e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4003811910718231e+00" b="-8.7259064096597248e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="7.7649415860190246e+01" id="10157" junction="-1">
+ <predecessor elementType="junction" elementId="800009" contactPoint="start" />
+ <successor elementType="road" elementId="10017" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="9.9180230033203376e-01" y="-9.1298015532845582e+00" hdg="4.3254309633457524e+00" length="3.5202653611613677e-01">
+ <geometry s="3.5202653611613677e-01" x="8.5895695413137529e-01" y="-9.4557997068418338e+00" hdg="4.3091463665621097e+00" length="2.3011018604114155e+00">
+ <geometry s="2.6531283965275527e+00" x="-4.4002169418499229e-02" y="-1.1572338058298504e+01" hdg="4.3136730869454096e+00" length="7.4996287463662696e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7311811051646462e+00" b="-8.8517410039677875e-04" c="9.8535333334225291e-06" d="-2.6765711489403358e-08" />
+ <width sOffset="0.0000000000000000e+00" a="4.9508447474530124e+00" b="-8.9406920266165942e-04" c="1.1055167941535104e-05" d="-3.6901332317170502e-08" />
+ <width sOffset="0.0000000000000000e+00" a="4.8865654642320280e+00" b="2.7328392395542587e-04" c="-2.3093188782086078e-06" d="6.3732765851954745e-09" />
+ <signal s="74" t="0" id="76" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="77" t="0" id="77" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="77.5" t="0" id="78" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="77" t="0" id="79" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="74" t="0" id="80" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadborrow sOffset="0" length="77.649" mode="All" />
+ <road name="" length="2.9054368907432270e+01" id="10175" junction="800009">
+ <successor elementType="road" elementId="10157" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.1770533118874344e+01" y="3.0146406960328562e+00" hdg="2.7468164164460735e+00" length="3.5735024010068290e+00">
+ <geometry s="3.5735024010068290e+00" x="1.8471895063368059e+01" y="4.3890156044065831e+00" hdg="2.7468164164460735e+00" length="1.7364760015896469e+01">
+ <arc curvature="9.0909090909090912e-02" />
+ <geometry s="2.0938262416903299e+01" x="4.0546025892853272e+00" y="-1.6137893822197658e+00" hdg="4.3254309633457524e+00" length="8.1161064905289706e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7921805639232149e+00" b="2.0994935031256076e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4006792173072560e+00" b="5.1141577077747989e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="29.054" />
+ <road name="" length="5.7999999999999993e+01" id="10120" junction="-1">
+ <predecessor elementType="road" elementId="10032" contactPoint="end" />
+ <successor elementType="road" elementId="10093" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.2372356779224877e+01" y="-1.0088822733355919e+02" hdg="5.8870587750219414e+00" length="5.7999999999999993e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7210174816294455e+00" b="3.1995679522652601e-03" c="-6.0787425774162508e-05" d="2.8028281378844427e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9940364603390091e+00" b="1.2871572935041565e-04" c="-3.6844765528046412e-06" d="2.4786069217061854e-08" />
+ <road name="" length="7.0999999999999957e+01" id="10125" junction="-1">
+ <predecessor elementType="road" elementId="10041" contactPoint="end" />
+ <successor elementType="road" elementId="10077" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.5843039269580447e+02" y="-2.1391758394333510e+02" hdg="5.8883434001846169e+00" length="7.0999999999999957e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8769956294122920e+00" b="2.3272712257605763e-04" c="2.8575133501788492e-05" d="-1.1963003410550051e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9560411387487271e+00" b="6.5145149772769591e-04" c="-3.7620335206447727e-06" d="7.0624118384376367e-09" />
+ <signal s="63" t="0" id="82" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="2.8999999999999986e+01" id="10129" junction="-1">
+ <predecessor elementType="road" elementId="10040" contactPoint="end" />
+ <successor elementType="road" elementId="10041" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.7337234199858946e+02" y="-1.7868187287677478e+02" hdg="5.8904918620094984e+00" length="2.8999999999999986e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6100349902331184e+00" b="-2.2057151935744759e-03" c="4.2790412204873399e-05" d="-2.0763829461464674e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.0101326684409009e+00" b="-8.1540098009456256e-04" c="1.2041121541625943e-05" d="-4.9090029615192960e-08" />
+ <road name="" length="5.1664738526946422e+01" id="10040" junction="-1">
+ <predecessor elementType="road" elementId="10034" contactPoint="end" />
+ <successor elementType="road" elementId="10129" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2572414686967301e+02" y="-1.5870952429143199e+02" hdg="5.8862692320693766e+00" length="5.1664738526946422e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7196344898521767e+00" b="2.1213598044611277e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9936662836900245e+00" b="3.1871611509827155e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="7" t="0" id="4" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="8" t="0" id="5" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="20" t="0" id="17" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="21" t="0" id="18" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="6.3067515059831102e+01" id="10041" junction="-1">
+ <predecessor elementType="road" elementId="10129" contactPoint="end" />
+ <successor elementType="road" elementId="10125" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.0016491099416879e+02" y="-1.8977954139845627e+02" hdg="5.8904321733097662e+00" length="6.3067515059831102e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6434260979532320e+00" b="-3.7034839764572376e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9950316171618203e+00" b="-6.1823394145311744e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="34" t="0" id="19" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="35" t="0" id="20" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="46" t="0" id="21" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="47" t="0" id="22" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="2.0930970790608079e+01" id="10077" junction="800019">
+ <predecessor elementType="road" elementId="10125" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.2396746726591260e+02" y="-2.4122860473700155e+02" hdg="5.8883434001846169e+00" length="1.2618485578300561e+01">
+ <geometry s="1.2618485578300561e+01" x="3.3561505360826357e+02" y="-2.4608245997662897e+02" hdg="5.8883434001846169e+00" length="7.8678844975696194e+00">
+ <geometry s="2.0486370075870180e+01" x="3.4215898193169380e+02" y="-2.4337764379902890e+02" hdg="1.1787349925189550e+00" length="4.4460071473789781e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.7542677800108288e+00" b="-2.9116027920102296e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9862966197174865e+00" b="9.1502324307924349e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="7" t="0" id="26" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="20" t="0" id="27" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="19" t="0" id="28" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="9" t="0" id="23" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="2.1576696622941434e+01" id="10056" junction="800016">
+ <predecessor elementType="road" elementId="10063" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.9549591178644187e+02" y="-3.5572139769145201e+02" hdg="4.3182344690249872e+00" length="6.0893027623702833e+00">
+ <geometry s="6.0893027623702833e+00" x="2.9315745104533590e+02" y="-3.6134378237182710e+02" hdg="4.3182344690249872e+00" length="7.8508245811236144e+00">
+ <geometry s="1.3940127343493899e+01" x="2.9585100603886303e+02" y="-3.6787931532411449e+02" hdg="5.8883993852497101e+00" length="7.6365692794475342e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.9037441403439894e+00" b="1.2980914828762413e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8950592857348845e+00" b="-5.7992009351423450e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9324918499203330e+00" b="-7.0821252920209618e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="17" t="0" id="37" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="20" t="0" id="38" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="7" t="0" id="39" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="5" t="0" id="40" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="3.2480312523530074e+01" id="10124" junction="800021">
+ <predecessor elementType="junction" elementId="800020" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.6422680717647057e+02" y="-1.9034139690406576e+02" hdg="1.1891503273241297e+00" length="2.0415173303745076e+00">
+ <geometry s="2.0415173303745107e+00" x="3.6498716734137804e+02" y="-1.8844676094171274e+02" hdg="1.1778333079165604e+00" length="3.0438795193155567e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6702999444594004e+00" b="-1.8476848784752774e-03" c="-4.3512236441128462e-05" d="5.8780456291928871e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.6975670172226964e+00" b="-1.2649432843386639e-03" c="6.0868229234044711e-05" d="-2.8865687926783044e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.9002715253331273e+00" b="3.7138609000191255e-05" c="3.4202557194012735e-07" d="-1.2220933707258243e-08" />
+ <road name="" length="4.0000000000000000e+00" id="10138" junction="800020">
+ <predecessor elementType="road" elementId="10112" contactPoint="end" />
+ <successor elementType="junction" elementId="800021" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.6268309902981855e+02" y="-1.9403149114931759e+02" hdg="1.1738539524541853e+00" length="3.8097107603690361e+00">
+ <geometry s="3.8097107603690361e+00" x="3.6415593422551729e+02" y="-1.9051799537388501e+02" hdg="1.1891503273241297e+00" length="1.9028923963096389e-01">
+ <elevation s="0.0000000000000000e+00" a="-6.6636430202205847e+00" b="-1.4713723679261248e-03" c="-5.0565891196159934e-05" d="5.8780456291928871e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.7036191560680685e+00" b="-1.7657446484158779e-03" c="6.4332111785258682e-05" d="-2.8865687926783044e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.9001292254460358e+00" b="3.3815799606721833e-05" c="4.8867677642722617e-07" d="-1.2220933707258243e-08" />
+ <road name="" length="9.8963299276354491e+01" id="10171" junction="-1">
+ <predecessor elementType="junction" elementId="800030" contactPoint="start" />
+ <successor elementType="junction" elementId="800031" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-7.1330849879043555e+01" y="-3.4164552278720635e+02" hdg="5.8879788995370186e+00" length="9.8963299276354491e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5697889348722587e+00" b="2.3027662819347645e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="98.963" mode="All" />
+ <road name="" length="2.0191429396826045e+01" id="10032" junction="-1">
+ <predecessor elementType="road" elementId="10208" contactPoint="end" />
+ <successor elementType="road" elementId="10120" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-3.1055945431089306e+01" y="-9.3232031399876860e+01" hdg="5.8942748278459991e+00" length="2.0191429396826045e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.7381975786232573e+00" b="-1.9725299406649538e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="-2.9535004896326822e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="13" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="1" t="0" id="16" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="5.6972068779857544e+01" id="10096" junction="800021">
+ <predecessor elementType="road" elementId="10115" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.6199004283328424e+02" y="-1.9714276108317225e+02" hdg="1.0895616124153005e+00" length="8.8454737901384330e+00">
+ <geometry s="8.8454737901384330e+00" x="3.6615351215296198e+02" y="-1.8911550038997871e+02" hdg="9.8921630754143131e-01" length="1.5941823162361977e+01">
+ <arc curvature="9.4397295408823797e-03" />
+ <geometry s="2.4787296952500412e+01" x="3.7381707483714951e+02" y="-1.7515537886113592e+02" hdg="1.0611237157854818e+00" length="4.8680102735039643e+00">
+ <arc curvature="1.9989383762114327e-01" />
+ <geometry s="2.9655307226004375e+01" x="3.7389194665913055e+02" y="-1.7049569644782360e+02" hdg="2.1106878200897010e+00" length="5.0004037601483597e+00">
+ <arc curvature="2.8854982015099612e-01" />
+ <geometry s="3.4655710986152734e+01" x="3.6953235683025605e+02" y="-1.6910305648407086e+02" hdg="3.5660177390733399e+00" length="2.6516156397197377e+00">
+ <arc curvature="2.6386016008485169e-01" />
+ <geometry s="3.7307326625872470e+01" x="3.6757352333803976e+02" y="-1.7103315460889726e+02" hdg="4.4165086263831146e+00" length="2.9619281531633108e+00">
+ <geometry s="4.0269254779035784e+01" x="3.6678612675156546e+02" y="-1.7370211794981196e+02" hdg="4.6377938525784934e+00" length="1.6702814000821760e+01">
+ <arc curvature="-2.1294273439387619e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.7573999082049880e+00" b="-5.1605572964676365e-03" c="2.9287056978389111e-04" d="-3.5269815117396298e-06" />
+ <road name="" length="1.3000000000000000e+01" id="10112" junction="800020">
+ <predecessor elementType="road" elementId="10065" contactPoint="end" />
+ <successor elementType="road" elementId="10138" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.5765729556377556e+02" y="-2.0602070711704087e+02" hdg="1.1738539524541853e+00" length="1.3000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6543522216744293e+00" b="1.4135771657411336e-04" c="-7.3490269150012190e-05" d="5.8780456291928871e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.7380801425529349e+00" b="-3.5847285926213931e-03" c="7.5589730076704073e-05" d="-2.8865687926783044e-07" />
+ <width sOffset="0.0000000000000000e+00" a="4.8997990558177191e+00" b="1.4914190030034060e-05" c="9.6529319101029787e-07" d="-1.2220933707258243e-08" />
+ <road name="" length="9.8787967223603967e+00" id="10115" junction="800020">
+ <successor elementType="road" elementId="10096" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.5765729556377556e+02" y="-2.0602070711704087e+02" hdg="1.1167665553069119e+00" length="9.8787967223603967e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.6543522216744293e+00" b="3.9447641478934292e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8997990558177191e+00" b="-1.9231077520985668e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.6976809101546714e+01" id="10121" junction="800020">
+ <predecessor elementType="junction" elementId="800021" contactPoint="start" />
+ <successor elementType="road" elementId="10065" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.6263638815124489e+02" y="-1.8979046730748269e+02" hdg="4.4147248155208878e+00" length="1.6976809101546714e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.7530159225591753e+00" b="-2.2980386218513899e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.0237967171313618e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5999999999999993e+01" id="10194" junction="-1">
+ <predecessor elementType="road" elementId="10233" contactPoint="end" />
+ <successor elementType="road" elementId="10195" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.9314815986182924e+02" y="-4.3326168813709364e+02" hdg="5.0225307389174434e+00" length="5.6299313415713090e+00">
+ <arc curvature="-5.4136713596511218e-02" />
+ <geometry s="5.6299313415713073e+00" x="2.9402361000701785e+02" y="-4.3880024924501777e+02" hdg="4.5357765214035517e+00" length="2.3135156881465577e+00">
+ <geometry s="7.9434470297178663e+00" x="2.9353599672180724e+02" y="-4.4105817772137686e+02" hdg="4.4753746349857613e+00" length="7.1349300140571881e+00">
+ <arc curvature="-4.5595966181175507e-02" />
+ <geometry s="1.5078377043775056e+01" x="2.9074328335374594e+02" y="-4.4758381587825716e+02" hdg="3.9151428152075507e+00" length="2.8079826090844469e+00">
+ <geometry s="1.7886359652859504e+01" x="2.8873435499519110e+02" y="-4.4954569589067250e+02" hdg="3.6685290889926225e+00" length="2.8673018123865490e+00">
+ <geometry s="2.0753661465246054e+01" x="2.8627744097732023e+02" y="-4.5105418039786628e+02" hdg="3.4532863997048393e+00" length="5.2463385347539457e+00">
+ <arc curvature="6.7782813305608106e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.8108819145679877e+00" b="5.2609565863385700e-05" c="-6.8879602282289406e-05" d="1.2026663460486854e-06" />
+ <roadnoavoid sOffset="0" length="26" />
+ <road name="" length="1.3692280952020727e+01" id="10195" junction="800034">
+ <predecessor elementType="road" elementId="10194" contactPoint="end" />
+ <successor elementType="road" elementId="10218" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.8167154796534544e+02" y="-4.5350794905516494e+02" hdg="4.3327858304853706e+00" length="1.3692280952020727e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.8349386133002157e+00" b="-1.9665220422364416e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="13.692" />
+ <road name="" length="2.2286225184833441e+01" id="10196" junction="-1">
+ <predecessor elementType="road" elementId="10218" contactPoint="end" />
+ <successor elementType="road" elementId="10149" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.6236955649148661e+02" y="-4.7355107255191359e+02" hdg="2.7447324386182959e+00" length="2.2286225184833441e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5216173405496427e+00" b="2.9692514074330256e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="22.286" mode="All" />
+ <road name="" length="8.0448827175697744e+01" id="10102" junction="800029">
+ <predecessor elementType="road" elementId="10140" contactPoint="end" />
+ <successor elementType="road" elementId="10155" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.0427878794525149e+02" y="-4.9981115642476436e+02" hdg="2.7462015447835375e+00" length="8.0448827175697744e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.3279999999999994e+00" b="-1.5164919649301495e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.3224775837266968e+01" id="10198" junction="800025">
+ <predecessor elementType="road" elementId="10149" contactPoint="end" />
+ <successor elementType="road" elementId="10110" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.6342170879527345e+02" y="-4.3208231864372641e+02" hdg="2.7447324386182959e+00" length="7.8843124539428739e+00">
+ <geometry s="7.8843124539428739e+00" x="1.5615017187114296e+02" y="-4.2903483876152774e+02" hdg="2.7447324386182959e+00" length="1.4182350391990793e+01">
+ <arc curvature="1.1111111111111110e-01" />
+ <geometry s="2.2066662845933667e+01" x="1.4435357931476227e+02" y="-4.3389834601014621e+02" hdg="4.3205491488394951e+00" length="1.1581129913333008e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5784596459422415e+00" b="1.4735419182628337e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="10" t="0" id="45" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="9" t="0" id="46" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="22" t="0" id="47" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="23" t="0" id="48" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="3.3000000000000000e+01" id="10166" junction="-1">
+ <predecessor elementType="road" elementId="10165" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.1313949142609354e+02" y="-3.3234361488430346e+02" hdg="2.6348023453373886e+00" length="7.9876651606718632e+00">
+ <arc curvature="-3.4882770800880890e-02" />
+ <geometry s="7.9876651606718632e+00" x="-1.1951912129886274e+02" y="-3.2757254097514499e+02" hdg="2.3875732223712038e+00" length="8.9076894626732308e+00">
+ <geometry s="1.6895354623345092e+01" x="-1.2601232065630126e+02" y="-3.2147456642020745e+02" hdg="2.2929452424413896e+00" length="3.2663840016750583e+00">
+ <arc curvature="-1.4304257561903566e-01" />
+ <geometry s="2.0161738625020149e+01" x="-1.2750762222977413e+02" y="-3.1860588778947016e+02" hdg="1.9880324290850568e+00" length="2.9909339919137139e+00">
+ <arc curvature="-2.6650578878718623e-01" />
+ <geometry s="2.3152672616933863e+01" x="-1.2772821011932498e+02" y="-3.1577105321000482e+02" hdg="1.2080436924397799e+00" length="2.0598917655142466e+00">
+ <geometry s="2.5212564382448107e+01" x="-1.2694015088007605e+02" y="-3.1377523311443383e+02" hdg="1.1066316853590576e+00" length="7.7874356175518926e+00">
+ <elevation s="0.0000000000000000e+00" a="-3.0016345045425630e+00" b="-3.6260710500456983e-03" c="9.8197386087276687e-04" d="-1.8373689193174229e-05" />
+ <road name="" length="9.5201238216287205e+00" id="10165" junction="-1">
+ <predecessor elementType="road" elementId="10150" contactPoint="end" />
+ <successor elementType="road" elementId="10166" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.0463026969395030e+02" y="-3.3661279549565779e+02" hdg="2.6765761989037222e+00" length="9.5201238216287205e+00">
+ <elevation s="0.0000000000000000e+00" a="-2.6392385211313369e+00" b="-3.8066309871716213e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5797998407478921e+01" id="10176" junction="800026">
+ <predecessor elementType="road" elementId="10110" contactPoint="end" />
+ <successor elementType="road" elementId="10174" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2244684898853289e+02" y="-4.8691467264108377e+02" hdg="4.3205491488394951e+00" length="9.3708939573804155e+00">
+ <geometry s="9.3708939573804155e+00" x="1.1886820347197772e+02" y="-4.9557532791809996e+02" hdg="4.3205491488394951e+00" length="1.2594780832447661e+01">
+ <arc curvature="-1.2500000000000000e-01" />
+ <geometry s="2.1965674789828078e+01" x="1.0839318616265025e+02" y="-4.9990298027281221e+02" hdg="2.7462015447835375e+00" length="3.8323236176508426e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.4549999999999992e+00" b="4.9228625412730499e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="49" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="1" t="0" id="50" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="24" t="0" id="51" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="25" t="0" id="52" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="8.0462810005276879e+01" id="10174" junction="800029">
+ <predecessor elementType="road" elementId="10176" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.0485654167242980e+02" y="-4.9842688743691139e+02" hdg="2.7648447775510383e+00" length="8.0462810005276879e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.3279999999999994e+00" b="-1.5162284289101876e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.9675712715967663e+01" id="10074" junction="-1">
+ <predecessor elementType="road" elementId="10058" contactPoint="end" />
+ <successor elementType="road" elementId="10059" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.3579848192638192e+02" y="-1.7500931026692092e+02" hdg="1.1773308322888407e+00" length="1.9675712715967663e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7382545127590951e+00" b="7.5544749177000031e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.2724804562809733e+00" b="9.0729875885491099e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4000484900337780e+00" b="3.5066284344815877e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.9326436576919598e+01" id="10199" junction="-1">
+ <successor elementType="road" elementId="10130" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-4.3765658632087884e+01" y="-9.1411653536797616e+01" hdg="2.7406504608274500e+00" length="3.9284380498702056e+01">
+ <geometry s="3.9284380498702056e+01" x="-7.9934539404850497e+01" y="-7.6079510346346865e+01" hdg="2.7406504608274500e+00" length="5.9097095862945288e+00">
+ <arc curvature="8.3333333333333329e-02" />
+ <geometry s="4.5194090084996589e+01" x="-8.5714841345897199e+01" y="-7.5178069800672120e+01" hdg="3.2331262596853274e+00" length="4.1323464919230073e+00">
+ <elevation s="0.0000000000000000e+00" a="-4.5086807076710578e+00" b="-1.9400323016136194e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.0014295677064551e+00" b="-5.6550006019002719e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="49.326" />
+ <road name="" length="4.5999999999999986e+01" id="10201" junction="-1">
+ <predecessor elementType="road" elementId="10202" contactPoint="end" />
+ <successor elementType="junction" elementId="800000" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-7.4073690492106422e+01" y="-1.1449942870403049e+02" hdg="6.1511665813496315e+00" length="1.5470802509870722e+00">
+ <arc curvature="1.4096191228416767e-02" />
+ <geometry s="1.5470802509870794e+00" x="-7.2528406554110788e+01" y="-1.1463085049130251e+02" hdg="6.1159191926849230e+00" length="1.2576302004782629e+01">
+ <arc curvature="6.7592165272055721e-02" />
+ <geometry s="1.4123382255769712e+01" x="-6.0714164970653478e+01" y="-1.1153430228517888e+02" hdg="7.7079542340526608e-01" length="9.5648665687060408e+00">
+ <arc curvature="4.9077522648510327e-02" />
+ <geometry s="2.3688248824475750e+01" x="-5.5541323324403912e+01" y="-1.0355999657733408e+02" hdg="1.3074550872619222e+00" length="8.8497226708883634e+00">
+ <arc curvature="-3.1846706353753057e-02" />
+ <geometry s="3.2537971495364118e+01" x="-5.2058401906459260e+01" y="-9.5458691675022251e+01" hdg="9.9350024289841965e-01" length="9.6345540860649077e+00">
+ <arc curvature="-8.1495793213263334e-02" />
+ <geometry s="4.2172525581429028e+01" x="-4.4315219161901865e+01" y="-9.0145463343020623e+01" hdg="1.9340110333617822e-01" length="3.8274744185709721e+00">
+ <arc curvature="-8.2879182405817903e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.6789828493442940e+00" b="1.0259858009175572e-03" c="-1.7472549719329374e-05" d="-3.5233702060478230e-07" />
+ <signal s="44" t="0" id="6" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="43" t="0" id="14" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <roadnoavoid sOffset="0" length="46" />
+ <road name="" length="1.0000000000000000e+01" id="10202" junction="-1">
+ <predecessor elementType="road" elementId="10190" contactPoint="end" />
+ <successor elementType="road" elementId="10201" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-8.3861251465017332e+01" y="-1.1248990778328155e+02" hdg="6.0102046690654634e+00" length="1.0000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.6906376253047979e+00" b="1.2697356891227104e-03" c="-6.9024391011859022e-06" d="-3.5233702060478230e-07" />
+ <roadnoavoid sOffset="0" length="10" />
+ <road name="" length="3.4000000000000007e+01" id="10203" junction="-1">
+ <predecessor elementType="road" elementId="10130" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.0107825467751400e+02" y="-8.1178415384455207e+01" hdg="4.1446418444430595e+00" length="3.7325281852307208e+00">
+ <geometry s="3.7325281852307208e+00" x="-1.0308536196055748e+02" y="-8.4325364225459069e+01" hdg="4.1446418444430595e+00" length="3.0267471814769280e+01">
+ <arc curvature="5.8823529411764705e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.7296464594926104e+00" b="8.6139178647196663e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="34" />
+ <road name="" length="9.9999999999999982e+00" id="10000" junction="800009">
+ <predecessor elementType="road" elementId="10027" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="4.7655333282915695e+00" y="1.3081150032131195e-01" hdg="4.3254309633457524e+00" length="9.9999999999999982e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7213172451158476e+00" b="-9.8638600487985792e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.8835953198280668e+00" b="2.9701444039611510e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.1239785597583676e+01" id="10025" junction="800009">
+ <predecessor elementType="road" elementId="10157" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="9.9180230033203376e-01" y="-9.1298015532845582e+00" hdg="1.1838383097559593e+00" length="1.3155351202853870e+01">
+ <geometry s="1.3155351202853870e+01" x="5.9562780021234776e+00" y="3.0528601541072691e+00" hdg="1.1838383097559593e+00" length="9.4716872813980757e+00">
+ <geometry s="2.2627038484251948e+01" x="1.3820255715259515e+01" y="6.3271174195398228e+00" hdg="5.8884090700358662e+00" length="8.6127471133317268e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7311811051646462e+00" b="-1.9526209156597693e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.9508447474530124e+00" b="-4.7739044932115685e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="31.24" />
+ <road name="" length="3.8716092817974243e+01" id="10093" junction="-1">
+ <predecessor elementType="road" elementId="10120" contactPoint="end" />
+ <successor elementType="road" elementId="10034" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.1136267059606809e+01" y="-1.2326739565757006e+02" hdg="5.8735228609514545e+00" length="3.8716092817974243e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6862797975525972e+00" b="6.9564319588352351e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9938955636001015e+00" b="4.2261270667655411e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="29" t="0" id="93" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="28" t="0" id="94" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="10" t="0" id="2" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="9" t="0" id="3" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="31" t="0" id="15" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="32" t="0" id="24" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="12" t="0" id="99" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="5.3002358438092166e+01" id="10034" junction="-1">
+ <predecessor elementType="road" elementId="10093" contactPoint="end" />
+ <successor elementType="road" elementId="10040" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="7.6648809268976237e+01" y="-1.3868800488411333e+02" hdg="5.8958227425369811e+00" length="5.3002358438092166e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.6593472110125784e+00" b="-1.1374452121789081e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9955317548778759e+00" b="-3.5196003401062180e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.3267405174633250e+01" id="10130" junction="-1">
+ <predecessor elementType="road" elementId="10199" contactPoint="end" />
+ <successor elementType="road" elementId="10203" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-8.9829888693063282e+01" y="-7.5555790411560338e+01" hdg="3.2331262596853274e+00" length="3.2712061729225499e+00">
+ <geometry s="3.2712061729225499e+00" x="-9.3087400692657013e+01" y="-7.5854797766435510e+01" hdg="3.2331262596853274e+00" length="9.1151558475773200e+00">
+ <arc curvature="1.0000000000000001e-01" />
+ <geometry s="1.2386362020499870e+01" x="-1.0060448782470525e+02" y="-8.0435595077365406e+01" hdg="4.1446418444430595e+00" length="8.8104315413337997e-01">
+ <elevation s="0.0000000000000000e+00" a="-4.5182501956993297e+00" b="1.3481187260538771e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.9986401574211343e+00" b="-7.5270193702269270e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="14" />
+ <road name="" length="1.3874690924506965e+01" id="10095" junction="800004">
+ <predecessor elementType="road" elementId="10003" contactPoint="end" />
+ <successor elementType="road" elementId="10101" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.1646006093928240e+02" y="-2.9055863032476219e+02" hdg="4.3193107965084154e+00" length="2.0000000000000000e+00">
+ <geometry s="2.0000000000000000e+00" x="-1.1722612823848226e+02" y="-2.9240609910476815e+02" hdg="4.3193107965084154e+00" length="3.7427699818945199e+00">
+ <arc curvature="6.5150905840411444e-02" />
+ <geometry s="5.7427699818945204e+00" x="-1.1822612918001228e+02" y="-2.9600318835253142e+02" hdg="4.5631556511811437e+00" length="4.5597725309496768e+00">
+ <geometry s="1.0302542512844198e+01" x="-1.1890407628174805e+02" y="-3.0051228064048155e+02" hdg="4.5631556511811437e+00" length="1.3285753193218053e+00">
+ <geometry s="1.1631117832166002e+01" x="-1.1927281743431573e+02" y="-3.0178459402439950e+02" hdg="4.2974405873167827e+00" length="2.2435730923409620e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7923006599198237e+00" b="1.8906074635347703e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <elevation s="5.7427699818945204e+00" a="-5.7065682810065024e+00" b="1.3372926763745013e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.4984459857133841e+00" b="-9.5664764406080460e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <laneSection s="5.7427699818945204e+00">
+ <width sOffset="0.0000000000000000e+00" a="3.9490652483571340e+00" b="-6.7647629638853207e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5981089941769980e+01" id="10101" junction="-1">
+ <predecessor elementType="road" elementId="10095" contactPoint="end" />
+ <successor elementType="road" elementId="10099" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.2017729755626848e+02" y="-3.0383777105760163e+02" hdg="4.2974405873167827e+00" length="6.4208973159561440e+00">
+ <geometry s="6.4208973159561431e+00" x="-1.2276583545913779e+02" y="-3.0971377257797769e+02" hdg="4.2974405873167827e+00" length="3.8280624659744702e+00">
+ <geometry s="1.0248959781930614e+01" x="-1.2430909091084885e+02" y="-3.1321697466380812e+02" hdg="4.2974405873167827e+00" length="9.4914698824314101e+00">
+ <geometry s="1.9740429664362026e+01" x="-1.2117594395130611e+02" y="-3.2115320025979099e+02" hdg="5.8793522343886844e+00" length="6.2406602774079545e+00">
+ <elevation s="0.0000000000000000e+00" a="-4.6190924488652971e+00" b="5.3139022971480433e-04" c="-6.2780647639577511e-05" d="1.4463107743264318e-06" />
+ <elevation s="6.4208973159561467e+00" a="-4.6178858946727610e+00" b="4.8753422959391651e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3989600721788533e+00" b="-2.4552802595354081e-04" c="1.7053504722920045e-05" d="-2.5819856817579000e-07" />
+ <laneSection s="6.4208973159561467e+00">
+ <width sOffset="0.0000000000000000e+00" a="3.3980182921133499e+00" b="8.9282117040473572e-07" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="5.0000000000000000e+00" id="10097" junction="800004">
+ <predecessor elementType="road" elementId="10166" contactPoint="end" />
+ <successor elementType="road" elementId="10111" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.2345390298047911e+02" y="-3.0681174052234530e+02" hdg="1.1066316853590576e+00" length="5.0000000000000000e+00">
+ <elevation s="0.0000000000000000e+00" a="-2.7122205832387301e+00" b="1.1573611734567099e-03" c="-8.3702136925148168e-04" d="-1.8373689193174229e-05" />
+ <speed sOffset="0.0000000000000000e+00" max="1.3890000000000000e+00" />
+ <speed sOffset="1.0000000000000000e+01" max="5.5000000000000004e-01" />
+ <speed sOffset="1.5000000000000000e+01" max="5.5500000000000005e-01" />
+ <road name="" length="1.2705629853099698e+01" id="10111" junction="800004">
+ <predecessor elementType="junction" elementId="800005" contactPoint="start" />
+ <successor elementType="road" elementId="10003" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.2121552306261540e+02" y="-3.0234076128471690e+02" hdg="1.1871761950573287e+00" length="1.2705629853099698e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.7296560227518802e+00" b="-3.1975153409469198e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.1793559257102232e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="5" t="0" id="44" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="2.6938606924069830e+01" id="10150" junction="-1">
+ <predecessor elementType="road" elementId="10162" contactPoint="end" />
+ <successor elementType="road" elementId="10165" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-7.8405187015730846e+01" y="-3.3859049565041954e+02" hdg="2.9162961025753087e+00" length="8.9682373401609397e+00">
+ <arc curvature="6.2437701218190388e-02" />
+ <geometry s="8.9682373401609397e+00" x="-8.7273596892836593e+01" y="-3.3898649542058564e+02" hdg="3.4438834226870583e+00" length="8.2150793087400711e+00">
+ <arc curvature="-5.3296743574456434e-02" />
+ <geometry s="1.7183316648901013e+01" x="-9.5402804620489036e+01" y="-3.3970295526312395e+02" hdg="2.9403504176012714e+00" length="9.7552902751688180e+00">
+ <arc curvature="-2.4992824505284787e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.8101400505259515e+00" b="3.7220303223475533e-04" c="-5.4760691049630480e-05" d="1.0262095767251369e-05" />
+ <road name="" length="7.7058053913926949e+00" id="10162" junction="800030">
+ <predecessor elementType="road" elementId="10171" contactPoint="start" />
+ <successor elementType="road" elementId="10150" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-7.1330849879043555e+01" y="-3.4164552278720635e+02" hdg="2.7339373516726582e+00" length="7.7058053913926949e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5697889348722587e+00" b="3.5812595104319744e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.0020823336331551e+02" id="10153" junction="800035">
+ <predecessor elementType="road" elementId="10036" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.2168764177872222e+02" y="-5.2395854169191421e+02" hdg="2.7596749374511438e+00" length="1.0020823336331551e+02">
+ <elevation s="0.0000000000000000e+00" a="-5.4138899162509890e+00" b="8.8806699920822096e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.7999999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.7430925017576566e+01" id="10140" junction="800026">
+ <predecessor elementType="road" elementId="10183" contactPoint="end" />
+ <successor elementType="road" elementId="10102" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.1229145279777126e+02" y="-5.1149167676256872e+02" hdg="1.1789564952497020e+00" length="2.7108634980439437e+00">
+ <geometry s="2.7108634980439437e+00" x="1.1332670296145790e+02" y="-5.0898627499765877e+02" hdg="1.1789564952497020e+00" length="7.8362252476691774e+00">
+ <geometry s="1.0547088745713122e+01" x="1.1063150865765029e+02" y="-5.0246259780033392e+02" hdg="2.7462015447835375e+00" length="6.8838362718634452e+00">
+ <elevation s="0.0000000000000000e+00" a="-4.1130639354308443e+00" b="-6.9700033896311728e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4220946703341664e+00" b="-2.4215276579329273e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="6" t="0" id="10" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="7" t="0" id="11" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="16" t="0" id="91" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <signal s="17" t="0" id="92" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0" value="0">
+ <road name="" length="1.9316612914640459e+01" id="10183" junction="800035">
+ <geometry s="0.0000000000000000e+00" x="1.2168764177872222e+02" y="-5.2395854169191421e+02" hdg="2.7596749374511438e+00" length="8.3958008112350093e+00">
+ <geometry s="8.3958008112350093e+00" x="1.1389674491382820e+02" y="-5.2082942084053775e+02" hdg="2.7596749374511438e+00" length="7.9035922110072088e+00">
+ <geometry s="1.6299393022242217e+01" x="1.1113920835988732e+02" y="-5.1428021556173383e+02" hdg="1.1789564952497020e+00" length="3.0172198923982427e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.4138899162509890e+00" b="6.7342343430934620e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.7999999999999998e+00" b="-1.9563747088363056e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.2700000000000001e+02" id="10184" junction="800027">
+ <predecessor elementType="junction" elementId="800026" contactPoint="start" />
+ <successor elementType="road" elementId="10210" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2128063805964192e+02" y="-5.1208046311295573e+02" hdg="5.9008577118403851e+00" length="1.2700000000000001e+02">
+ <elevation s="0.0000000000000000e+00" a="-5.3505452601151626e+00" b="1.0334680391688835e-04" c="-4.6894108362155116e-07" d="0.0000000000000000e+00" />
+ <road name="" length="1.2200000000000000e+02" id="10036" junction="-1">
+ <predecessor elementType="road" elementId="10211" contactPoint="end" />
+ <successor elementType="junction" elementId="800035" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.3489773797885502e+02" y="-5.6942802726583159e+02" hdg="2.7596749374511438e+00" length="1.2200000000000000e+02">
+ <elevation s="0.0000000000000000e+00" a="-5.4149733579900232e+00" b="8.8806699920822096e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.9000000000000000e+01" id="10113" junction="800026">
+ <successor elementType="junction" elementId="800027" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.7778748940707253e+01" y="-4.7850317147754924e+02" hdg="5.9008577118403851e+00" length="8.9000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.3640000000000017e+00" b="1.8952172193604949e-04" c="-4.6894108362155116e-07" d="0.0000000000000000e+00" />
+ <road name="" length="9.9999999999998079e-01" id="10094" junction="800027">
+ <successor elementType="road" elementId="10184" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2035283929165374e+02" y="-5.1170738209478463e+02" hdg="5.9008577118404766e+00" length="9.9999999999998079e-01">
+ <elevation s="0.0000000000000000e+00" a="-5.3505452601151626e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.9685229177854850e+01" id="10172" junction="800026">
+ <geometry s="0.0000000000000000e+00" x="1.2244684898853289e+02" y="-4.8691467264108377e+02" hdg="4.3205491488394951e+00" length="1.7727610013865611e+01">
+ <geometry s="1.7727610013865611e+01" x="1.1567686179372600e+02" y="-5.0329867185329869e+02" hdg="4.3205491488394951e+00" length="9.4818513780053397e+00">
+ <geometry s="2.7209461391870953e+01" x="1.1898362375798126e+02" y="-5.1115680114660546e+02" hdg="5.9008577118403851e+00" length="2.4757677859838987e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.4549999999999992e+00" b="3.5187446005220564e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="6.7814274596551655e+01" id="10173" junction="-1">
+ <predecessor elementType="road" elementId="10205" contactPoint="end" />
+ <successor elementType="road" elementId="10206" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="4.2575909137725830e+01" y="-1.2711908225528896e+02" hdg="2.7454965145576913e+00" length="6.7814274596551655e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7541295085744411e+00" b="4.3363490862802319e-03" c="-6.8198033527069684e-05" d="2.8028281378844427e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9925989032278544e+00" b="1.9943581064112677e-04" c="-4.3398140464645017e-06" d="2.4786069217061854e-08" />
+ <road name="" length="5.9922684345045042e+01" id="10182" junction="-1">
+ <predecessor elementType="road" elementId="10200" contactPoint="end" />
+ <successor elementType="road" elementId="10205" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.2833878901600838e+02" y="-1.6302061497792602e+02" hdg="2.7395682576484477e+00" length="2.9000000000000000e+01">
+ <geometry s="2.9000000000000000e+01" x="1.0165093667748371e+02" y="-1.5167343305653674e+02" hdg="2.7395682576484477e+00" length="9.9998398818390921e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0206562180975693e-01" cU="2.0937519327742621e-01" dU="-1.3958593592840497e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="2.1179788659030983e-03" dV="-1.3426728872870556e-04" pRange="arcLength" />
+ <geometry s="3.8999839881839094e+01" x="9.2418321987396169e+01" y="-1.4783214303750205e+02" hdg="2.7464542408288617e+00" length="2.0922844463205944e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.5053900522240111e+00" b="-1.0283764932465383e-02" c="1.6885281352106495e-04" d="-7.8185401350926864e-07" />
+ <elevation s="2.9000000000000000e+01" a="-6.6806826566297692e+00" b="-1.5328142253603365e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <elevation s="3.8999839881839094e+01" a="-6.6960105534519778e+00" b="-6.8084534146511000e-04" c="7.7375893940480515e-05" d="-7.8185401350926864e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9897318469431475e+00" b="7.0866980764778794e-04" c="-1.7123603453276829e-05" d="1.0433605584475868e-07" />
+ <laneSection s="2.9000000000000000e+01">
+ <width sOffset="0.0000000000000000e+00" a="2.9984269729267257e+00" b="-9.1290845841550923e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <laneSection s="3.8999839881839094e+01">
+ <width sOffset="0.0000000000000000e+00" a="2.9975140790856325e+00" b="-1.5088583888817097e-04" c="-4.9162849194400631e-06" d="1.0433605584475868e-07" />
+ <road name="" length="7.9674250133931508e+01" id="10187" junction="-1">
+ <predecessor elementType="road" elementId="10192" contactPoint="end" />
+ <successor elementType="road" elementId="10200" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.2765169108659029e+02" y="-2.0441899512894452e+02" hdg="2.7487306868916299e+00" length="3.5000000000000000e+01">
+ <geometry s="3.5000000000000007e+01" x="1.9531808954631771e+02" y="-1.9101980815977049e+02" hdg="2.7487306868916299e+00" length="3.0999552764733515e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0010455786472462e-01" cU="6.7732510909065416e-02" dU="-1.4566341589339140e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-2.2802686188484400e-04" dV="4.8675857783363285e-06" pRange="arcLength" />
+ <geometry s="6.5999552764733522e+01" x="1.6670863090758397e+02" y="-1.7908368628690263e+02" hdg="2.7483820864292756e+00" length="1.3674697369197979e+01">
+ <elevation s="3.5000000000000007e+01" a="-6.6437192589388578e+00" b="4.7764954733685441e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <elevation s="6.5999552764733522e+01" a="-6.6289123365931379e+00" b="7.2920198344460924e-04" c="1.6780298711733414e-06" d="-2.0763829461464674e-07" />
+ <laneSection s="3.5000000000000007e+01">
+ <width sOffset="0.0000000000000000e+00" a="2.9942392730063316e+00" b="1.3383064992906585e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <laneSection s="6.5999552764733522e+01">
+ <width sOffset="0.0000000000000000e+00" a="2.9946541420357331e+00" b="1.3251855638872034e-04" c="2.3212956778177354e-06" d="-4.9090029615192960e-08" />
+ <road name="" length="7.7621266696243922e+01" id="10188" junction="-1">
+ <predecessor elementType="road" elementId="10189" contactPoint="end" />
+ <successor elementType="road" elementId="10192" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.2560412539914250e+02" y="-2.4513316644355655e+02" hdg="2.7470783126633860e+00" length="7.7621266696243922e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.8774495532543369e+00" b="-3.8277868484047929e-05" c="3.0229112848624567e-05" d="-1.1963003410550051e-07" />
+ <width sOffset="0.0000000000000000e+00" a="2.9529582685471119e+00" b="6.8657687894257426e-04" c="-3.8596769210414073e-06" d="7.0624118384376367e-09" />
+ <road name="" length="2.0589477608981710e+01" id="10189" junction="800019">
+ <predecessor elementType="road" elementId="10065" contactPoint="start" />
+ <successor elementType="road" elementId="10188" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.4232886126512204e+02" y="-2.4296677787488889e+02" hdg="4.3203276461087476e+00" length="2.6995450663717606e+00">
+ <geometry s="2.6995450663717606e+00" x="3.4129738088006462e+02" y="-2.4546149064004121e+02" hdg="4.3203276461087476e+00" length="8.9907047934840723e+00">
+ <arc curvature="-1.7498620737559520e-01" />
+ <geometry s="1.1690249859855832e+01" x="3.3381974420572885e+02" y="-2.4855367256921642e+02" hdg="2.7470783126633860e+00" length="8.8992277491258758e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8152104530042479e+00" b="-3.0228596097522458e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="5.0208868946536587e+00" b="-1.0043618713300712e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.8455752512971905e+01" id="10192" junction="-1">
+ <predecessor elementType="road" elementId="10188" contactPoint="end" />
+ <successor elementType="road" elementId="10187" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.5394546507062626e+02" y="-2.1529866555194187e+02" hdg="2.7470783126633860e+00" length="2.8455752512971905e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0049569886358191e-01" cU="7.3746283087035958e-02" dU="-1.7277418162715639e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="2.1352175735304610e-04" dV="-4.7980255096426369e-06" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.7542362010905848e+00" b="5.0675592146695297e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9862993449318700e+00" b="8.3755730930560267e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.7921902868190760e+01" id="10200" junction="-1">
+ <predecessor elementType="road" elementId="10187" contactPoint="end" />
+ <successor elementType="road" elementId="10182" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.5407753619179130e+02" y="-1.7384414485469460e+02" hdg="2.7483820864292756e+00" length="2.7921902868190760e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0264400216917886e-01" cU="7.4924798219494951e-02" dU="-1.7889184003410199e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-4.2611488562992308e-04" dV="9.0335103114893595e-06" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.6191578915701257e+00" b="4.0745016513799772e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9967748396334399e+00" b="-2.5223899400910583e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.3052153509012982e+01" id="10205" junction="-1">
+ <predecessor elementType="road" elementId="10182" contactPoint="end" />
+ <successor elementType="road" elementId="10173" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="7.3107723016291857e+01" y="-1.3977818824443966e+02" hdg="2.7464542408288617e+00" length="3.3052153509012982e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0028728648724606e-01" cU="6.3509671082891572e-02" dU="-1.2809991972013201e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.9861144309065018e-04" dV="-4.0937733290346629e-06" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.6835445176410797e+00" b="-2.1355640537647131e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9931605836192339e+00" b="-1.6993760821857756e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5621635885877087e+01" id="10206" junction="800000">
+ <predecessor elementType="road" elementId="10173" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.9987791449241264e+01" y="-1.0095499985362916e+02" hdg="2.7454965145576913e+00" length="2.5621635885877087e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0145248470022423e-01" cU="8.1779353242115466e-02" dU="-2.1278740796110591e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.7457081178331225e-03" dV="-4.6164531762135526e-05" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.6862808693733768e+00" b="8.4990676294117315e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="2.9938955152407618e+00" b="3.9323564543396569e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="9.9999999999999964e+00" id="10208" junction="800000">
+ <predecessor elementType="road" elementId="10201" contactPoint="end" />
+ <successor elementType="road" elementId="10032" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-4.0506079039568149e+01" y="-9.0012881751323661e+01" hdg="6.1593684600254193e+00" length="3.8391865574783157e-01">
+ <geometry s="3.8391865574783424e-01" x="-4.0109215248891850e+01" y="-9.0010351785602580e+01" hdg="6.0057876800476153e+00" length="2.6160813442521658e+00">
+ <arc curvature="-1.3412209479737314e-02" />
+ <geometry s="2.9999999999999973e+00" x="-3.7606226804181745e+01" y="-9.0770765050296404e+01" hdg="5.9707002490424728e+00" length="7.0000000000000000e+00">
+ <elevation s="0.0000000000000000e+00" a="-2.7030544939457744e+00" b="-2.8181241800599010e-03" c="-6.6095058562789312e-05" d="-3.5233702060478230e-07" />
+ <elevation s="2.9999999999999973e+00" a="-2.7121132351125756e+00" b="-3.2242076309929664e-03" c="-6.9266091748232354e-05" d="-3.5233702060478230e-07" />
+ <road name="" length="1.3335675016841170e+01" id="10207" junction="800000">
+ <geometry s="0.0000000000000000e+00" x="-4.0506079039568164e+01" y="-9.0012881751323661e+01" hdg="-1.2381684715416608e-01" length="5.3119906889249546e-01">
+ <geometry s="5.3119906889249546e-01" x="-3.9978946574711109e+01" y="-9.0078485221399418e+01" hdg="-1.2381684715416608e-01" length="9.2196336874159215e+00">
+ <geometry s="9.7508327563084176e+00" x="-3.5985222728431225e+01" y="-9.6973231483434944e+01" hdg="4.3154417225422357e+00" length="3.5848422605327523e+00">
+ <elevation s="0.0000000000000000e+00" a="-2.7030544939457744e+00" b="-2.9864277927052352e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.4223205327801869e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="13.336" />
+ <road name="" length="2.6592502766359235e+01" id="10209" junction="800026">
+ <geometry s="0.0000000000000000e+00" x="1.1229145279777129e+02" y="-5.1149167676256872e+02" hdg="1.1789564952497034e+00" length="2.6592502766359235e+01">
+ <elevation s="0.0000000000000000e+00" a="-4.1130639354308443e+00" b="-5.0462947258456889e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4220946703341664e+00" b="-1.5872694422284162e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.1594075027830186e+01" id="10210" junction="-1">
+ <predecessor elementType="road" elementId="10184" contactPoint="end" />
+ <successor elementType="road" elementId="10211" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.3911108159413860e+02" y="-5.5946175242069614e+02" hdg="5.9008577118403851e+00" length="3.0000000000000000e+00">
+ <geometry s="3.0000000000000000e+00" x="2.4189447789810308e+02" y="-5.6058099547520965e+02" hdg="5.9008577118403851e+00" length="8.5940750278301863e+00">
+ <arc curvature="-1.8482997654766237e-01" />
+ <elevation s="0.0000000000000000e+00" a="-5.3449837667554503e+00" b="-3.0183344107473564e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="3.4500380499509264e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.1594075027830186e+01" id="10211" junction="-1">
+ <predecessor elementType="road" elementId="10210" contactPoint="end" />
+ <successor elementType="road" elementId="10036" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.4485931146241083e+02" y="-5.6770750787958070e+02" hdg="4.3124150259976810e+00" length="8.5940750278301863e+00">
+ <geometry s="8.5940750278301863e+00" x="2.3768159280344844e+02" y="-5.7054612937010825e+02" hdg="2.7596749374511438e+00" length="3.0000000000000000e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.3799785623727363e+00" b="-3.0183344107473564e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3999999999999999e+00" b="3.4500380499509264e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.3000000000000000e+01" id="10214" junction="800025">
+ <successor elementType="road" elementId="10213" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.4391130818428650e+02" y="-4.3496868331578526e+02" hdg="1.1789564952497020e+00" length="1.3000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5442369652037709e+00" b="-1.5844390496011866e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.0000000000000000e+00" id="10213" junction="-1">
+ <predecessor elementType="road" elementId="10214" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="1.4887587100260509e+02" y="-4.2295397915700681e+02" hdg="1.1789564952497020e+00" length="8.5129876031768248e-01">
+ <geometry s="8.5129876031768248e-01" x="1.4920097301589385e+02" y="-4.2216720202193358e+02" hdg="1.1789564952497020e+00" length="1.4870123968231752e-01">
+ <arc curvature="2.1398004763875356e-01" />
+ <elevation s="0.0000000000000000e+00" a="-5.5648346728485860e+00" b="-1.5844390496011866e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.1285820924276997e+01" id="10190" junction="800001">
+ <predecessor elementType="road" elementId="10203" contactPoint="end" />
+ <successor elementType="road" elementId="10202" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-9.4710899025770800e+01" y="-1.0938841433138948e+02" hdg="5.9250813629588990e+00" length="1.4470962038115864e+00">
+ <geometry s="1.4470962038115900e+00" x="-9.3335663818136197e+01" y="-1.0983735906776927e+02" hdg="6.0102046690654634e+00" length="9.8387247204654109e+00">
+ <elevation s="0.0000000000000000e+00" a="-2.7003591387525634e+00" b="8.6139178647196663e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="11.286" />
+ <road name="" length="2.3133127112534229e+01" id="10020" junction="800002">
+ <successor elementType="road" elementId="10002" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-7.0445950980940864e+01" y="-2.1524025457957745e+02" hdg="2.7457927848409476e+00" length="6.1574367901241640e+00">
+ <geometry s="6.1574367901241640e+00" x="-7.6127346930965231e+01" y="-2.1286627735065943e+02" hdg="2.7457927848409476e+00" length="1.2091346120956937e+01">
+ <arc curvature="-1.2989533956892527e-01" />
+ <geometry s="1.8248782911081101e+01" x="-8.0263093012976867e+01" y="-2.0279615136347388e+02" hdg="1.1751832746138389e+00" length="4.8843442014531275e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.7570934541444876e+00" b="2.8319701757978134e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4321578058075679e+00" b="4.6102354511817767e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="5.2781184002056193e+01" id="10221" junction="-1">
+ <successor elementType="junction" elementId="800006" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-5.5682935411509931e+01" y="-2.2140899604739241e+02" hdg="5.8873854384307416e+00" length="5.2781184002056193e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7507769320706821e+00" b="-5.1369968107330903e-06" c="-2.2060515854841545e-05" d="1.8340379978966669e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.3795855733674123e+00" b="-2.4506806616910559e-03" c="4.8295976596246028e-05" d="-2.4354781358876820e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4003450972449740e+00" b="-1.8538878088458987e-05" c="-6.2487495386821113e-07" d="1.0435599062146135e-08" />
+ <roadborrow sOffset="0" length="52.781" mode="All" />
+ <road name="" length="1.5999999999999998e+01" id="10222" junction="800003">
+ <predecessor elementType="road" elementId="10221" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-5.5682935411509931e+01" y="-2.2140899604739241e+02" hdg="2.7457927848409485e+00" length="1.5999999999999998e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7507769320706821e+00" b="-3.9478262961284433e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4003450972449740e+00" b="5.8693654666486248e-06" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3795855733674123e+00" b="3.2857645275097274e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.5999999999999998e+01" id="10223" junction="800003">
+ <road name="" length="2.3000000000000000e+01" id="10224" junction="-1">
+ <predecessor elementType="road" elementId="10012" contactPoint="end" />
+ <successor elementType="road" elementId="10145" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-7.9076230941267340e+01" y="-2.0167866556756914e+02" hdg="4.5710859686859271e+00" length="5.8826265806194140e+00">
+ <arc curvature="9.0122678776353105e-02" />
+ <geometry s="5.8826265806194158e+00" x="-7.8335824792704571e+01" y="-2.0743925004213656e+02" hdg="5.1604436826492339e+00" length="3.9030842211819321e+00">
+ <arc curvature="9.0464319902254439e-02" />
+ <geometry s="9.7857108018013470e+00" x="-7.6068294249475002e+01" y="-2.1059214530698955e+02" hdg="5.6014252878857427e+00" length="2.9632022720646325e+00">
+ <geometry s="1.2748913073865978e+01" x="-7.3784440739976446e+01" y="-2.1248795092216142e+02" hdg="5.7463467221213271e+00" length="1.0251086926134022e+01">
+ <arc curvature="1.4018815994146415e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.7345649805200569e+00" b="-2.9044262863629818e-03" c="-1.0342443531812071e-04" d="7.0828294150150254e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.3999999999999999e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="15" t="0" id="116" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadborrow sOffset="0" length="23" mode="All" />
+ <road name="" length="1.4914270796486696e+02" id="10212" junction="-1">
+ <predecessor elementType="road" elementId="10160" contactPoint="end" />
+ <successor elementType="road" elementId="10215" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.6201570204212337e+02" y="-4.3171328033319759e+02" hdg="2.7541456185332964e+00" length="2.0345574313510539e+00">
+ <geometry s="2.0345574313510539e+00" x="1.6013395413854425e+02" y="-4.3094013579785087e+02" hdg="2.7177797653435674e+00" length="6.7790547980966069e+00">
+ <arc curvature="-4.4238683465096809e-02" />
+ <geometry s="8.8136122294476635e+00" x="1.5446572059392929e+02" y="-4.2726980629377067e+02" hdg="2.3589769989311975e+00" length="3.0267662547430092e+00">
+ <geometry s="1.1840378484190673e+01" x="1.5226933053279080e+02" y="-4.2517235113720596e+02" hdg="2.2037749509931248e+00" length="1.0531373564595253e+01">
+ <arc curvature="2.2500894299453924e-02" />
+ <geometry s="2.2371752048785922e+01" x="1.4509527105737530e+02" y="-4.1749249472132203e+02" hdg="2.5336705704743858e+00" length="1.6850058906537516e+01">
+ <arc curvature="1.2309033869350632e-02" />
+ <geometry s="3.9221810955323434e+01" x="1.3042138828809891e+02" y="-4.0930846439640300e+02" hdg="2.6955386211977053e+00" length="1.2895861969121604e+01">
+ <geometry s="5.2117672924445031e+01" x="1.1878891094009290e+02" y="-4.0374239336356464e+02" hdg="2.7595662081597099e+00" length="3.3450972162440728e+01">
+ <geometry s="8.5568645086885766e+01" x="8.7749383259564638e+01" y="-3.9127181759569794e+02" hdg="2.7460921506308971e+00" length="2.0611834021169408e+01">
+ <geometry s="1.0618047910805518e+02" x="6.8694774706500226e+01" y="-3.8337400581472843e+02" hdg="2.7658625762143147e+00" length="8.6644510530238055e+00">
+ <arc curvature="4.0045528986954675e-02" />
+ <geometry s="1.1484493016107899e+02" x="6.0249077290739777e+01" y="-3.8165706212296755e+02" hdg="3.1351604072552952e+00" length="4.5908102618573041e+00">
+ <arc curvature="5.6766032408896355e-02" />
+ <geometry s="1.1943574042293631e+02" x="5.5799685035936839e+01" y="-3.8212659525366945e+02" hdg="3.4684000793174339e+00" length="1.1615627780744944e+01">
+ <geometry s="1.3105136820368125e+02" x="4.4797143781495635e+01" y="-3.8584895613955734e+02" hdg="3.3980800094438894e+00" length="6.5881800395458523e+00">
+ <arc curvature="-4.9987530011352886e-02" />
+ <geometry s="1.3763954824322710e+02" x="3.8261355821353504e+01" y="-3.8648743744026507e+02" hdg="3.0131340205164578e+00" length="1.1503159721639873e+01">
+ <arc curvature="-3.2532678530869295e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.9233831660125067e+00" b="-1.2173138741207532e-03" c="2.7378764954176246e-05" d="-7.3877245759313192e-08" />
+ <signal s="0" t="0" id="110" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="32" t="0" id="111" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="102" t="0" id="112" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="146" t="0" id="113" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="1.4536314060110282e+00" id="10160" junction="800025">
+ <successor elementType="road" elementId="10212" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="1.6342170879527345e+02" y="-4.3208231864372641e+02" hdg="2.8849099154796356e+00" length="1.4536314060110282e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5784596459422415e+00" b="1.8265128759261215e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.0469447303358024e+00" id="10215" junction="800031">
+ <predecessor elementType="road" elementId="10212" contactPoint="end" />
+ <successor elementType="road" elementId="10171" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.7389934877026565e+01" y="-3.8293809976555087e+02" hdg="2.6389054232031040e+00" length="8.0469447303358024e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.3220692486015252e-01" cU="2.4748501306163287e-01" dU="-2.0513303289046728e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="3.0846682240602063e-02" dV="-2.3721096770499888e-03" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-2.7410208201428885e+00" b="-3.4870118708271713e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="3.4534105880847086e+01" id="10216" junction="800031">
+ <successor elementType="road" elementId="10146" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.0004073012620253e+01" y="-3.7974626377783710e+02" hdg="5.8879788995370186e+00" length="2.2837026228785184e+01">
+ <geometry s="2.2837026228785184e+01" x="4.1080755428556721e+01" y="-3.8853848905429453e+02" hdg="5.8879788995370186e+00" length="8.9706803326948457e+00">
+ <arc curvature="1.7522960170165022e-01" />
+ <geometry s="3.1807706561480032e+01" x="4.8547251872112049e+01" y="-3.8546273136447155e+02" hdg="1.1767223340483770e+00" length="2.7263993193670530e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5469999999999979e+00" b="3.3532604765142675e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.7714918733556392e+01" id="10197" junction="800004">
+ <geometry s="0.0000000000000000e+00" x="-1.2318564422622143e+02" y="-3.0694604331741715e+02" hdg="1.1066316853590559e+00" length="1.7714918733556392e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.2130670198700606e-01" cU="1.1449912291448298e-01" dU="-4.3098147440850517e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.1352140194975772e-02" dV="-4.0297533451966845e-04" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-2.7122205832387301e+00" b="-2.3031887066760423e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="8.3749497927786867e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="5" t="0" id="114" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <road name="" length="1.6036126063576177e+02" id="10219" junction="-1">
+ <predecessor elementType="road" elementId="10220" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-5.3289404125460464e+01" y="-1.3046260225876526e+02" hdg="2.2710365212055610e+00" length="6.0472076142131925e-01">
+ <geometry s="6.0472076142131925e-01" x="-5.3738814016111277e+01" y="-1.3003375049194392e+02" hdg="2.5243111446148561e+00" length="1.7391477964525304e+00">
+ <geometry s="2.3438685578738472e+00" x="-5.5146035065730715e+01" y="-1.2901767410113860e+02" hdg="2.6427633585548604e+00" length="2.0680925225437994e+00">
+ <geometry s="4.4119610804176475e+00" x="-5.6976923100650311e+01" y="-1.2804044630005956e+02" hdg="2.7318741741269923e+00" length="4.1682290018158703e+01">
+ <geometry s="4.6094251098576351e+01" x="-9.5209295153617859e+01" y="-1.1143625922687352e+02" hdg="2.7112533419956364e+00" length="1.9290096058450708e+01">
+ <geometry s="6.5384347157027065e+01" x="-1.1275037489193416e+02" y="-1.0340993645957738e+02" hdg="2.7079223957777625e+00" length="1.4412978108554073e+01">
+ <arc curvature="1.3434469072615947e-02" />
+ <geometry s="7.9797325265581151e+01" x="-1.2633912346445824e+02" y="-9.8682640295892838e+01" hdg="2.9200433928705731e+00" length="1.1941129086482780e+01">
+ <arc curvature="2.6615293736566976e-02" />
+ <geometry s="9.1738454352063940e+01" x="-1.3814650218667811e+02" y="-9.7873741418931644e+01" hdg="3.2904265226343448e+00" length="1.7268128101585127e+01">
+ <geometry s="1.0900658245364906e+02" x="-1.5525859823477680e+02" y="-1.0045215376706506e+02" hdg="3.3299460242121919e+00" length="1.7406803237142611e+01">
+ <arc curvature="-8.1280754479314994e-03" />
+ <geometry s="1.2641338569079167e+02" x="-1.7253145725652575e+02" y="-1.0247760017123073e+02" hdg="3.1604316277953348e+00" length="5.9378074218691719e+00">
+ <geometry s="1.3235119311266084e+02" x="-1.7846821102499962e+02" y="-1.0258945575542748e+02" hdg="3.0653212500754576e+00" length="2.8010067523100957e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.7309853026291924e+00" b="1.9618639021131139e-04" c="-1.0864811799983306e-05" d="4.5269463408440510e-08" />
+ <roadnoavoid sOffset="0" length="160.361" />
+ <road name="" length="4.2174931579766097e+00" id="10220" junction="800001">
+ <successor elementType="road" elementId="10219" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-5.1627865149781179e+01" y="-1.3423039616258293e+02" hdg="1.1751832746138389e+00" length="4.2174931579766097e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="6.1390620907296034e-01" cU="1.2070991877019586e-01" dU="-2.5324525455306206e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="3.7403542712636856e-01" dV="-4.8893179485837948e-02" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.6434768721263806e+00" b="9.2768178226855746e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-3.5566151356120801e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="4.217" />
+ <road name="" length="2.3175162304377452e+01" id="10225" junction="800005">
+ <predecessor elementType="road" elementId="10161" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.1839962286393754e+02" y="-3.2201058938531992e+02" hdg="2.7463862459472246e+00" length="8.1814106534074682e-01">
+ <geometry s="8.1814106534074682e-01" x="-1.1915469925754819e+02" y="-3.2169560614352946e+02" hdg="2.7463862459472246e+00" length="1.4442151043052281e+01">
+ <arc curvature="-1.0796245283973738e-01" />
+ <geometry s="1.5260292108393028e+01" x="-1.2417790004536047e+02" y="-3.0968034525326613e+02" hdg="1.1871761950573287e+00" length="7.9148701959844239e+00">
+ <elevation s="0.0000000000000000e+00" a="-3.5441332649173374e+00" b="3.5144402937433331e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="100" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadnoavoid sOffset="0" length="23.175" />
+ <road name="" length="4.8999999999999943e+01" id="10147" junction="800034">
+ <predecessor elementType="road" elementId="10180" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.9533167496843765e+02" y="-4.2094809239300491e+02" hdg="4.3200799804760255e+00" length="4.8999999999999943e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5735391362717914e+00" b="9.3843454912822513e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="49" />
+ <road name="" length="1.8354883594820336e+01" id="10218" junction="-1">
+ <predecessor elementType="junction" elementId="800034" contactPoint="start" />
+ <successor elementType="road" elementId="10196" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.7659784724925953e+02" y="-4.6622550065571522e+02" hdg="4.3200799804760255e+00" length="2.4187110760383717e+00">
+ <geometry s="2.4187110760383717e+00" x="2.7567311833903563e+02" y="-4.6846045920386479e+02" hdg="4.3200799804760255e+00" length="1.5426671413889206e+01">
+ <arc curvature="-1.0211843498782153e-01" />
+ <geometry s="1.7845382489927577e+01" x="2.6283945873328076e+02" y="-4.7374800720870047e+02" hdg="2.7447324386182959e+00" length="5.0950110489275935e-01">
+ <elevation s="0.0000000000000000e+00" a="-5.5275558433645084e+00" b="3.2353802649783957e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="18.355" />
+ <road name="" length="5.4272833331488862e+01" id="10092" junction="800001">
+ <geometry s="0.0000000000000000e+00" x="-9.4710899025770772e+01" y="-1.0938841433138948e+02" hdg="5.9250813629588999e+00" length="4.2129505515283412e+01">
+ <geometry s="4.2129505515283412e+01" x="-5.5253959893817772e+01" y="-1.2415476761511026e+02" hdg="5.9250813629588999e+00" length="1.1206051650216834e+01">
+ <arc curvature="-1.4352115133470295e-01" />
+ <geometry s="5.3335557165500248e+01" x="-5.1266663320657841e+01" y="-1.3336551475454581e+02" hdg="4.3167759282036320e+00" length="9.3727616598861530e-01">
+ <elevation s="0.0000000000000000e+00" a="-2.7003591387525634e+00" b="-7.2653618603067058e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="2.7638136944836939e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="54.273" />
+ <road name="" length="3.4999999999999993e+01" id="10180" junction="-1">
+ <predecessor elementType="junction" elementId="800018" contactPoint="start" />
+ <successor elementType="junction" elementId="800034" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.0871298048213635e+02" y="-3.8860708649106891e+02" hdg="4.3200799804760246e+00" length="7.0000000000000000e+00">
+ <geometry s="7.0000000000000000e+00" x="3.0603671937939663e+02" y="-3.9507528767145612e+02" hdg="4.3200799804760219e+00" length="2.9999999999999947e+00">
+ <geometry s="9.9999999999999947e+00" x="3.0488975033536531e+02" y="-3.9784737389162206e+02" hdg="4.3200799804760255e+00" length="2.5000000000000000e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5932462618034844e+00" b="9.3843454912823868e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <elevation s="7.0000000000000000e+00" a="-5.5866772199595864e+00" b="-3.4409266801371115e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <elevation s="9.9999999999999947e+00" a="-5.5969999999999978e+00" b="9.3843454912823868e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="35" />
+ <road name="" length="2.2656515209473675e+01" id="10104" junction="800018">
+ <successor elementType="road" elementId="10180" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0290016217869237e+02" y="-3.7081642071481946e+02" hdg="5.8883993852497101e+00" length="3.5167617208618740e+00">
+ <geometry s="3.5167617208618740e+00" x="3.0614641079764340e+02" y="-3.7216900450345435e+02" hdg="5.8883993852497101e+00" length="1.3609460604699022e+01">
+ <arc curvature="-1.1523744036058139e-01" />
+ <geometry s="1.7126222325560896e+01" x="3.1082733872956123e+02" y="-3.8349693692541013e+02" hdg="4.3200799804760246e+00" length="5.5302928839127805e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8757356142291446e+00" b="5.6605763974214164e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4044031612043648e+00" b="-1.7849309898958613e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="41" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="22" t="0" id="42" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadnoavoid sOffset="0" length="22.657" />
+ <road name="" length="1.8517272938520975e+01" id="10151" junction="-1">
+ <successor elementType="road" elementId="10045" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.2877558508777543e+02" y="-3.8151513508973852e+02" hdg="5.8911209547225596e+00" length="1.8517272938520975e+01">
+ <elevation s="0.0000000000000000e+00" a="-6.7539111265960798e+00" b="7.4684851458154495e-04" c="-9.9839561809662760e-05" d="1.0312733585097437e-06" />
+ <width sOffset="0.0000000000000000e+00" a="3.3891016308353423e+00" b="-7.3284604073208118e-03" c="6.9075407443058796e-05" d="2.1275274559243509e-07" />
+ <width sOffset="0.0000000000000000e+00" a="3.4003641434031415e+00" b="-6.3702417563536463e-05" c="2.2890271318323935e-06" d="-2.0989105233597708e-08" />
+ <road name="" length="2.6315698179438350e+01" id="10191" junction="800018">
+ <predecessor elementType="road" elementId="10180" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0871298048213635e+02" y="-3.8860708649106891e+02" hdg="1.1784873268862315e+00" length="5.5240195477439498e+00">
+ <geometry s="5.5240195477439498e+00" x="3.1082494028876516e+02" y="-3.8350273366832619e+02" hdg="1.1784873268862315e+00" length="1.3660341950028824e+01">
+ <arc curvature="-1.1497162260568039e-01" />
+ <geometry s="1.9184361497772773e+01" x="3.2218535821116279e+02" y="-3.7879027315157697e+02" hdg="5.8911209547225596e+00" length="7.1313366816655783e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5932462618034844e+00" b="-4.4105417871811423e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="1.5213890229063510e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.2999999999999993e+01" id="10055" junction="800030">
+ <predecessor elementType="junction" elementId="800033" contactPoint="start" />
+ <successor elementType="road" elementId="10171" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.1101628592513065e+02" y="-3.2509057893855703e+02" hdg="5.8879788995370186e+00" length="4.0000000000000000e+01">
+ <geometry s="4.0000000000000000e+01" x="-7.4099601231096131e+01" y="-3.4049052670474242e+02" hdg="5.8879788995370106e+00" length="2.9999999999999960e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5665735133964436e+00" b="2.3027662819347645e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <elevation s="4.0000000000000000e+01" a="-5.5573624482687043e+00" b="-4.1421622011848010e-03" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="43" mode="All" />
+ <road name="" length="4.6641738965072195e+00" id="10099" junction="800033">
+ <predecessor elementType="road" elementId="10101" contactPoint="end" />
+ <successor elementType="road" elementId="10055" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.1543727263561726e+02" y="-3.2360544254564030e+02" hdg="5.8793522343886844e+00" length="4.6641738965072195e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0256181755796241e-01" cU="4.4649543892810289e-01" dU="-6.3819325166853291e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="5.0675903322497676e-02" dV="-7.2032911484824873e-03" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-4.6222994250470348e+00" b="-2.0245259059841900e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3980357558674235e+00" b="-8.5338961346508480e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="8.0000000000000036e+00" id="10161" junction="800033">
+ <predecessor elementType="road" elementId="10055" contactPoint="start" />
+ <successor elementType="road" elementId="10225" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.1101628592513065e+02" y="-3.2509057893855703e+02" hdg="2.7463862459472206e+00" length="8.0000000000000036e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5665735133964436e+00" b="2.5280503105988816e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="43" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <roadnoavoid sOffset="0" length="8" />
+ <road name="" length="1.3164738248792563e+01" id="10233" junction="800034">
+ <successor elementType="road" elementId="10194" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.9533167496843765e+02" y="-4.2094809239300491e+02" hdg="4.3200799804760255e+00" length="8.6260913543865616e+00">
+ <geometry s="8.6260913543865616e+00" x="2.9203372171694843e+02" y="-4.2891884871880075e+02" hdg="4.3200799804760255e+00" length="7.8375003806338417e-01">
+ <arc curvature="8.9626886676413620e-01" />
+ <geometry s="9.4098413924499464e+00" x="2.9200218924199027e+02" y="-4.2968593622452511e+02" hdg="5.0225307389174434e+00" length="3.7548968563426164e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5604010525839964e+00" b="2.0885482765053742e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadnoavoid sOffset="0" length="13.165" />
+ <road name="" length="3.4624705015059782e+00" id="10012" junction="800002">
+ <successor elementType="road" elementId="10224" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-7.8380793938645922e+01" y="-1.9828907154689179e+02" hdg="4.3167759282036320e+00" length="3.4624705015059782e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.7604619994804783e-01" cU="5.2742083686047192e-01" dU="-1.0188628487248182e-01" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="1.3896850677918901e-01" dV="-2.4126711812704604e-02" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.6915811280888509e+00" b="1.1428302842862390e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.4945573299369421e+00" b="-3.1612033357710106e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="3.462" mode="All" />
+ <road name="" length="9.9391487078128264e+00" id="10145" junction="800003">
+ <predecessor elementType="road" elementId="10224" contactPoint="end" />
+ <successor elementType="road" elementId="10221" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-6.4629609569877786e+01" y="-2.1708067590775647e+02" hdg="5.8900548234787999e+00" length="9.9391487078128264e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0078659020864790e-01" cU="2.1053588902174114e-01" dU="-1.4121661664813920e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-1.7254205704124656e-02" dV="1.1546135864022792e-03" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-2.7699015258972035e+00" b="-4.0052478569359246e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.3999999999999999e+00" b="3.4721006307395702e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <roadborrow sOffset="0" length="9.939" mode="All" />
+ <road name="" length="7.0833714520053320e+01" id="10204" junction="-1">
+ <predecessor elementType="road" elementId="10217" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.2442706595310082e+02" y="-1.9550872302970231e+02" hdg="2.7616678649535125e+00" length="1.0459443921210529e+01">
+ <arc curvature="1.5833400902053334e-03" />
+ <geometry s="1.0459443921210521e+01" x="-1.3416428318247199e+02" y="-1.9168923191167414e+02" hdg="2.7432207021605803e+00" length="6.0374270598842799e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.7142102767982359e+00" b="4.4062238543266679e-04" c="-2.0974480735273515e-05" d="8.2302349949829845e-08" />
+ <road name="" length="8.2258567206315490e+01" id="10193" junction="800036">
+ <predecessor elementType="road" elementId="10226" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-1.1766869298433127e+02" y="-1.9840266203250292e+02" hdg="2.7624223137565846e+00" length="1.1996206404203456e+00">
+ <geometry s="1.1996206404203491e+00" x="-1.1877783593962485e+02" y="-1.9791900161618389e+02" hdg="2.8141021275265192e+00" length="1.1761871580561582e+01">
+ <arc curvature="-3.7521455679368106e-02" />
+ <geometry s="1.2961492220981938e+01" x="-1.2871983457356691e+02" y="-1.9182350267749280e+02" hdg="2.2845766777137806e+00" length="3.1471930113738864e+00">
+ <geometry s="1.6108685232355825e+01" x="-1.3078028918802738e+02" y="-1.8944456370547414e+02" hdg="2.1402511650703477e+00" length="9.6255063834372638e+00">
+ <geometry s="2.5734191615793094e+01" x="-1.3595258126439393e+02" y="-1.8132637379741095e+02" hdg="2.1570389686384619e+00" length="1.7397684019347469e+01">
+ <arc curvature="3.0608728864786761e-02" />
+ <geometry s="4.3131875635140560e+01" x="-1.4885338957135724e+02" y="-1.6992192657926358e+02" hdg="2.6372814622736365e+00" length="3.9126691571174945e+01">
+ <arc curvature="1.0661750185900017e-02" />
+ <elevation s="0.0000000000000000e+00" a="-2.8230849677573207e+00" b="6.8450656768383432e-03" c="1.1141585061742493e-04" d="-2.2644946441359773e-06" />
+ <road name="" length="7.3519726423077172e+00" id="10217" junction="800036">
+ <successor elementType="road" elementId="10204" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-1.1766869298433127e+02" y="-1.9840266203250292e+02" hdg="2.7624223137565846e+00" length="7.3519726423077172e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0022351964297050e-01" cU="2.8541089660154711e-01" dU="-2.5880664169865449e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-1.0335838449545050e-02" dV="9.3584263719508629e-04" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-2.8230849677573207e+00" b="1.4808908609446345e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="4.3000000000000000e+01" id="10226" junction="-1">
+ <predecessor elementType="road" elementId="10227" contactPoint="end" />
+ <successor elementType="junction" elementId="800036" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="-8.7042242760991911e+01" y="-2.2089219275212645e+02" hdg="1.1817414413477303e+00" length="3.2678100939537593e+00">
+ <geometry s="3.2678100939537593e+00" x="-8.5807217779302022e+01" y="-2.1786747680842709e+02" hdg="1.3277900554038746e+00" length="4.9335607385251130e+00">
+ <arc curvature="1.5484678629206192e-01" />
+ <geometry s="8.2013708324788723e+00" x="-8.6427485401373616e+01" y="-2.1307127302534835e+02" hdg="2.2643119846545590e+00" length="2.1413529055776963e+00">
+ <geometry s="1.0342723738056570e+01" x="-8.7791045692684520e+01" y="-2.1141398427882314e+02" hdg="2.5438008354070916e+00" length="3.3920496853763762e+00">
+ <geometry s="1.3734773423432948e+01" x="-9.0613463300918525e+01" y="-2.0951737465553572e+02" hdg="2.6998814526612280e+00" length="4.6987763198765613e+00">
+ <geometry s="1.8433549743309509e+01" x="-9.4847147233247895e+01" y="-2.0749593029785487e+02" hdg="2.7624223137565846e+00" length="2.4566450256690491e+01">
+ <elevation s="0.0000000000000000e+00" a="-2.7313717083984317e+00" b="-1.5297849267282469e-02" c="4.0353565971096598e-04" d="-2.2644946441359773e-06" />
+ <road name="" length="9.7968596698923740e+00" id="10227" junction="800002">
+ <predecessor elementType="road" elementId="10003" contactPoint="start" />
+ <successor elementType="road" elementId="10226" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="-9.1480796761279606e+01" y="-2.2962486122342838e+02" hdg="1.1782917131352182e+00" length="9.7968596698923740e+00">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0100637644021566e-01" cU="2.1309267678707594e-01" dU="-1.4500753328326559e-02" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-2.3884480736645498e-02" dV="1.6289217505434154e-03" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-6.7434062138484387e+00" b="4.0952250421425934e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="4.5000000000000000e+00" b="-1.5311028743320548e-01" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <junction name="" id="800000">
+ <connection id="0" incomingRoad="10001" connectingRoad="10017" contactPoint="end">
+ <laneLink from="1" to="1" />
+ <laneLink from="-1" to="-1" />
+ </connection>
+ <connection id="1" incomingRoad="10001" connectingRoad="10075" contactPoint="start">
+ <laneLink from="1" to="-1" />
+ <connection id="2" incomingRoad="10001" connectingRoad="10207" contactPoint="end">
+ <connection id="3" incomingRoad="10199" connectingRoad="10075" contactPoint="end">
+ <connection id="4" incomingRoad="10199" connectingRoad="10206" contactPoint="end">
+ <connection id="5" incomingRoad="10201" connectingRoad="10208" contactPoint="start">
+ <connection id="6" incomingRoad="10201" connectingRoad="10207" contactPoint="start">
+ </junction>
+ <junction name="" id="800001">
+ <connection id="0" incomingRoad="10001" connectingRoad="10018" contactPoint="start">
+ <connection id="1" incomingRoad="10001" connectingRoad="10035" contactPoint="start">
+ <connection id="2" incomingRoad="10002" connectingRoad="10037" contactPoint="start">
+ <connection id="3" incomingRoad="10002" connectingRoad="10018" contactPoint="end">
+ <connection id="4" incomingRoad="10002" connectingRoad="10220" contactPoint="start">
+ <connection id="5" incomingRoad="10002" connectingRoad="10092" contactPoint="end">
+ <connection id="6" incomingRoad="10033" connectingRoad="10035" contactPoint="end">
+ <connection id="7" incomingRoad="10033" connectingRoad="10037" contactPoint="end">
+ <connection id="8" incomingRoad="10203" connectingRoad="10190" contactPoint="start">
+ <connection id="9" incomingRoad="10203" connectingRoad="10092" contactPoint="start">
+ <junction name="" id="800002">
+ <connection id="0" incomingRoad="10002" connectingRoad="10019" contactPoint="start">
+ <connection id="1" incomingRoad="10002" connectingRoad="10020" contactPoint="end">
+ <connection id="2" incomingRoad="10002" connectingRoad="10012" contactPoint="start">
+ <connection id="3" incomingRoad="10003" connectingRoad="10042" contactPoint="end">
+ <connection id="4" incomingRoad="10003" connectingRoad="10019" contactPoint="end">
+ <connection id="5" incomingRoad="10003" connectingRoad="10227" contactPoint="start">
+ <connection id="6" incomingRoad="10222" connectingRoad="10042" contactPoint="start">
+ <connection id="7" incomingRoad="10222" connectingRoad="10020" contactPoint="start">
+ <connection id="8" incomingRoad="10223" connectingRoad="10042" contactPoint="start">
+ <connection id="9" incomingRoad="10223" connectingRoad="10020" contactPoint="start">
+ <junction name="" id="800003">
+ <connection id="0" incomingRoad="10020" connectingRoad="10222" contactPoint="end">
+ <connection id="1" incomingRoad="10020" connectingRoad="10223" contactPoint="end">
+ <connection id="2" incomingRoad="10042" connectingRoad="10222" contactPoint="end">
+ <connection id="3" incomingRoad="10042" connectingRoad="10223" contactPoint="end">
+ <connection id="4" incomingRoad="10221" connectingRoad="10222" contactPoint="start">
+ <laneLink from="-1" to="1" />
+ <connection id="5" incomingRoad="10221" connectingRoad="10223" contactPoint="start">
+ <connection id="6" incomingRoad="10221" connectingRoad="10145" contactPoint="end">
+ <junction name="" id="800004">
+ <connection id="0" incomingRoad="10003" connectingRoad="10111" contactPoint="end">
+ <connection id="1" incomingRoad="10003" connectingRoad="10197" contactPoint="end">
+ <connection id="2" incomingRoad="10003" connectingRoad="10095" contactPoint="start">
+ <connection id="3" incomingRoad="10166" connectingRoad="10097" contactPoint="start">
+ <connection id="4" incomingRoad="10166" connectingRoad="10197" contactPoint="start">
+ <junction name="" id="800005">
+ <connection id="0" incomingRoad="10111" connectingRoad="10097" contactPoint="end">
+ <connection id="1" incomingRoad="10111" connectingRoad="10225" contactPoint="end">
+ <junction name="" id="800006">
+ <connection id="0" incomingRoad="10013" connectingRoad="10021" contactPoint="end">
+ <connection id="1" incomingRoad="10013" connectingRoad="10048" contactPoint="start">
+ <connection id="2" incomingRoad="10221" connectingRoad="10021" contactPoint="start">
+ <connection id="3" incomingRoad="10221" connectingRoad="10047" contactPoint="start">
+ <connection id="4" incomingRoad="10028" connectingRoad="10047" contactPoint="end">
+ <connection id="5" incomingRoad="10028" connectingRoad="10048" contactPoint="end">
+ <junction name="" id="800007">
+ <connection id="0" incomingRoad="10013" connectingRoad="10022" contactPoint="start">
+ <connection id="1" incomingRoad="10013" connectingRoad="10039" contactPoint="end">
+ <connection id="2" incomingRoad="10014" connectingRoad="10022" contactPoint="end">
+ <connection id="3" incomingRoad="10014" connectingRoad="10038" contactPoint="end">
+ <connection id="4" incomingRoad="10033" connectingRoad="10038" contactPoint="start">
+ <connection id="5" incomingRoad="10033" connectingRoad="10039" contactPoint="start">
+ <junction name="" id="800008">
+ <connection id="0" incomingRoad="10016" connectingRoad="10024" contactPoint="end">
+ <connection id="1" incomingRoad="10016" connectingRoad="10084" contactPoint="end">
+ <connection id="2" incomingRoad="10015" connectingRoad="10024" contactPoint="start">
+ <connection id="3" incomingRoad="10015" connectingRoad="10085" contactPoint="end">
+ <connection id="4" incomingRoad="10066" connectingRoad="10084" contactPoint="start">
+ <connection id="5" incomingRoad="10066" connectingRoad="10085" contactPoint="start">
+ <junction name="" id="800009">
+ <connection id="0" incomingRoad="10016" connectingRoad="10073" contactPoint="end">
+ <connection id="1" incomingRoad="10016" connectingRoad="10025" contactPoint="end">
+ <connection id="2" incomingRoad="10016" connectingRoad="10026" contactPoint="start">
+ <connection id="3" incomingRoad="10016" connectingRoad="10175" contactPoint="start">
+ <connection id="4" incomingRoad="10157" connectingRoad="10025" contactPoint="start">
+ <connection id="5" incomingRoad="10157" connectingRoad="10175" contactPoint="end">
+ <connection id="6" incomingRoad="10157" connectingRoad="10000" contactPoint="end">
+ <connection id="7" incomingRoad="10170" connectingRoad="10027" contactPoint="start">
+ <connection id="8" incomingRoad="10170" connectingRoad="10073" contactPoint="start">
+ <junction name="" id="800010">
+ <connection id="0" incomingRoad="10028" connectingRoad="10049" contactPoint="start">
+ <connection id="1" incomingRoad="10028" connectingRoad="10082" contactPoint="start">
+ <connection id="2" incomingRoad="10029" connectingRoad="10049" contactPoint="end">
+ <connection id="3" incomingRoad="10029" connectingRoad="10083" contactPoint="end">
+ <connection id="4" incomingRoad="10057" connectingRoad="10082" contactPoint="end">
+ <connection id="5" incomingRoad="10057" connectingRoad="10083" contactPoint="start">
+ <junction name="" id="800011">
+ <connection id="0" incomingRoad="10029" connectingRoad="10090" contactPoint="start">
+ <connection id="1" incomingRoad="10029" connectingRoad="10050" contactPoint="start">
+ <connection id="2" incomingRoad="10029" connectingRoad="10186" contactPoint="start">
+ <connection id="3" incomingRoad="10062" connectingRoad="10090" contactPoint="end">
+ <connection id="4" incomingRoad="10062" connectingRoad="10051" contactPoint="end">
+ <connection id="5" incomingRoad="10062" connectingRoad="10179" contactPoint="end">
+ <connection id="6" incomingRoad="10030" connectingRoad="10050" contactPoint="end">
+ <connection id="7" incomingRoad="10030" connectingRoad="10051" contactPoint="start">
+ <connection id="8" incomingRoad="10030" connectingRoad="10185" contactPoint="end">
+ <connection id="9" incomingRoad="10178" connectingRoad="10179" contactPoint="start">
+ <connection id="10" incomingRoad="10178" connectingRoad="10185" contactPoint="start">
+ <connection id="11" incomingRoad="10178" connectingRoad="10186" contactPoint="end">
+ <junction name="" id="800012">
+ <connection id="0" incomingRoad="10057" connectingRoad="10076" contactPoint="start">
+ <connection id="1" incomingRoad="10057" connectingRoad="10122" contactPoint="start">
+ <connection id="2" incomingRoad="10058" connectingRoad="10076" contactPoint="end">
+ <connection id="3" incomingRoad="10058" connectingRoad="10123" contactPoint="start">
+ <connection id="4" incomingRoad="10114" connectingRoad="10122" contactPoint="end">
+ <connection id="5" incomingRoad="10114" connectingRoad="10123" contactPoint="end">
+ <junction name="" id="800013">
+ <connection id="0" incomingRoad="10059" connectingRoad="10087" contactPoint="start">
+ <connection id="1" incomingRoad="10059" connectingRoad="10088" contactPoint="start">
+ <connection id="2" incomingRoad="10066" connectingRoad="10086" contactPoint="end">
+ <connection id="3" incomingRoad="10066" connectingRoad="10088" contactPoint="end">
+ <connection id="4" incomingRoad="10067" connectingRoad="10086" contactPoint="start">
+ <connection id="5" incomingRoad="10067" connectingRoad="10087" contactPoint="end">
+ <junction name="" id="800014">
+ <connection id="0" incomingRoad="10060" connectingRoad="10089" contactPoint="start">
+ <connection id="1" incomingRoad="10060" connectingRoad="10069" contactPoint="start">
+ <connection id="2" incomingRoad="10067" connectingRoad="10089" contactPoint="end">
+ <connection id="3" incomingRoad="10067" connectingRoad="10054" contactPoint="end">
+ <connection id="4" incomingRoad="10031" connectingRoad="10054" contactPoint="start">
+ <connection id="5" incomingRoad="10031" connectingRoad="10069" contactPoint="end">
+ <junction name="" id="800015">
+ <connection id="0" incomingRoad="10061" connectingRoad="10078" contactPoint="end">
+ <connection id="1" incomingRoad="10061" connectingRoad="10139" contactPoint="start">
+ <connection id="2" incomingRoad="10061" connectingRoad="10128" contactPoint="end">
+ <connection id="3" incomingRoad="10062" connectingRoad="10078" contactPoint="start">
+ <connection id="4" incomingRoad="10062" connectingRoad="10126" contactPoint="end">
+ <connection id="5" incomingRoad="10062" connectingRoad="10137" contactPoint="start">
+ <connection id="6" incomingRoad="10114" connectingRoad="10126" contactPoint="start">
+ <connection id="7" incomingRoad="10114" connectingRoad="10128" contactPoint="start">
+ <connection id="8" incomingRoad="10114" connectingRoad="10127" contactPoint="start">
+ <connection id="9" incomingRoad="10117" connectingRoad="10127" contactPoint="end">
+ <connection id="10" incomingRoad="10117" connectingRoad="10137" contactPoint="end">
+ <connection id="11" incomingRoad="10117" connectingRoad="10139" contactPoint="end">
+ <junction name="" id="800016">
+ <connection id="0" incomingRoad="10063" connectingRoad="10052" contactPoint="end">
+ <connection id="1" incomingRoad="10063" connectingRoad="10056" contactPoint="start">
+ <connection id="2" incomingRoad="10030" connectingRoad="10052" contactPoint="start">
+ <connection id="3" incomingRoad="10030" connectingRoad="10091" contactPoint="start">
+ <connection id="4" incomingRoad="10044" connectingRoad="10091" contactPoint="end">
+ <connection id="5" incomingRoad="10044" connectingRoad="10056" contactPoint="end">
+ <connection id="6" incomingRoad="10104" connectingRoad="10091" contactPoint="end">
+ <connection id="7" incomingRoad="10104" connectingRoad="10056" contactPoint="end">
+ <junction name="" id="800017">
+ <connection id="0" incomingRoad="10063" connectingRoad="10080" contactPoint="start">
+ <connection id="1" incomingRoad="10063" connectingRoad="10142" contactPoint="end">
+ <connection id="2" incomingRoad="10063" connectingRoad="10143" contactPoint="start">
+ <connection id="3" incomingRoad="10064" connectingRoad="10080" contactPoint="end">
+ <connection id="4" incomingRoad="10064" connectingRoad="10144" contactPoint="start">
+ <connection id="5" incomingRoad="10064" connectingRoad="10141" contactPoint="end">
+ <connection id="6" incomingRoad="10118" connectingRoad="10143" contactPoint="end">
+ <connection id="7" incomingRoad="10118" connectingRoad="10144" contactPoint="end">
+ <connection id="8" incomingRoad="10118" connectingRoad="10131" contactPoint="end">
+ <connection id="9" incomingRoad="10117" connectingRoad="10142" contactPoint="start">
+ <connection id="10" incomingRoad="10117" connectingRoad="10141" contactPoint="start">
+ <connection id="11" incomingRoad="10117" connectingRoad="10131" contactPoint="start">
+ <junction name="" id="800018">
+ <connection id="0" incomingRoad="10056" connectingRoad="10044" contactPoint="start">
+ <connection id="1" incomingRoad="10056" connectingRoad="10104" contactPoint="start">
+ <connection id="2" incomingRoad="10091" connectingRoad="10044" contactPoint="start">
+ <connection id="3" incomingRoad="10091" connectingRoad="10104" contactPoint="start">
+ <connection id="4" incomingRoad="10151" connectingRoad="10044" contactPoint="end">
+ <connection id="5" incomingRoad="10151" connectingRoad="10191" contactPoint="end">
+ <connection id="6" incomingRoad="10180" connectingRoad="10191" contactPoint="start">
+ <connection id="7" incomingRoad="10180" connectingRoad="10104" contactPoint="end">
+ <junction name="" id="800019">
+ <connection id="0" incomingRoad="10064" connectingRoad="10081" contactPoint="start">
+ <connection id="1" incomingRoad="10064" connectingRoad="10148" contactPoint="end">
+ <connection id="2" incomingRoad="10065" connectingRoad="10081" contactPoint="end">
+ <connection id="3" incomingRoad="10065" connectingRoad="10189" contactPoint="start">
+ <connection id="4" incomingRoad="10065" connectingRoad="10077" contactPoint="end">
+ <junction name="" id="800020">
+ <connection id="0" incomingRoad="10065" connectingRoad="10112" contactPoint="start">
+ <connection id="1" incomingRoad="10065" connectingRoad="10121" contactPoint="end">
+ <connection id="2" incomingRoad="10065" connectingRoad="10115" contactPoint="start">
+ <connection id="3" incomingRoad="10124" connectingRoad="10138" contactPoint="end">
+ <connection id="4" incomingRoad="10124" connectingRoad="10121" contactPoint="start">
+ <connection id="5" incomingRoad="10096" connectingRoad="10138" contactPoint="end">
+ <connection id="6" incomingRoad="10096" connectingRoad="10121" contactPoint="start">
+ <junction name="" id="800021">
+ <connection id="0" incomingRoad="10121" connectingRoad="10124" contactPoint="start">
+ <connection id="1" incomingRoad="10121" connectingRoad="10096" contactPoint="end">
+ <connection id="2" incomingRoad="10138" connectingRoad="10124" contactPoint="start">
+ <connection id="3" incomingRoad="10138" connectingRoad="10096" contactPoint="end">
+ <junction name="" id="800022">
+ <connection id="0" incomingRoad="10105" connectingRoad="10109" contactPoint="end">
+ <connection id="1" incomingRoad="10105" connectingRoad="10133" contactPoint="start">
+ <connection id="2" incomingRoad="10106" connectingRoad="10109" contactPoint="start">
+ <connection id="3" incomingRoad="10106" connectingRoad="10134" contactPoint="start">
+ <connection id="4" incomingRoad="10116" connectingRoad="10133" contactPoint="end">
+ <connection id="5" incomingRoad="10116" connectingRoad="10134" contactPoint="end">
+ <junction name="" id="800023">
+ <connection id="0" incomingRoad="10106" connectingRoad="10108" contactPoint="end">
+ <connection id="1" incomingRoad="10106" connectingRoad="10136" contactPoint="end">
+ <connection id="2" incomingRoad="10107" connectingRoad="10108" contactPoint="start">
+ <connection id="3" incomingRoad="10107" connectingRoad="10135" contactPoint="end">
+ <connection id="4" incomingRoad="10119" connectingRoad="10136" contactPoint="start">
+ <connection id="5" incomingRoad="10119" connectingRoad="10135" contactPoint="start">
+ <junction name="" id="800024">
+ <connection id="0" incomingRoad="10031" connectingRoad="10070" contactPoint="end">
+ <connection id="1" incomingRoad="10031" connectingRoad="10071" contactPoint="end">
+ <connection id="2" incomingRoad="10124" connectingRoad="10070" contactPoint="start">
+ <connection id="3" incomingRoad="10124" connectingRoad="10072" contactPoint="end">
+ <connection id="4" incomingRoad="10043" connectingRoad="10071" contactPoint="start">
+ <connection id="5" incomingRoad="10043" connectingRoad="10072" contactPoint="start">
+ <junction name="" id="800025">
+ <connection id="0" incomingRoad="10149" connectingRoad="10158" contactPoint="end">
+ <connection id="1" incomingRoad="10149" connectingRoad="10198" contactPoint="start">
+ <connection id="2" incomingRoad="10149" connectingRoad="10160" contactPoint="start">
+ <connection id="3" incomingRoad="10110" connectingRoad="10177" contactPoint="start">
+ <connection id="4" incomingRoad="10110" connectingRoad="10198" contactPoint="end">
+ <connection id="5" incomingRoad="10110" connectingRoad="10214" contactPoint="start">
+ <connection id="6" incomingRoad="10178" connectingRoad="10177" contactPoint="end">
+ <connection id="7" incomingRoad="10178" connectingRoad="10181" contactPoint="end">
+ <junction name="" id="800026">
+ <connection id="0" incomingRoad="10110" connectingRoad="10103" contactPoint="end">
+ <connection id="1" incomingRoad="10110" connectingRoad="10209" contactPoint="end">
+ <connection id="2" incomingRoad="10110" connectingRoad="10176" contactPoint="start">
+ <connection id="3" incomingRoad="10110" connectingRoad="10172" contactPoint="start">
+ <connection id="4" incomingRoad="10183" connectingRoad="10140" contactPoint="start">
+ <connection id="5" incomingRoad="10183" connectingRoad="10209" contactPoint="start">
+ <connection id="6" incomingRoad="10184" connectingRoad="10113" contactPoint="end">
+ <connection id="7" incomingRoad="10184" connectingRoad="10094" contactPoint="end">
+ <connection id="8" incomingRoad="10184" connectingRoad="10172" contactPoint="end">
+ <connection id="9" incomingRoad="10094" connectingRoad="10113" contactPoint="end">
+ <connection id="10" incomingRoad="10094" connectingRoad="10172" contactPoint="end">
+ <junction name="" id="800027">
+ <connection id="0" incomingRoad="10172" connectingRoad="10184" contactPoint="start">
+ <connection id="1" incomingRoad="10172" connectingRoad="10094" contactPoint="start">
+ <connection id="2" incomingRoad="10113" connectingRoad="10184" contactPoint="start">
+ <connection id="3" incomingRoad="10113" connectingRoad="10094" contactPoint="start">
+ <junction name="" id="800028">
+ <connection id="0" incomingRoad="10154" connectingRoad="10156" contactPoint="start">
+ <connection id="1" incomingRoad="10154" connectingRoad="10155" contactPoint="end">
+ <junction name="" id="800029">
+ <connection id="0" incomingRoad="10155" connectingRoad="10102" contactPoint="end">
+ <connection id="1" incomingRoad="10155" connectingRoad="10174" contactPoint="end">
+ <junction name="" id="800030">
+ <connection id="0" incomingRoad="10171" connectingRoad="10162" contactPoint="start">
+ <connection id="1" incomingRoad="10171" connectingRoad="10055" contactPoint="end">
+ <junction name="" id="800031">
+ <connection id="0" incomingRoad="10171" connectingRoad="10098" contactPoint="start">
+ <connection id="1" incomingRoad="10171" connectingRoad="10215" contactPoint="end">
+ <connection id="2" incomingRoad="10171" connectingRoad="10216" contactPoint="start">
+ <junction name="" id="800032">
+ <connection id="0" incomingRoad="10163" connectingRoad="10159" contactPoint="start">
+ <connection id="1" incomingRoad="10163" connectingRoad="10181" contactPoint="start">
+ <junction name="" id="800033">
+ <connection id="0" incomingRoad="10055" connectingRoad="10161" contactPoint="start">
+ <connection id="1" incomingRoad="10055" connectingRoad="10099" contactPoint="end">
+ <junction name="" id="800034">
+ <connection id="0" incomingRoad="10218" connectingRoad="10195" contactPoint="end">
+ <connection id="1" incomingRoad="10218" connectingRoad="10147" contactPoint="end">
+ <connection id="2" incomingRoad="10180" connectingRoad="10147" contactPoint="start">
+ <connection id="3" incomingRoad="10180" connectingRoad="10233" contactPoint="start">
+ <junction name="" id="800035">
+ <connection id="0" incomingRoad="10036" connectingRoad="10153" contactPoint="start">
+ <connection id="1" incomingRoad="10036" connectingRoad="10183" contactPoint="start">
+ <junction name="" id="800036">
+ <connection id="0" incomingRoad="10226" connectingRoad="10193" contactPoint="start">
+ <connection id="1" incomingRoad="10226" connectingRoad="10217" contactPoint="start">
+</OpenDRIVE>
@@ -0,0 +1,11400 @@
+ <signal s="0" t="0" id="108" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="31" t="0" id="109" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="0" t="0" id="95" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="32" t="0" id="96" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="0" t="0" id="7" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="26" t="0" id="12" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="0" t="0" id="65" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="20" t="0" id="66" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="20" t="0" id="67" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="0" t="0" id="68" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="0" t="0" id="1" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="23" t="0" id="117" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0" value="0">
+ <signal s="0" t="0" id="115" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1" value="0.1">
+ <signal s="40" t="0" id="118" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0" value="0">
+ <road name="" length="2.3082192408502245e+01" id="10228" junction="800018">
+ <geometry s="0.0000000000000000e+00" x="3.0871298048213635e+02" y="-3.8860708649106891e+02" hdg="1.1784873268862315e+00" length="6.5253512848787540e+00">
+ <geometry s="6.5253512848787540e+00" x="3.1120777245719836e+02" y="-3.8257747436488410e+02" hdg="1.1784873268862315e+00" length="1.2045021001795547e+01">
+ <arc curvature="1.3020478789865919e-01" />
+ <geometry s="1.8570372286674299e+01" x="3.0706492823393990e+02" y="-3.7255171449881959e+02" hdg="2.7468067316599161e+00" length="4.5118201218279461e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5932462618034844e+00" b="-5.5561851739579976e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="2.7890907501806578e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="0" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0" value="0">
+ <connection id="6" incomingRoad="10228" connectingRoad="10091" contactPoint="end">
+ <connection id="7" incomingRoad="10228" connectingRoad="10056" contactPoint="end">
+ <connection id="8" incomingRoad="10104" connectingRoad="10091" contactPoint="end">
+ <connection id="9" incomingRoad="10104" connectingRoad="10056" contactPoint="end">
+ <connection id="1" incomingRoad="10056" connectingRoad="10228" contactPoint="end">
+ <connection id="2" incomingRoad="10056" connectingRoad="10104" contactPoint="start">
+ <connection id="3" incomingRoad="10091" connectingRoad="10044" contactPoint="start">
+ <connection id="4" incomingRoad="10091" connectingRoad="10228" contactPoint="end">
+ <connection id="5" incomingRoad="10091" connectingRoad="10104" contactPoint="start">
+ <connection id="6" incomingRoad="10151" connectingRoad="10044" contactPoint="end">
+ <connection id="7" incomingRoad="10151" connectingRoad="10191" contactPoint="end">
+ <connection id="8" incomingRoad="10180" connectingRoad="10191" contactPoint="start">
+ <connection id="9" incomingRoad="10180" connectingRoad="10228" contactPoint="start">
+ <connection id="10" incomingRoad="10180" connectingRoad="10104" contactPoint="end">
@@ -0,0 +1,11737 @@
+ <signal s="5" t="0" id="69" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="6" t="0" id="70" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="6" t="0" id="73" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="7" t="0" id="74" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="75" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="87" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="5" t="0" id="8" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="21" t="0" id="81" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="101" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="31" t="0" id="102" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="108" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="31" t="0" id="109" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="103" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="32" t="0" id="104" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="95" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="32" t="0" id="96" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="63" t="0" id="36" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="66" t="0" id="86" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="65" t="0" id="88" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="63" t="0" id="89" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="62" t="0" id="90" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="65" t="0" id="97" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="66" t="0" id="98" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="12" t="0" id="83" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="16" t="0" id="84" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="16" t="0" id="85" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="12" t="0" id="9" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="17" t="0" id="25" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="18" t="0" id="33" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="6" t="0" id="34" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="5" t="0" id="35" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="16" t="0" id="29" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="17" t="0" id="30" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="5" t="0" id="31" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="4" t="0" id="32" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="105" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="26" t="0" id="106" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="7" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="26" t="0" id="12" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="10" t="0" id="71" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="11" t="0" id="72" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="20" t="0" id="61" name="" dynamic="yes" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="22" t="0" id="62" name="" dynamic="yes" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="4" t="0" id="63" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="5" t="0" id="64" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="65" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="20" t="0" id="66" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="20" t="0" id="67" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="68" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="107" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="1" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="32" t="0" id="57" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="30" t="0" id="58" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="15" t="0" id="59" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="16" t="0" id="60" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="7" t="0" id="53" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="8" t="0" id="54" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="24" t="0" id="55" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="25" t="0" id="56" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="74" t="0" id="76" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="77" t="0" id="77" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="77.5" t="0" id="78" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="77" t="0" id="79" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="74" t="0" id="80" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="63" t="0" id="82" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="7" t="0" id="4" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="8" t="0" id="5" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="20" t="0" id="17" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="21" t="0" id="18" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="34" t="0" id="19" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="35" t="0" id="20" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="46" t="0" id="21" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="47" t="0" id="22" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="7" t="0" id="26" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="20" t="0" id="27" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="19" t="0" id="28" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="9" t="0" id="23" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="17" t="0" id="37" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="20" t="0" id="38" name="" dynamic="yes" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="7" t="0" id="39" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="5" t="0" id="40" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="13" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="1" t="0" id="16" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="10" t="0" id="45" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="9" t="0" id="46" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="22" t="0" id="47" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="23" t="0" id="48" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="0" t="0" id="49" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="1" t="0" id="50" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="24" t="0" id="51" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="25" t="0" id="52" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="44" t="0" id="6" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="43" t="0" id="14" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="29" t="0" id="93" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="28" t="0" id="94" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="10" t="0" id="2" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="9" t="0" id="3" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="31" t="0" id="15" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="32" t="0" id="24" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="12" t="0" id="99" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="5" t="0" id="44" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="6" t="0" id="10" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="7" t="0" id="11" name="" dynamic="no" orientation="-" zOffset="0" type="3000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="16" t="0" id="91" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="17" t="0" id="92" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0" pitch="0" roll="0" height="0" width="0">
+ <signal s="23" t="0" id="117" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0">
+ <signal s="0" t="0" id="115" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="15" t="0" id="116" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="110" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="32" t="0" id="111" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="102" t="0" id="112" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="146" t="0" id="113" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="5" t="0" id="114" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="100" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="40" t="0" id="118" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0">
+ <signal s="0" t="0" id="41" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="22" t="0" id="42" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="43" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <signal s="0" t="0" id="0" name="" dynamic="no" orientation="-" zOffset="0" type="5000" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0">
+ <road name="" length="3.3999999999999993e+01" id="10152" junction="-1">
+ <predecessor elementType="road" elementId="10230" contactPoint="start" />
+ <successor elementType="road" elementId="10231" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.0594089426197041e+02" y="-3.8746011744703759e+02" hdg="4.3200799804760255e+00" length="3.3999999999999993e+01">
+ <road name="" length="4.6999999999999993e+01" id="10229" junction="-1">
+ <predecessor elementType="road" elementId="10231" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="2.9255958874827172e+02" y="-4.1980112334897359e+02" hdg="4.3200799804760255e+00" length="4.6999999999999993e+01">
+ <road name="" length="1.9717989157551134e+01" id="10230" junction="800018">
+ <predecessor elementType="road" elementId="10152" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0594089426197041e+02" y="-3.8746011744703759e+02" hdg="1.1784873268862324e+00" length="5.6640758976639995e+00">
+ <geometry s="5.6640758976639995e+00" x="3.0810640083452523e+02" y="-3.8222634853174145e+02" hdg="1.1784873268862324e+00" length="1.3410808509271499e+01">
+ <arc curvature="1.1694443356561490e-01" />
+ <geometry s="1.9074884406935499e+01" x="3.0349379861875667e+02" y="-3.7106376561024319e+02" hdg="2.7468067316599161e+00" length="6.4310475061563366e-01">
+ <elevation s="0.0000000000000000e+00" a="-5.5932462618034844e+00" b="-6.5041589290788432e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.0000000000000000e+00" b="3.2649540896917323e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.0000000000000404e+00" id="10231" junction="-1">
+ <predecessor elementType="road" elementId="10229" contactPoint="start" />
+ <successor elementType="road" elementId="10152" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.9255958874827172e+02" y="-4.1980112334897359e+02" hdg="1.1784873268862257e+00" length="1.0000000000000404e+00">
+ <elevation s="0.0000000000000000e+00" a="-5.5735391362717914e+00" b="1.2199649138666620e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5999999999999996e+01" id="10237" junction="-1">
+ <predecessor elementType="road" elementId="10235" contactPoint="end" />
+ <successor elementType="road" elementId="10234" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.1194708107232992e+02" y="-3.8994521704243880e+02" hdg="4.3200799804760255e+00" length="2.5999999999999996e+01">
+ <width sOffset="0.0000000000000000e+00" a="2.7999999999999998e+00" b="0.0000000000000000e+00" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <signal s="0" t="0" id="119" name="" dynamic="no" orientation="-" zOffset="0" type="5001" country="OpenDrive" countryRevision="2013" subtype="-1" hOffset="0.1" pitch="0" roll="0" height="0.1" width="0.1">
+ <road name="" length="3.9999999999999986e+01" id="10232" junction="-1">
+ <predecessor elementType="road" elementId="10234" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.9665416048524571e+02" y="-4.2690636664465137e+02" hdg="4.3200799804760246e+00" length="3.9999999999999986e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5669700944278935e+00" b="9.3843454912822513e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="1.4000000000000046e+01" id="10234" junction="-1">
+ <predecessor elementType="road" elementId="10237" contactPoint="end" />
+ <successor elementType="road" elementId="10232" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0200668269072520e+02" y="-4.1396996428387695e+02" hdg="4.3200799804760255e+00" length="1.4000000000000046e+01">
+ <paramPoly3 aU="0.0000000000000000e+00" bU="3.0000000000000010e-01" cU="1.4999999999999933e-01" dU="-7.1428571428570863e-03" aV="0.0000000000000000e+00" bV="0.0000000000000000e+00" cV="-2.1751308237553874e-17" dV="5.8262432779161659e-19" pRange="arcLength" />
+ <elevation s="0.0000000000000000e+00" a="-5.5688469635261502e+00" b="1.3406207844690555e-04" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.5722179502169269e+01" id="10235" junction="800018">
+ <successor elementType="road" elementId="10237" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0290016217869237e+02" y="-3.7081642071481946e+02" hdg="5.8883993852497101e+00" length="6.0217140564232423e+00">
+ <geometry s="6.0217140564232423e+00" x="3.0845867949973257e+02" y="-3.7313243569081192e+02" hdg="5.8883993852497101e+00" length="1.5173900207602458e+01">
+ <arc curvature="-1.0335638058222645e-01" />
+ <geometry s="2.1195614264025700e+01" x="3.1367769114030966e+02" y="-3.8576254066865886e+02" hdg="4.3200799804760255e+00" length="4.5265652381435704e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8757356142291446e+00" b="4.9859280093955571e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4044031612043648e+00" b="-2.3497354147357260e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <connection id="8" incomingRoad="10230" connectingRoad="10091" contactPoint="end">
+ <connection id="9" incomingRoad="10230" connectingRoad="10056" contactPoint="end">
+ <connection id="10" incomingRoad="10104" connectingRoad="10091" contactPoint="end">
+ <connection id="11" incomingRoad="10104" connectingRoad="10056" contactPoint="end">
+ <connection id="12" incomingRoad="10235" connectingRoad="10091" contactPoint="end">
+ <connection id="13" incomingRoad="10235" connectingRoad="10056" contactPoint="end">
+ <connection id="2" incomingRoad="10056" connectingRoad="10230" contactPoint="end">
+ <connection id="3" incomingRoad="10056" connectingRoad="10104" contactPoint="start">
+ <connection id="4" incomingRoad="10056" connectingRoad="10235" contactPoint="start">
+ <connection id="5" incomingRoad="10091" connectingRoad="10044" contactPoint="start">
+ <connection id="6" incomingRoad="10091" connectingRoad="10228" contactPoint="end">
+ <connection id="7" incomingRoad="10091" connectingRoad="10230" contactPoint="end">
+ <connection id="8" incomingRoad="10091" connectingRoad="10104" contactPoint="start">
+ <connection id="9" incomingRoad="10091" connectingRoad="10235" contactPoint="start">
+ <connection id="10" incomingRoad="10151" connectingRoad="10044" contactPoint="end">
+ <connection id="11" incomingRoad="10151" connectingRoad="10191" contactPoint="end">
+ <connection id="12" incomingRoad="10180" connectingRoad="10191" contactPoint="start">
+ <connection id="13" incomingRoad="10180" connectingRoad="10228" contactPoint="start">
+ <connection id="14" incomingRoad="10180" connectingRoad="10104" contactPoint="end">
@@ -0,0 +1,11733 @@
+ <road name="" length="2.7000000000000000e+01" id="10234" junction="-1">
+ <predecessor elementType="road" elementId="10236" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="3.1148506670230228e+02" y="-3.8975405553510024e+02" hdg="4.3200799804760255e+00" length="2.7000000000000000e+01">
+ <road name="" length="4.1999999999999993e+01" id="10235" junction="-1">
+ <predecessor elementType="road" elementId="10232" contactPoint="end" />
+ <geometry s="0.0000000000000000e+00" x="2.9619214611521807e+02" y="-4.2671520513731281e+02" hdg="4.3200799804760255e+00" length="4.1999999999999993e+01">
+ <road name="" length="1.3000000000000050e+01" id="10232" junction="-1">
+ <successor elementType="road" elementId="10235" contactPoint="start" />
+ <geometry s="0.0000000000000000e+00" x="3.0116234530602043e+02" y="-4.1470283151659368e+02" hdg="4.3200799804760273e+00" length="1.3000000000000050e+01">
+ <elevation s="0.0000000000000000e+00" a="-5.5679085289770223e+00" b="7.2187273009906340e-05" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <road name="" length="2.4797739232894511e+01" id="10236" junction="800018">
+ <geometry s="0.0000000000000000e+00" x="3.0290016217869237e+02" y="-3.7081642071481946e+02" hdg="5.8883993852497101e+00" length="4.5266541216676499e+00">
+ <geometry s="4.5266541216676499e+00" x="3.0707862118652395e+02" y="-3.7255741981220058e+02" hdg="5.8883993852497101e+00" length="1.6738339810505916e+01">
+ <arc curvature="-9.3696234066733414e-02" />
+ <geometry s="2.1264993932173567e+01" x="3.1283571653576030e+02" y="-3.8648969734593874e+02" hdg="4.3200799804760255e+00" length="3.5327453007209448e+00">
+ <elevation s="0.0000000000000000e+00" a="-6.8757356142291446e+00" b="5.1717994950298614e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <width sOffset="0.0000000000000000e+00" a="3.4044031612043648e+00" b="-1.6308065723504302e-02" c="0.0000000000000000e+00" d="0.0000000000000000e+00" />
+ <connection id="12" incomingRoad="10236" connectingRoad="10091" contactPoint="end">
+ <connection id="13" incomingRoad="10236" connectingRoad="10056" contactPoint="end">
+ <connection id="4" incomingRoad="10056" connectingRoad="10236" contactPoint="start">
+ <connection id="9" incomingRoad="10091" connectingRoad="10236" contactPoint="start">
@@ -0,0 +1,6553 @@
+0 117.3547339 39.0674168 0 0 22.845 0 0 1 0
+1 117.3547343 39.0674177 0 0 22.845 0 0 1 0
+2 117.3547348 39.0674185 0 0 22.845 0 0 1 0
+3 117.3547352 39.0674193 0 0 22.845 0 0 1 0
+4 117.3547357 39.0674202 0 0 22.845 0 0 1 0
+5 117.3547361 39.0674210 0 0 22.845 0 0 1 0
+6 117.3547366 39.0674218 0 0 22.845 0 0 1 0
+7 117.3547370 39.0674226 0 0 22.845 0 0 1 0
+8 117.3547375 39.0674235 0 0 22.845 0 0 1 0
+9 117.3547379 39.0674243 0 0 22.845 0 0 1 0
+10 117.3547384 39.0674251 0 0 22.845 0 0 1 0
+11 117.3547388 39.0674260 0 0 22.845 0 0 1 0
+12 117.3547393 39.0674268 0 0 22.845 0 0 1 0
+13 117.3547398 39.0674276 0 0 22.845 0 0 1 0
+14 117.3547402 39.0674284 0 0 22.845 0 0 1 0
+15 117.3547407 39.0674293 0 0 22.845 0 0 1 0
+16 117.3547411 39.0674301 0 0 22.845 0 0 1 0
+17 117.3547416 39.0674309 0 0 22.845 0 0 1 0
+18 117.3547420 39.0674318 0 0 22.845 0 0 1 0
+19 117.3547425 39.0674326 0 0 22.845 0 0 1 0
+20 117.3547429 39.0674334 0 0 22.845 0 0 1 0
+21 117.3547434 39.0674342 0 0 22.845 0 0 1 0
+22 117.3547438 39.0674351 0 0 22.845 0 0 1 0
+23 117.3547443 39.0674359 0 0 22.845 0 0 1 0
+24 117.3547447 39.0674367 0 0 22.845 0 0 1 0
+25 117.3547452 39.0674376 0 0 22.845 0 0 1 0
+26 117.3547456 39.0674384 0 0 22.845 0 0 1 0
+27 117.3547461 39.0674392 0 0 22.845 0 0 1 0
+28 117.3547465 39.0674400 0 0 22.845 0 0 1 0
+29 117.3547470 39.0674409 0 0 22.845 0 0 1 0
+30 117.3547475 39.0674417 0 0 22.845 0 0 1 0
+31 117.3547479 39.0674425 0 0 22.845 0 0 1 0
+32 117.3547484 39.0674434 0 0 22.845 0 0 1 0
+33 117.3547488 39.0674442 0 0 22.845 0 0 1 0
+34 117.3547493 39.0674450 0 0 22.845 0 0 1 0
+35 117.3547497 39.0674458 0 0 22.845 0 0 1 0
+36 117.3547502 39.0674467 0 0 22.845 0 0 1 0
+37 117.3547506 39.0674475 0 0 22.845 0 0 1 0
+38 117.3547511 39.0674483 0 0 22.845 0 0 1 0
+39 117.3547515 39.0674492 0 0 22.845 0 0 1 0
+40 117.3547520 39.0674500 0 0 22.845 0 0 1 0
+41 117.3547524 39.0674508 0 0 22.845 0 0 1 0
+42 117.3547529 39.0674516 0 0 22.845 0 0 1 0
+43 117.3547533 39.0674525 0 0 22.845 0 0 1 0
+44 117.3547538 39.0674533 0 0 22.845 0 0 1 0
+45 117.3547542 39.0674541 0 0 22.845 0 0 1 0
+46 117.3547547 39.0674550 0 0 22.845 0 0 1 0
+47 117.3547552 39.0674558 0 0 22.845 0 0 1 0
+48 117.3547556 39.0674566 0 0 22.845 0 0 1 0
+49 117.3547561 39.0674574 0 0 22.845 0 0 1 0
+50 117.3547565 39.0674583 0 0 22.845 0 0 1 0
+51 117.3547570 39.0674591 0 0 22.845 0 0 1 0
+52 117.3547574 39.0674599 0 0 22.845 0 0 1 0
+53 117.3547579 39.0674608 0 0 22.845 0 0 1 0
+54 117.3547583 39.0674616 0 0 22.845 0 0 1 0
+55 117.3547588 39.0674624 0 0 22.845 0 0 1 0
+56 117.3547592 39.0674632 0 0 22.845 0 0 1 0
+57 117.3547597 39.0674641 0 0 22.845 0 0 1 0
+58 117.3547601 39.0674649 0 0 22.845 0 0 1 0
+59 117.3547606 39.0674657 0 0 22.845 0 0 1 0
+60 117.3547610 39.0674666 0 0 22.845 0 0 1 0
+61 117.3547615 39.0674674 0 0 22.845 0 0 1 0
+62 117.3547619 39.0674682 0 0 22.845 0 0 1 0
+63 117.3547624 39.0674690 0 0 22.845 0 0 1 0
+64 117.3547629 39.0674699 0 0 22.845 0 0 1 0
+65 117.3547633 39.0674707 0 0 22.845 0 0 1 0
+66 117.3547638 39.0674715 0 0 22.845 0 0 1 0
+67 117.3547642 39.0674724 0 0 22.845 0 0 1 0
+68 117.3547647 39.0674732 0 0 22.845 0 0 1 0
+69 117.3547651 39.0674740 0 0 22.845 0 0 1 0
+70 117.3547656 39.0674748 0 0 22.845 0 0 1 0
+71 117.3547660 39.0674757 0 0 22.845 0 0 1 0
+72 117.3547665 39.0674765 0 0 22.845 0 0 1 0
+73 117.3547669 39.0674773 0 0 22.845 0 0 1 0
+74 117.3547674 39.0674782 0 0 22.845 0 0 1 0
+75 117.3547678 39.0674790 0 0 22.845 0 0 1 0
+76 117.3547683 39.0674798 0 0 22.845 0 0 1 0
+77 117.3547687 39.0674806 0 0 22.845 0 0 1 0
+78 117.3547692 39.0674815 0 0 22.845 0 0 1 0
+79 117.3547696 39.0674823 0 0 22.845 0 0 1 0
+80 117.3547701 39.0674831 0 0 22.845 0 0 1 0
+81 117.3547706 39.0674840 0 0 22.845 0 0 1 0
+82 117.3547710 39.0674848 0 0 22.845 0 0 1 0
+83 117.3547715 39.0674856 0 0 22.845 0 0 1 0
+84 117.3547719 39.0674864 0 0 22.845 0 0 1 0
+85 117.3547724 39.0674873 0 0 22.845 0 0 1 0
+86 117.3547728 39.0674881 0 0 22.845 0 0 1 0
+87 117.3547733 39.0674889 0 0 22.845 0 0 1 0
+88 117.3547737 39.0674898 0 0 22.845 0 0 1 0
+89 117.3547742 39.0674906 0 0 22.845 0 0 1 0
+90 117.3547746 39.0674914 0 0 22.845 0 0 1 0
+91 117.3547751 39.0674922 0 0 22.845 0 0 1 0
+92 117.3547755 39.0674931 0 0 22.845 0 0 1 0
+93 117.3547760 39.0674939 0 0 22.845 0 0 1 0
+94 117.3547764 39.0674947 0 0 22.845 0 0 1 0
+95 117.3547769 39.0674956 0 0 22.845 0 0 1 0
+96 117.3547773 39.0674964 0 0 22.845 0 0 1 0
+97 117.3547778 39.0674972 0 0 22.845 0 0 1 0
+98 117.3547783 39.0674980 0 0 22.845 0 0 1 0
+99 117.3547787 39.0674989 0 0 22.845 0 0 1 0
+100 117.3547792 39.0674997 0 0 22.845 0 0 1 0
+101 117.3547796 39.0675005 0 0 22.845 0 0 1 0
+102 117.3547801 39.0675014 0 0 22.845 0 0 1 0
+103 117.3547805 39.0675022 0 0 22.845 0 0 1 0
+104 117.3547810 39.0675030 0 0 22.845 0 0 1 0
+105 117.3547814 39.0675038 0 0 22.845 0 0 1 0
+106 117.3547819 39.0675047 0 0 22.845 0 0 1 0
+107 117.3547823 39.0675055 0 0 22.845 0 0 1 0
+108 117.3547828 39.0675063 0 0 22.845 0 0 1 0
+109 117.3547832 39.0675072 0 0 22.845 0 0 1 0
+110 117.3547837 39.0675080 0 0 22.845 0 0 1 0
+111 117.3547841 39.0675088 0 0 22.845 0 0 1 0
+112 117.3547846 39.0675096 0 0 22.845 0 0 1 0
+113 117.3547850 39.0675105 0 0 22.845 0 0 1 0
+114 117.3547855 39.0675113 0 0 22.845 0 0 1 0
+115 117.3547860 39.0675121 0 0 22.845 0 0 1 0
+116 117.3547864 39.0675130 0 0 22.845 0 0 1 0
+117 117.3547869 39.0675138 0 0 22.845 0 0 1 0
+118 117.3547873 39.0675146 0 0 22.845 0 0 1 0
+119 117.3547878 39.0675154 0 0 22.845 0 0 1 0
+120 117.3547882 39.0675163 0 0 22.845 0 0 1 0
+121 117.3547887 39.0675171 0 0 22.845 0 0 1 0
+122 117.3547891 39.0675179 0 0 22.845 0 0 1 0
+123 117.3547896 39.0675188 0 0 22.845 0 0 1 0
+124 117.3547900 39.0675196 0 0 22.845 0 0 1 0
+125 117.3547905 39.0675204 0 0 22.845 0 0 1 0
+126 117.3547909 39.0675212 0 0 22.845 0 0 1 0
+127 117.3547914 39.0675221 0 0 22.845 0 0 1 0
+128 117.3547918 39.0675229 0 0 22.845 0 0 1 0
+129 117.3547923 39.0675237 0 0 22.845 0 0 1 0
+130 117.3547927 39.0675246 0 0 22.845 0 0 1 0
+131 117.3547932 39.0675254 0 0 22.845 0 0 1 0
+132 117.3547937 39.0675262 0 0 22.845 0 0 1 0
+133 117.3547941 39.0675270 0 0 22.845 0 0 1 0
+134 117.3547946 39.0675279 0 0 22.845 0 0 1 0
+135 117.3547950 39.0675287 0 0 22.845 0 0 1 0
+136 117.3547955 39.0675295 0 0 22.845 0 0 1 0
+137 117.3547959 39.0675304 0 0 22.845 0 0 1 0
+138 117.3547964 39.0675312 0 0 22.845 0 0 1 0
+139 117.3547968 39.0675320 0 0 22.845 0 0 1 0
+140 117.3547973 39.0675328 0 0 22.845 0 0 1 0
+141 117.3547977 39.0675337 0 0 22.845 0 0 1 0
+142 117.3547982 39.0675345 0 0 22.845 0 0 1 0
+143 117.3547986 39.0675353 0 0 22.845 0 0 1 0
+144 117.3547991 39.0675362 0 0 22.845 0 0 1 0
+145 117.3547995 39.0675370 0 0 22.845 0 0 1 0
+146 117.3548000 39.0675378 0 0 22.845 0 0 1 0
+147 117.3548004 39.0675386 0 0 22.845 0 0 1 0
+148 117.3548009 39.0675395 0 0 22.845 0 0 1 0
+149 117.3548014 39.0675403 0 0 22.845 0 0 1 0
+150 117.3548018 39.0675411 0 0 22.845 0 0 1 0
+151 117.3548023 39.0675420 0 0 22.845 0 0 1 0
+152 117.3548027 39.0675428 0 0 22.845 0 0 1 0
+153 117.3548032 39.0675436 0 0 22.845 0 0 1 0
+154 117.3548036 39.0675444 0 0 22.845 0 0 1 0
+155 117.3548041 39.0675453 0 0 22.845 0 0 1 0
+156 117.3548045 39.0675461 0 0 22.845 0 0 1 0
+157 117.3548050 39.0675469 0 0 22.845 0 0 1 0
+158 117.3548054 39.0675478 0 0 22.845 0 0 1 0
+159 117.3548059 39.0675486 0 0 22.845 0 0 1 0
+160 117.3548063 39.0675494 0 0 22.845 0 0 1 0
+161 117.3548068 39.0675502 0 0 22.845 0 0 1 0
+162 117.3548072 39.0675511 0 0 22.845 0 0 1 0
+163 117.3548077 39.0675519 0 0 22.845 0 0 1 0
+164 117.3548082 39.0675527 0 0 22.845 0 0 1 0
+165 117.3548086 39.0675536 0 0 22.845 0 0 1 0
+166 117.3548091 39.0675544 0 0 22.845 0 0 1 0
+167 117.3548095 39.0675552 0 0 22.845 0 0 1 0
+168 117.3548100 39.0675560 0 0 22.845 0 0 1 0
+169 117.3548104 39.0675569 0 0 22.845 0 0 1 0
+170 117.3548109 39.0675577 0 0 22.845 0 0 1 0
+171 117.3548113 39.0675585 0 0 22.845 0 0 1 0
+172 117.3548118 39.0675594 0 0 22.845 0 0 1 0
+173 117.3548122 39.0675602 0 0 22.845 0 0 1 0
+174 117.3548127 39.0675610 0 0 22.845 0 0 1 0
+175 117.3548131 39.0675618 0 0 22.845 0 0 1 0
+176 117.3548136 39.0675627 0 0 22.845 0 0 1 0
+177 117.3548140 39.0675635 0 0 22.845 0 0 1 0
+178 117.3548145 39.0675643 0 0 22.845 0 0 1 0
+179 117.3548149 39.0675652 0 0 22.845 0 0 1 0
+180 117.3548154 39.0675660 0 0 22.845 0 0 1 0
+181 117.3548159 39.0675668 0 0 22.845 0 0 1 0
+182 117.3548163 39.0675676 0 0 22.845 0 0 1 0
+183 117.3548168 39.0675685 0 0 22.845 0 0 1 0
+184 117.3548172 39.0675693 0 0 22.845 0 0 1 0
+185 117.3548177 39.0675701 0 0 22.845 0 0 1 0
+186 117.3548181 39.0675710 0 0 22.845 0 0 1 0
+187 117.3548186 39.0675718 0 0 22.845 0 0 1 0
+188 117.3548190 39.0675726 0 0 22.845 0 0 1 0
+189 117.3548195 39.0675734 0 0 22.845 0 0 1 0
+190 117.3548199 39.0675743 0 0 22.845 0 0 1 0
+191 117.3548204 39.0675751 0 0 22.845 0 0 1 0
+192 117.3548208 39.0675759 0 0 22.845 0 0 1 0
+193 117.3548213 39.0675768 0 0 22.845 0 0 1 0
+194 117.3548217 39.0675776 0 0 22.845 0 0 1 0
+195 117.3548222 39.0675784 0 0 22.845 0 0 1 0
+196 117.3548226 39.0675792 0 0 22.845 0 0 1 0
+197 117.3548231 39.0675801 0 0 22.845 0 0 1 0
+198 117.3548236 39.0675809 0 0 22.845 0 0 1 0
+199 117.3548240 39.0675817 0 0 22.845 0 0 1 0
+200 117.3548245 39.0675826 0 0 22.845 0 0 1 0
+201 117.3548249 39.0675834 0 0 22.845 0 0 1 0
+202 117.3548254 39.0675842 0 0 22.845 0 0 1 0
+203 117.3548258 39.0675850 0 0 22.845 0 0 1 0
+204 117.3548263 39.0675859 0 0 22.845 0 0 1 0
+205 117.3548267 39.0675867 0 0 22.845 0 0 1 0
+206 117.3548272 39.0675875 0 0 22.845 0 0 1 0
+207 117.3548276 39.0675884 0 0 22.845 0 0 1 0
+208 117.3548281 39.0675892 0 0 22.845 0 0 1 0
+209 117.3548285 39.0675900 0 0 22.845 0 0 1 0
+210 117.3548290 39.0675908 0 0 22.845 0 0 1 0
+211 117.3548294 39.0675917 0 0 22.845 0 0 1 0
+212 117.3548299 39.0675925 0 0 22.845 0 0 1 0
+213 117.3548304 39.0675933 0 0 22.845 0 0 1 0
+214 117.3548308 39.0675942 0 0 22.845 0 0 1 0
+215 117.3548313 39.0675950 0 0 22.845 0 0 1 0
+216 117.3548317 39.0675958 0 0 22.845 0 0 1 0
+217 117.3548322 39.0675966 0 0 22.845 0 0 1 0
+218 117.3548326 39.0675975 0 0 22.845 0 0 1 0
+219 117.3548331 39.0675983 0 0 22.845 0 0 1 0
+220 117.3548335 39.0675991 0 0 22.845 0 0 1 0
+221 117.3548340 39.0676000 0 0 22.845 0 0 1 0
+222 117.3548344 39.0676008 0 0 22.845 0 0 1 0
+223 117.3548349 39.0676016 0 0 22.845 0 0 1 0
+224 117.3548353 39.0676024 0 0 22.845 0 0 1 0
+225 117.3548358 39.0676033 0 0 22.845 0 0 1 0
+226 117.3548362 39.0676041 0 0 22.845 0 0 1 0
+227 117.3548367 39.0676049 0 0 22.845 0 0 1 0
+228 117.3548371 39.0676058 0 0 22.845 0 0 1 0
+229 117.3548376 39.0676066 0 0 22.845 0 0 1 0
+230 117.3548381 39.0676074 0 0 22.845 0 0 1 0
+231 117.3548385 39.0676082 0 0 22.845 0 0 1 0
+232 117.3548390 39.0676091 0 0 22.845 0 0 1 0
+233 117.3548394 39.0676099 0 0 22.845 0 0 1 0
+234 117.3548399 39.0676107 0 0 22.845 0 0 1 0
+235 117.3548403 39.0676116 0 0 22.845 0 0 1 0
+236 117.3548408 39.0676124 0 0 22.845 0 0 1 0
+237 117.3548412 39.0676132 0 0 22.845 0 0 1 0
+238 117.3548417 39.0676140 0 0 22.845 0 0 1 0
+239 117.3548421 39.0676149 0 0 22.845 0 0 1 0
+240 117.3548426 39.0676157 0 0 22.845 0 0 1 0
+241 117.3548430 39.0676165 0 0 22.845 0 0 1 0
+242 117.3548435 39.0676174 0 0 22.845 0 0 1 0
+243 117.3548439 39.0676182 0 0 22.845 0 0 1 0
+244 117.3548444 39.0676190 0 0 22.845 0 0 1 0
+245 117.3548449 39.0676198 0 0 22.845 0 0 1 0
+246 117.3548453 39.0676207 0 0 22.845 0 0 1 0
+247 117.3548458 39.0676215 0 0 22.845 0 0 1 0
+248 117.3548462 39.0676223 0 0 22.845 0 0 1 0
+249 117.3548467 39.0676232 0 0 22.845 0 0 1 0
+250 117.3548471 39.0676240 0 0 22.845 0 0 1 0
+251 117.3548476 39.0676248 0 0 22.845 0 0 1 0
+252 117.3548480 39.0676256 0 0 22.845 0 0 1 0
+253 117.3548485 39.0676265 0 0 22.845 0 0 1 0
+254 117.3548489 39.0676273 0 0 22.845 0 0 1 0
+255 117.3548494 39.0676281 0 0 22.845 0 0 1 0
+256 117.3548498 39.0676290 0 0 22.845 0 0 1 0
+257 117.3548503 39.0676298 0 0 22.845 0 0 1 0
+258 117.3548507 39.0676306 0 0 22.845 0 0 1 0
+259 117.3548512 39.0676314 0 0 22.845 0 0 1 0
+260 117.3548516 39.0676323 0 0 22.845 0 0 1 0
+261 117.3548521 39.0676331 0 0 22.845 0 0 1 0
+262 117.3548526 39.0676339 0 0 22.845 0 0 1 0
+263 117.3548530 39.0676348 0 0 22.845 0 0 1 0
+264 117.3548535 39.0676356 0 0 22.845 0 0 1 0
+265 117.3548539 39.0676364 0 0 22.845 0 0 1 0
+266 117.3548544 39.0676372 0 0 22.845 0 0 1 0
+267 117.3548548 39.0676381 0 0 22.845 0 0 1 0
+268 117.3548553 39.0676389 0 0 22.845 0 0 1 0
+269 117.3548557 39.0676397 0 0 22.845 0 0 1 0
+270 117.3548562 39.0676406 0 0 22.845 0 0 1 0
+271 117.3548566 39.0676414 0 0 22.845 0 0 1 0
+272 117.3548571 39.0676422 0 0 22.845 0 0 1 0
+273 117.3548575 39.0676430 0 0 22.845 0 0 1 0
+274 117.3548580 39.0676439 0 0 22.845 0 0 1 0
+275 117.3548584 39.0676447 0 0 22.845 0 0 1 0
+276 117.3548589 39.0676455 0 0 22.845 0 0 1 0
+277 117.3548594 39.0676464 0 0 22.845 0 0 1 0
+278 117.3548598 39.0676472 0 0 22.845 0 0 1 0
+279 117.3548603 39.0676480 0 0 22.845 0 0 1 0
+280 117.3548607 39.0676488 0 0 22.845 0 0 1 0
+281 117.3548612 39.0676497 0 0 22.845 0 0 1 0
+282 117.3548616 39.0676505 0 0 22.845 0 0 1 0
+283 117.3548621 39.0676513 0 0 22.845 0 0 1 0
+284 117.3548625 39.0676521 0 0 23.104 0 0 1 0
+285 117.3548629 39.0676529 0 0 23.104 0 0 1 0
+286 117.3548634 39.0676537 0 0 23.104 0 0 1 0
+287 117.3548639 39.0676546 0 0 23.104 0 0 1 0
+288 117.3548643 39.0676554 0 0 23.104 0 0 1 0
+289 117.3548648 39.0676562 0 0 23.104 0 0 1 0
+290 117.3548652 39.0676570 0 0 23.104 0 0 1 0
+291 117.3548657 39.0676579 0 0 23.104 0 0 1 0
+292 117.3548661 39.0676587 0 0 23.104 0 0 1 0
+293 117.3548666 39.0676595 0 0 23.104 0 0 1 0
+294 117.3548671 39.0676603 0 0 23.104 0 0 1 0
+295 117.3548675 39.0676612 0 0 23.104 0 0 1 0
+296 117.3548680 39.0676620 0 0 23.104 0 0 1 0
+297 117.3548684 39.0676628 0 0 23.104 0 0 1 0
+298 117.3548689 39.0676637 0 0 23.104 0 0 1 0
+299 117.3548694 39.0676645 0 0 23.104 0 0 1 0
+300 117.3548698 39.0676653 0 0 23.104 0 0 1 0
+301 117.3548703 39.0676661 0 0 23.104 0 0 1 0
+302 117.3548707 39.0676670 0 0 23.104 0 0 1 0
+303 117.3548712 39.0676678 0 0 23.104 0 0 1 0
+304 117.3548716 39.0676686 0 0 23.104 0 0 1 0
+305 117.3548721 39.0676694 0 0 23.104 0 0 1 0
+306 117.3548726 39.0676703 0 0 23.104 0 0 1 0
+307 117.3548734 39.0676719 0 0 22.171 0 0 1 0
+308 117.3548739 39.0676727 0 0 22.171 0 0 1 0
+309 117.3548743 39.0676735 0 0 22.171 0 0 1 0
+310 117.3548743 39.0676735 0 0 22.171 0 0 1 0
+311 117.3548747 39.0676744 0 0 22.171 0 0 1 0
+312 117.3548751 39.0676752 0 0 22.171 0 0 1 0
+313 117.3548755 39.0676761 0 0 22.171 0 0 1 0
+314 117.3548760 39.0676769 0 0 22.171 0 0 1 0
+315 117.3548764 39.0676777 0 0 22.171 0 0 1 0
+316 117.3548768 39.0676786 0 0 22.171 0 0 1 0
+317 117.3548772 39.0676794 0 0 22.171 0 0 1 0
+318 117.3548776 39.0676803 0 0 22.171 0 0 1 0
+319 117.3548780 39.0676811 0 0 22.171 0 0 1 0
+320 117.3548784 39.0676819 0 0 22.171 0 0 1 0
+321 117.3548789 39.0676828 0 0 22.171 0 0 1 0
+322 117.3548793 39.0676836 0 0 22.171 0 0 1 0
+323 117.3548797 39.0676845 0 0 22.171 0 0 1 0
+324 117.3548801 39.0676853 0 0 22.171 0 0 1 0
+325 117.3548805 39.0676862 0 0 22.171 0 0 1 0
+326 117.3548809 39.0676870 0 0 22.171 0 0 1 0
+327 117.3548813 39.0676878 0 0 22.171 0 0 1 0
+328 117.3548818 39.0676887 0 0 22.171 0 0 1 0
+329 117.3548822 39.0676895 0 0 22.171 0 0 1 0
+330 117.3548826 39.0676904 0 0 22.171 0 0 1 0
+331 117.3548830 39.0676912 0 0 22.171 0 0 1 0
+332 117.3548834 39.0676920 0 0 22.171 0 0 1 0
+333 117.3548838 39.0676929 0 0 22.171 0 0 1 0
+334 117.3548842 39.0676937 0 0 22.171 0 0 1 0
+335 117.3548847 39.0676946 0 0 22.171 0 0 1 0
+336 117.3548851 39.0676954 0 0 22.171 0 0 1 0
+337 117.3548855 39.0676962 0 0 22.171 0 0 1 0
+338 117.3548859 39.0676971 0 0 22.171 0 0 1 0
+339 117.3548863 39.0676979 0 0 22.171 0 0 1 0
+340 117.3548867 39.0676988 0 0 22.171 0 0 1 0
+341 117.3548871 39.0676996 0 0 22.171 0 0 1 0
+342 117.3548876 39.0677004 0 0 22.171 0 0 1 0
+343 117.3548880 39.0677013 0 0 22.171 0 0 1 0
+344 117.3548884 39.0677021 0 0 22.171 0 0 1 0
+345 117.3548888 39.0677030 0 0 22.171 0 0 1 0
+346 117.3548892 39.0677038 0 0 22.171 0 0 1 0
+347 117.3548896 39.0677047 0 0 22.171 0 0 1 0
+348 117.3548901 39.0677055 0 0 22.171 0 0 1 0
+349 117.3548905 39.0677063 0 0 22.171 0 0 1 0
+350 117.3548909 39.0677072 0 0 22.171 0 0 1 0
+351 117.3548913 39.0677080 0 0 22.171 0 0 1 0
+352 117.3548917 39.0677089 0 0 22.171 0 0 1 0
+353 117.3548921 39.0677097 0 0 22.171 0 0 1 0
+354 117.3548925 39.0677105 0 0 22.171 0 0 1 0
+355 117.3548930 39.0677114 0 0 22.171 0 0 1 0
+356 117.3548934 39.0677122 0 0 22.171 0 0 1 0
+357 117.3548938 39.0677131 0 0 22.171 0 0 1 0
+358 117.3548942 39.0677139 0 0 22.171 0 0 1 0
+359 117.3548946 39.0677147 0 0 22.171 0 0 1 0
+360 117.3548950 39.0677156 0 0 22.171 0 0 1 0
+361 117.3548954 39.0677164 0 0 22.171 0 0 1 0
+362 117.3548959 39.0677173 0 0 22.171 0 0 1 0
+363 117.3548963 39.0677181 0 0 22.171 0 0 1 0
+364 117.3548967 39.0677189 0 0 22.171 0 0 1 0
+365 117.3548971 39.0677198 0 0 22.171 0 0 1 0
+366 117.3548975 39.0677206 0 0 22.171 0 0 1 0
+367 117.3548979 39.0677215 0 0 22.171 0 0 1 0
+368 117.3548983 39.0677223 0 0 22.171 0 0 1 0
+369 117.3548988 39.0677232 0 0 22.171 0 0 1 0
+370 117.3548992 39.0677240 0 0 22.171 0 0 1 0
+371 117.3548996 39.0677248 0 0 22.171 0 0 1 0
+372 117.3549000 39.0677257 0 0 22.171 0 0 1 0
+373 117.3549004 39.0677265 0 0 22.171 0 0 1 0
+374 117.3549008 39.0677274 0 0 22.171 0 0 1 0
+375 117.3549012 39.0677282 0 0 22.171 0 0 1 0
+376 117.3549017 39.0677290 0 0 22.171 0 0 1 0
+377 117.3549021 39.0677299 0 0 22.171 0 0 1 0
+378 117.3549025 39.0677307 0 0 22.171 0 0 1 0
+379 117.3549029 39.0677316 0 0 22.171 0 0 1 0
+380 117.3549033 39.0677324 0 0 22.171 0 0 1 0
+381 117.3549037 39.0677332 0 0 22.171 0 0 1 0
+382 117.3549042 39.0677341 0 0 22.171 0 0 1 0
+383 117.3549046 39.0677349 0 0 22.171 0 0 1 0
+384 117.3549050 39.0677358 0 0 22.171 0 0 1 0
+385 117.3549054 39.0677366 0 0 22.171 0 0 1 0
+386 117.3549058 39.0677375 0 0 22.171 0 0 1 0
+387 117.3549062 39.0677383 0 0 22.171 0 0 1 0
+388 117.3549066 39.0677391 0 0 22.171 0 0 1 0
+389 117.3549071 39.0677400 0 0 22.171 0 0 1 0
+390 117.3549075 39.0677408 0 0 22.171 0 0 1 0
+391 117.3549079 39.0677417 0 0 22.171 0 0 1 0
+392 117.3549083 39.0677425 0 0 22.171 0 0 1 0
+393 117.3549087 39.0677433 0 0 22.171 0 0 1 0
+394 117.3549091 39.0677442 0 0 22.171 0 0 1 0
+395 117.3549095 39.0677450 0 0 22.171 0 0 1 0
+396 117.3549100 39.0677459 0 0 22.171 0 0 1 0
+397 117.3549104 39.0677467 0 0 22.171 0 0 1 0
+398 117.3549108 39.0677475 0 0 22.171 0 0 1 0
+399 117.3549112 39.0677484 0 0 22.171 0 0 1 0
+400 117.3549116 39.0677492 0 0 22.171 0 0 1 0
+401 117.3549120 39.0677501 0 0 22.171 0 0 1 0
+402 117.3549124 39.0677509 0 0 22.171 0 0 1 0
+403 117.3549129 39.0677517 0 0 22.171 0 0 1 0
+404 117.3549133 39.0677526 0 0 22.171 0 0 1 0
+405 117.3549137 39.0677534 0 0 22.171 0 0 1 0
+406 117.3549141 39.0677543 0 0 22.171 0 0 1 0
+407 117.3549145 39.0677551 0 0 22.171 0 0 1 0
+408 117.3549149 39.0677560 0 0 22.171 0 0 1 0
+409 117.3549153 39.0677568 0 0 22.171 0 0 1 0
+410 117.3549158 39.0677576 0 0 22.171 0 0 1 0
+411 117.3549162 39.0677585 0 0 22.171 0 0 1 0
+412 117.3549166 39.0677593 0 0 22.171 0 0 1 0
+413 117.3549170 39.0677602 0 0 22.171 0 0 1 0
+414 117.3549174 39.0677610 0 0 22.171 0 0 1 0
+415 117.3549178 39.0677618 0 0 22.171 0 0 1 0
+416 117.3549183 39.0677627 0 0 22.171 0 0 1 0
+417 117.3549187 39.0677635 0 0 22.171 0 0 1 0
+418 117.3549191 39.0677644 0 0 22.171 0 0 1 0
+419 117.3549195 39.0677652 0 0 22.171 0 0 1 0
+420 117.3549199 39.0677660 0 0 22.171 0 0 1 0
+421 117.3549203 39.0677669 0 0 22.171 0 0 1 0
+422 117.3549207 39.0677677 0 0 22.171 0 0 1 0
+423 117.3549212 39.0677686 0 0 22.171 0 0 1 0
+424 117.3549216 39.0677694 0 0 22.171 0 0 1 0
+425 117.3549220 39.0677703 0 0 22.171 0 0 1 0
+426 117.3549224 39.0677711 0 0 22.171 0 0 1 0
+427 117.3549228 39.0677719 0 0 22.171 0 0 1 0
+428 117.3549232 39.0677728 0 0 22.171 0 0 1 0
+429 117.3549236 39.0677736 0 0 22.171 0 0 1 0
+430 117.3549241 39.0677745 0 0 22.171 0 0 1 0
+431 117.3549245 39.0677753 0 0 22.171 0 0 1 0
+432 117.3549249 39.0677761 0 0 22.171 0 0 1 0
+433 117.3549253 39.0677770 0 0 22.171 0 0 1 0
+434 117.3549257 39.0677778 0 0 22.171 0 0 1 0
+435 117.3549261 39.0677787 0 0 22.171 0 0 1 0
+436 117.3549265 39.0677795 0 0 22.171 0 0 1 0
+437 117.3549270 39.0677803 0 0 22.171 0 0 1 0
+438 117.3549274 39.0677812 0 0 22.171 0 0 1 0
+439 117.3549278 39.0677820 0 0 22.171 0 0 1 0
+440 117.3549282 39.0677829 0 0 22.171 0 0 1 0
+441 117.3549288 39.0677842 0 0 22.171 0 0 1 0
+442 117.3549291 39.0677847 0 0 23.126 0 0 1 0
+443 117.3549294 39.0677852 0 0 24.081 0 0 1 0
+444 117.3549297 39.0677858 0 0 25.036 0 0 1 0
+445 117.3549300 39.0677863 0 0 25.991 0 0 1 0
+446 117.3549303 39.0677868 0 0 26.946 0 0 1 0
+447 117.3549306 39.0677874 0 0 27.901 0 0 1 0
+448 117.3549309 39.0677879 0 0 28.856 0 0 1 0
+449 117.3549313 39.0677884 0 0 29.810 0 0 1 0
+450 117.3549316 39.0677889 0 0 30.765 0 0 1 0
+451 117.3549320 39.0677894 0 0 31.720 0 0 1 0
+452 117.3549324 39.0677899 0 0 32.675 0 0 1 0
+453 117.3549327 39.0677904 0 0 33.630 0 0 1 0
+454 117.3549331 39.0677909 0 0 34.585 0 0 1 0
+455 117.3549336 39.0677914 0 0 35.540 0 0 1 0
+456 117.3549340 39.0677919 0 0 36.495 0 0 1 0
+457 117.3549344 39.0677923 0 0 37.450 0 0 1 0
+458 117.3549348 39.0677928 0 0 38.405 0 0 1 0
+459 117.3549353 39.0677933 0 0 39.360 0 0 1 0
+460 117.3549358 39.0677937 0 0 40.315 0 0 1 0
+461 117.3549362 39.0677942 0 0 41.270 0 0 1 0
+462 117.3549367 39.0677946 0 0 42.225 0 0 1 0
+463 117.3549372 39.0677951 0 0 43.180 0 0 1 0
+464 117.3549377 39.0677955 0 0 44.134 0 0 1 0
+465 117.3549382 39.0677959 0 0 45.089 0 0 1 0
+466 117.3549387 39.0677964 0 0 46.044 0 0 1 0
+467 117.3549392 39.0677968 0 0 46.999 0 0 1 0
+468 117.3549398 39.0677972 0 0 47.954 0 0 1 0
+469 117.3549403 39.0677976 0 0 48.909 0 0 1 0
+470 117.3549409 39.0677980 0 0 49.864 0 0 1 0
+471 117.3549415 39.0677984 0 0 50.819 0 0 1 0
+472 117.3549420 39.0677988 0 0 51.774 0 0 1 0
+473 117.3549426 39.0677991 0 0 52.729 0 0 1 0
+474 117.3549432 39.0677995 0 0 53.684 0 0 1 0
+475 117.3549438 39.0677999 0 0 54.639 0 0 1 0
+476 117.3549444 39.0678002 0 0 55.594 0 0 1 0
+477 117.3549450 39.0678006 0 0 56.549 0 0 1 0
+478 117.3549456 39.0678009 0 0 57.503 0 0 1 0
+479 117.3549463 39.0678012 0 0 58.458 0 0 1 0
+480 117.3549469 39.0678016 0 0 59.413 0 0 1 0
+481 117.3549475 39.0678019 0 0 60.368 0 0 1 0
+482 117.3549482 39.0678022 0 0 61.323 0 0 1 0
+483 117.3549488 39.0678025 0 0 62.278 0 0 1 0
+484 117.3549495 39.0678028 0 0 63.233 0 0 1 0
+485 117.3549502 39.0678030 0 0 64.188 0 0 1 0
+486 117.3549509 39.0678033 0 0 65.143 0 0 1 0
+487 117.3549515 39.0678036 0 0 66.098 0 0 1 0
+488 117.3549522 39.0678038 0 0 67.053 0 0 1 0
+489 117.3549529 39.0678041 0 0 68.008 0 0 1 0
+490 117.3549536 39.0678043 0 0 68.963 0 0 1 0
+491 117.3549543 39.0678045 0 0 69.918 0 0 1 0
+492 117.3549550 39.0678047 0 0 70.872 0 0 1 0
+493 117.3549557 39.0678050 0 0 71.827 0 0 1 0
+494 117.3549565 39.0678052 0 0 72.782 0 0 1 0
+495 117.3549572 39.0678053 0 0 73.737 0 0 1 0
+496 117.3549579 39.0678055 0 0 74.692 0 0 1 0
+497 117.3549587 39.0678057 0 0 75.647 0 0 1 0
+498 117.3549594 39.0678059 0 0 76.602 0 0 1 0
+499 117.3549601 39.0678060 0 0 77.557 0 0 1 0
+500 117.3549609 39.0678062 0 0 78.512 0 0 1 0
+501 117.3549616 39.0678063 0 0 79.467 0 0 1 0
+502 117.3549624 39.0678064 0 0 80.422 0 0 1 0
+503 117.3549631 39.0678065 0 0 81.377 0 0 1 0
+504 117.3549639 39.0678066 0 0 82.332 0 0 1 0
+505 117.3549646 39.0678067 0 0 83.287 0 0 1 0
+506 117.3549654 39.0678068 0 0 84.241 0 0 1 0
+507 117.3549662 39.0678069 0 0 85.196 0 0 1 0
+508 117.3549669 39.0678069 0 0 86.151 0 0 1 0
+509 117.3549677 39.0678070 0 0 87.106 0 0 1 0
+510 117.3549685 39.0678070 0 0 88.061 0 0 1 0
+511 117.3549692 39.0678071 0 0 89.016 0 0 1 0
+512 117.3549700 39.0678071 0 0 89.971 0 0 1 0
+513 117.3549708 39.0678071 0 0 90.926 0 0 1 0
+514 117.3549716 39.0678071 0 0 91.881 0 0 1 0
+515 117.3549723 39.0678071 0 0 92.836 0 0 1 0
+516 117.3549731 39.0678071 0 0 93.791 0 0 1 0
+517 117.3549739 39.0678071 0 0 94.746 0 0 1 0
+518 117.3549747 39.0678070 0 0 95.701 0 0 1 0
+519 117.3549754 39.0678070 0 0 96.656 0 0 1 0
+520 117.3549762 39.0678069 0 0 97.611 0 0 1 0
+521 117.3549770 39.0678069 0 0 98.565 0 0 1 0
+522 117.3549777 39.0678068 0 0 99.520 0 0 1 0
+523 117.3549785 39.0678067 0 0 100.475 0 0 1 0
+524 117.3549793 39.0678066 0 0 101.430 0 0 1 0
+525 117.3549800 39.0678065 0 0 102.385 0 0 1 0
+526 117.3549808 39.0678064 0 0 103.340 0 0 1 0
+527 117.3549816 39.0678063 0 0 104.295 0 0 1 0
+528 117.3549823 39.0678061 0 0 105.250 0 0 1 0
+529 117.3549831 39.0678060 0 0 106.205 0 0 1 0
+530 117.3549838 39.0678058 0 0 107.160 0 0 1 0
+531 117.3549846 39.0678057 0 0 108.115 0 0 1 0
+532 117.3549853 39.0678055 0 0 109.070 0 0 1 0
+533 117.3549861 39.0678053 0 0 110.025 0 0 1 0
+534 117.3549868 39.0678051 0 0 110.980 0 0 1 0
+535 117.3549881 39.0678047 0 0 112.619 0 0 1 0
+536 117.3549892 39.0678044 0 0 112.619 0 0 1 0
+537 117.3549902 39.0678041 0 0 112.619 0 0 1 0
+538 117.3549913 39.0678037 0 0 112.619 0 0 1 0
+539 117.3549924 39.0678034 0 0 112.619 0 0 1 0
+540 117.3549935 39.0678031 0 0 112.619 0 0 1 0
+541 117.3549945 39.0678028 0 0 112.619 0 0 1 0
+542 117.3549956 39.0678024 0 0 112.619 0 0 1 0
+543 117.3549967 39.0678021 0 0 112.619 0 0 1 0
+544 117.3549978 39.0678018 0 0 112.619 0 0 1 0
+545 117.3549988 39.0678014 0 0 112.619 0 0 1 0
+546 117.3549999 39.0678011 0 0 112.619 0 0 1 0
+547 117.3550010 39.0678008 0 0 112.619 0 0 1 0
+548 117.3550021 39.0678005 0 0 112.619 0 0 1 0
+549 117.3550031 39.0678001 0 0 112.619 0 0 1 0
+550 117.3550042 39.0677998 0 0 112.619 0 0 1 0
+551 117.3550053 39.0677995 0 0 112.619 0 0 1 0
+552 117.3550064 39.0677991 0 0 112.619 0 0 1 0
+553 117.3550074 39.0677988 0 0 112.619 0 0 1 0
+554 117.3550085 39.0677985 0 0 112.619 0 0 1 0
+555 117.3550096 39.0677981 0 0 112.619 0 0 1 0
+556 117.3550107 39.0677978 0 0 112.619 0 0 1 0
+557 117.3550118 39.0677975 0 0 112.619 0 0 1 0
+558 117.3550128 39.0677972 0 0 112.619 0 0 1 0
+559 117.3550139 39.0677968 0 0 112.619 0 0 1 0
+560 117.3550150 39.0677965 0 0 112.619 0 0 1 0
+561 117.3550161 39.0677962 0 0 112.619 0 0 1 0
+562 117.3550171 39.0677958 0 0 112.619 0 0 1 0
+563 117.3550182 39.0677955 0 0 112.619 0 0 1 0
+564 117.3550193 39.0677952 0 0 112.619 0 0 1 0
+565 117.3550204 39.0677948 0 0 112.619 0 0 1 0
+566 117.3550214 39.0677945 0 0 112.619 0 0 1 0
+567 117.3550225 39.0677942 0 0 112.619 0 0 1 0
+568 117.3550236 39.0677939 0 0 112.619 0 0 1 0
+569 117.3550247 39.0677935 0 0 112.619 0 0 1 0
+570 117.3550257 39.0677932 0 0 112.619 0 0 1 0
+571 117.3550268 39.0677929 0 0 112.619 0 0 1 0
+572 117.3550279 39.0677925 0 0 112.619 0 0 1 0
+573 117.3550290 39.0677922 0 0 112.619 0 0 1 0
+574 117.3550300 39.0677919 0 0 112.619 0 0 1 0
+575 117.3550311 39.0677915 0 0 112.619 0 0 1 0
+576 117.3550322 39.0677912 0 0 112.619 0 0 1 0
+577 117.3550333 39.0677909 0 0 112.619 0 0 1 0
+578 117.3550343 39.0677906 0 0 112.619 0 0 1 0
+579 117.3550354 39.0677902 0 0 112.619 0 0 1 0
+580 117.3550365 39.0677899 0 0 112.619 0 0 1 0
+581 117.3550376 39.0677896 0 0 112.619 0 0 1 0
+582 117.3550386 39.0677892 0 0 112.619 0 0 1 0
+583 117.3550397 39.0677889 0 0 112.619 0 0 1 0
+584 117.3550408 39.0677886 0 0 112.619 0 0 1 0
+585 117.3550419 39.0677882 0 0 112.619 0 0 1 0
+586 117.3550429 39.0677879 0 0 112.619 0 0 1 0
+587 117.3550440 39.0677876 0 0 112.619 0 0 1 0
+588 117.3550451 39.0677873 0 0 112.619 0 0 1 0
+589 117.3550462 39.0677869 0 0 112.619 0 0 1 0
+590 117.3550472 39.0677866 0 0 112.619 0 0 1 0
+591 117.3550483 39.0677863 0 0 112.619 0 0 1 0
+592 117.3550494 39.0677859 0 0 112.619 0 0 1 0
+593 117.3550505 39.0677856 0 0 112.619 0 0 1 0
+594 117.3550515 39.0677853 0 0 112.619 0 0 1 0
+595 117.3550526 39.0677849 0 0 112.619 0 0 1 0
+596 117.3550537 39.0677846 0 0 112.619 0 0 1 0
+597 117.3550548 39.0677843 0 0 112.619 0 0 1 0
+598 117.3550558 39.0677840 0 0 112.619 0 0 1 0
+599 117.3550569 39.0677836 0 0 112.619 0 0 1 0
+600 117.3550580 39.0677833 0 0 112.619 0 0 1 0
+601 117.3550591 39.0677830 0 0 112.619 0 0 1 0
+602 117.3550602 39.0677826 0 0 112.619 0 0 1 0
+603 117.3550612 39.0677823 0 0 112.619 0 0 1 0
+604 117.3550623 39.0677820 0 0 112.619 0 0 1 0
+605 117.3550634 39.0677816 0 0 112.619 0 0 1 0
+606 117.3550645 39.0677813 0 0 112.619 0 0 1 0
+607 117.3550655 39.0677810 0 0 112.619 0 0 1 0
+608 117.3550666 39.0677807 0 0 112.619 0 0 1 0
+609 117.3550677 39.0677803 0 0 112.619 0 0 1 0
+610 117.3550688 39.0677800 0 0 112.619 0 0 1 0
+611 117.3550698 39.0677797 0 0 112.619 0 0 1 0
+612 117.3550709 39.0677793 0 0 112.619 0 0 1 0
+613 117.3550720 39.0677790 0 0 112.619 0 0 1 0
+614 117.3550731 39.0677787 0 0 112.619 0 0 1 0
+615 117.3550741 39.0677784 0 0 112.619 0 0 1 0
+616 117.3550752 39.0677780 0 0 112.619 0 0 1 0
+617 117.3550763 39.0677777 0 0 112.619 0 0 1 0
+618 117.3550774 39.0677774 0 0 112.619 0 0 1 0
+619 117.3550784 39.0677770 0 0 112.619 0 0 1 0
+620 117.3550795 39.0677767 0 0 112.619 0 0 1 0
+621 117.3550824 39.0677758 0 0 112.619 0 0 1 0
+622 117.3550834 39.0677754 0 0 112.619 0 0 1 0
+623 117.3550845 39.0677751 0 0 112.619 0 0 1 0
+624 117.3550856 39.0677747 0 0 112.619 0 0 1 0
+625 117.3550866 39.0677744 0 0 112.619 0 0 1 0
+626 117.3550877 39.0677740 0 0 112.619 0 0 1 0
+627 117.3550888 39.0677737 0 0 112.619 0 0 1 0
+628 117.3550898 39.0677733 0 0 112.619 0 0 1 0
+629 117.3550909 39.0677730 0 0 112.619 0 0 1 0
+630 117.3550920 39.0677726 0 0 112.619 0 0 1 0
+631 117.3550930 39.0677723 0 0 112.619 0 0 1 0
+632 117.3550941 39.0677719 0 0 112.619 0 0 1 0
+633 117.3550951 39.0677716 0 0 112.619 0 0 1 0
+634 117.3550962 39.0677712 0 0 112.619 0 0 1 0
+635 117.3550973 39.0677709 0 0 112.619 0 0 1 0
+636 117.3550983 39.0677705 0 0 112.619 0 0 1 0
+637 117.3550994 39.0677702 0 0 112.619 0 0 1 0
+638 117.3551005 39.0677698 0 0 112.619 0 0 1 0
+639 117.3551015 39.0677695 0 0 112.619 0 0 1 0
+640 117.3551026 39.0677691 0 0 112.619 0 0 1 0
+641 117.3551037 39.0677688 0 0 112.619 0 0 1 0
+642 117.3551047 39.0677684 0 0 112.619 0 0 1 0
+643 117.3551058 39.0677681 0 0 112.619 0 0 1 0
+644 117.3551069 39.0677678 0 0 112.619 0 0 1 0
+645 117.3551079 39.0677674 0 0 112.619 0 0 1 0
+646 117.3551090 39.0677671 0 0 112.619 0 0 1 0
+647 117.3551101 39.0677667 0 0 112.619 0 0 1 0
+648 117.3551111 39.0677664 0 0 112.619 0 0 1 0
+649 117.3551122 39.0677660 0 0 112.619 0 0 1 0
+650 117.3551132 39.0677657 0 0 112.619 0 0 1 0
+651 117.3551143 39.0677653 0 0 112.619 0 0 1 0
+652 117.3551154 39.0677650 0 0 112.619 0 0 1 0
+653 117.3551164 39.0677646 0 0 112.619 0 0 1 0
+654 117.3551175 39.0677643 0 0 112.619 0 0 1 0
+655 117.3551186 39.0677639 0 0 112.619 0 0 1 0
+656 117.3551196 39.0677636 0 0 112.619 0 0 1 0
+657 117.3551207 39.0677632 0 0 112.619 0 0 1 0
+658 117.3551218 39.0677629 0 0 112.619 0 0 1 0
+659 117.3551228 39.0677625 0 0 112.619 0 0 1 0
+660 117.3551239 39.0677622 0 0 112.619 0 0 1 0
+661 117.3551250 39.0677618 0 0 112.619 0 0 1 0
+662 117.3551260 39.0677615 0 0 112.619 0 0 1 0
+663 117.3551271 39.0677611 0 0 112.619 0 0 1 0
+664 117.3551282 39.0677608 0 0 112.619 0 0 1 0
+665 117.3551292 39.0677604 0 0 112.619 0 0 1 0
+666 117.3551303 39.0677601 0 0 112.619 0 0 1 0
+667 117.3551314 39.0677597 0 0 112.619 0 0 1 0
+668 117.3551324 39.0677594 0 0 112.619 0 0 1 0
+669 117.3551335 39.0677590 0 0 112.619 0 0 1 0
+670 117.3551345 39.0677587 0 0 112.619 0 0 1 0
+671 117.3551356 39.0677583 0 0 112.619 0 0 1 0
+672 117.3551367 39.0677580 0 0 112.619 0 0 1 0
+673 117.3551377 39.0677576 0 0 112.619 0 0 1 0
+674 117.3551388 39.0677573 0 0 112.619 0 0 1 0
+675 117.3551399 39.0677569 0 0 112.619 0 0 1 0
+676 117.3551409 39.0677566 0 0 112.619 0 0 1 0
+677 117.3551420 39.0677562 0 0 112.619 0 0 1 0
+678 117.3551431 39.0677559 0 0 112.619 0 0 1 0
+679 117.3551441 39.0677555 0 0 112.619 0 0 1 0
+680 117.3551452 39.0677552 0 0 112.619 0 0 1 0
+681 117.3551463 39.0677548 0 0 112.619 0 0 1 0
+682 117.3551473 39.0677545 0 0 112.619 0 0 1 0
+683 117.3551484 39.0677541 0 0 112.619 0 0 1 0
+684 117.3551495 39.0677538 0 0 112.619 0 0 1 0
+685 117.3551505 39.0677534 0 0 112.619 0 0 1 0
+686 117.3551516 39.0677531 0 0 112.619 0 0 1 0
+687 117.3551527 39.0677527 0 0 112.619 0 0 1 0
+688 117.3551537 39.0677524 0 0 112.619 0 0 1 0
+689 117.3551548 39.0677520 0 0 112.619 0 0 1 0
+690 117.3551558 39.0677517 0 0 112.619 0 0 1 0
+691 117.3551569 39.0677513 0 0 112.619 0 0 1 0
+692 117.3551580 39.0677510 0 0 112.619 0 0 1 0
+693 117.3551590 39.0677506 0 0 112.619 0 0 1 0
+694 117.3551601 39.0677503 0 0 112.619 0 0 1 0
+695 117.3551612 39.0677499 0 0 112.619 0 0 1 0
+696 117.3551622 39.0677496 0 0 112.619 0 0 1 0
+697 117.3551633 39.0677492 0 0 112.619 0 0 1 0
+698 117.3551644 39.0677489 0 0 112.619 0 0 1 0
+699 117.3551654 39.0677485 0 0 112.619 0 0 1 0
+700 117.3551665 39.0677482 0 0 112.619 0 0 1 0
+701 117.3551676 39.0677478 0 0 112.619 0 0 1 0
+702 117.3551686 39.0677475 0 0 112.619 0 0 1 0
+703 117.3551697 39.0677471 0 0 112.619 0 0 1 0
+704 117.3551708 39.0677468 0 0 112.619 0 0 1 0
+705 117.3551718 39.0677464 0 0 112.619 0 0 1 0
+706 117.3551729 39.0677461 0 0 112.619 0 0 1 0
+707 117.3551739 39.0677457 0 0 112.619 0 0 1 0
+708 117.3551750 39.0677454 0 0 112.619 0 0 1 0
+709 117.3551761 39.0677450 0 0 112.619 0 0 1 0
+710 117.3551771 39.0677447 0 0 112.619 0 0 1 0
+711 117.3551782 39.0677443 0 0 112.619 0 0 1 0
+712 117.3551793 39.0677440 0 0 112.619 0 0 1 0
+713 117.3551803 39.0677436 0 0 112.619 0 0 1 0
+714 117.3551814 39.0677433 0 0 112.619 0 0 1 0
+715 117.3551825 39.0677429 0 0 112.619 0 0 1 0
+716 117.3551835 39.0677426 0 0 112.619 0 0 1 0
+717 117.3551846 39.0677422 0 0 112.619 0 0 1 0
+718 117.3551857 39.0677419 0 0 112.619 0 0 1 0
+719 117.3551867 39.0677415 0 0 112.619 0 0 1 0
+720 117.3551878 39.0677412 0 0 112.619 0 0 1 0
+721 117.3551889 39.0677408 0 0 112.619 0 0 1 0
+722 117.3551899 39.0677405 0 0 112.619 0 0 1 0
+723 117.3551910 39.0677401 0 0 112.619 0 0 1 0
+724 117.3551921 39.0677398 0 0 112.619 0 0 1 0
+725 117.3551931 39.0677394 0 0 112.619 0 0 1 0
+726 117.3551942 39.0677391 0 0 112.619 0 0 1 0
+727 117.3551952 39.0677387 0 0 112.619 0 0 1 0
+728 117.3551963 39.0677384 0 0 112.619 0 0 1 0
+729 117.3551974 39.0677380 0 0 112.619 0 0 1 0
+730 117.3551984 39.0677377 0 0 112.619 0 0 1 0
+731 117.3551995 39.0677373 0 0 112.619 0 0 1 0
+732 117.3552006 39.0677370 0 0 112.619 0 0 1 0
+733 117.3552016 39.0677366 0 0 112.619 0 0 1 0
+734 117.3552027 39.0677363 0 0 112.619 0 0 1 0
+735 117.3552038 39.0677359 0 0 112.619 0 0 1 0
+736 117.3552048 39.0677356 0 0 112.619 0 0 1 0
+737 117.3552059 39.0677352 0 0 112.619 0 0 1 0
+738 117.3552070 39.0677349 0 0 112.619 0 0 1 0
+739 117.3552080 39.0677345 0 0 112.619 0 0 1 0
+740 117.3552091 39.0677342 0 0 112.619 0 0 1 0
+741 117.3552102 39.0677338 0 0 112.619 0 0 1 0
+742 117.3552112 39.0677335 0 0 112.619 0 0 1 0
+743 117.3552123 39.0677331 0 0 112.619 0 0 1 0
+744 117.3552133 39.0677328 0 0 112.619 0 0 1 0
+745 117.3552144 39.0677324 0 0 112.619 0 0 1 0
+746 117.3552155 39.0677321 0 0 112.619 0 0 1 0
+747 117.3552165 39.0677317 0 0 112.619 0 0 1 0
+748 117.3552176 39.0677314 0 0 112.619 0 0 1 0
+749 117.3552187 39.0677310 0 0 112.619 0 0 1 0
+750 117.3552197 39.0677307 0 0 112.619 0 0 1 0
+751 117.3552208 39.0677303 0 0 112.619 0 0 1 0
+752 117.3552219 39.0677300 0 0 112.619 0 0 1 0
+753 117.3552229 39.0677296 0 0 112.619 0 0 1 0
+754 117.3552240 39.0677293 0 0 112.619 0 0 1 0
+755 117.3552251 39.0677289 0 0 112.619 0 0 1 0
+756 117.3552261 39.0677286 0 0 112.619 0 0 1 0
+757 117.3552272 39.0677282 0 0 112.619 0 0 1 0
+758 117.3552283 39.0677279 0 0 112.619 0 0 1 0
+759 117.3552293 39.0677276 0 0 112.619 0 0 1 0
+760 117.3552304 39.0677272 0 0 112.619 0 0 1 0
+761 117.3552315 39.0677269 0 0 112.619 0 0 1 0
+762 117.3552325 39.0677265 0 0 112.619 0 0 1 0
+763 117.3552336 39.0677262 0 0 112.619 0 0 1 0
+764 117.3552346 39.0677258 0 0 112.619 0 0 1 0
+765 117.3552357 39.0677255 0 0 112.619 0 0 1 0
+766 117.3552368 39.0677251 0 0 112.619 0 0 1 0
+767 117.3552378 39.0677248 0 0 112.619 0 0 1 0
+768 117.3552389 39.0677244 0 0 112.619 0 0 1 0
+769 117.3552400 39.0677241 0 0 112.619 0 0 1 0
+770 117.3552410 39.0677237 0 0 112.619 0 0 1 0
+771 117.3552421 39.0677234 0 0 112.619 0 0 1 0
+772 117.3552432 39.0677230 0 0 112.619 0 0 1 0
+773 117.3552442 39.0677227 0 0 112.619 0 0 1 0
+774 117.3552453 39.0677223 0 0 112.619 0 0 1 0
+775 117.3552464 39.0677220 0 0 112.619 0 0 1 0
+776 117.3552474 39.0677216 0 0 112.619 0 0 1 0
+777 117.3552485 39.0677213 0 0 112.619 0 0 1 0
+778 117.3552496 39.0677209 0 0 112.619 0 0 1 0
+779 117.3552506 39.0677206 0 0 112.619 0 0 1 0
+780 117.3552517 39.0677202 0 0 112.619 0 0 1 0
+781 117.3552528 39.0677199 0 0 112.619 0 0 1 0
+782 117.3552538 39.0677195 0 0 112.619 0 0 1 0
+783 117.3552549 39.0677192 0 0 112.619 0 0 1 0
+784 117.3552559 39.0677188 0 0 112.619 0 0 1 0
+785 117.3552570 39.0677185 0 0 112.619 0 0 1 0
+786 117.3552581 39.0677181 0 0 112.619 0 0 1 0
+787 117.3552591 39.0677178 0 0 112.619 0 0 1 0
+788 117.3552602 39.0677174 0 0 112.619 0 0 1 0
+789 117.3552613 39.0677171 0 0 112.619 0 0 1 0
+790 117.3552623 39.0677167 0 0 112.619 0 0 1 0
+791 117.3552634 39.0677164 0 0 112.619 0 0 1 0
+792 117.3552645 39.0677160 0 0 112.619 0 0 1 0
+793 117.3552655 39.0677157 0 0 112.619 0 0 1 0
+794 117.3552666 39.0677153 0 0 112.619 0 0 1 0
+795 117.3552677 39.0677150 0 0 112.619 0 0 1 0
+796 117.3552687 39.0677146 0 0 112.619 0 0 1 0
+797 117.3552698 39.0677143 0 0 112.619 0 0 1 0
+798 117.3552709 39.0677139 0 0 112.619 0 0 1 0
+799 117.3552719 39.0677136 0 0 112.619 0 0 1 0
+800 117.3552730 39.0677132 0 0 112.619 0 0 1 0
+801 117.3552740 39.0677129 0 0 112.619 0 0 1 0
+802 117.3552751 39.0677125 0 0 112.619 0 0 1 0
+803 117.3552762 39.0677122 0 0 112.619 0 0 1 0
+804 117.3552772 39.0677118 0 0 112.619 0 0 1 0
+805 117.3552783 39.0677115 0 0 112.619 0 0 1 0
+806 117.3552794 39.0677111 0 0 112.619 0 0 1 0
+807 117.3552804 39.0677108 0 0 112.619 0 0 1 0
+808 117.3552815 39.0677104 0 0 112.619 0 0 1 0
+809 117.3552826 39.0677101 0 0 112.619 0 0 1 0
+810 117.3552836 39.0677097 0 0 112.619 0 0 1 0
+811 117.3552847 39.0677094 0 0 112.619 0 0 1 0
+812 117.3552858 39.0677090 0 0 112.619 0 0 1 0
+813 117.3552868 39.0677087 0 0 112.619 0 0 1 0
+814 117.3552879 39.0677083 0 0 112.619 0 0 1 0
+815 117.3552890 39.0677080 0 0 112.619 0 0 1 0
+816 117.3552900 39.0677076 0 0 112.619 0 0 1 0
+817 117.3552911 39.0677073 0 0 112.619 0 0 1 0
+818 117.3552922 39.0677069 0 0 112.619 0 0 1 0
+819 117.3552932 39.0677066 0 0 112.619 0 0 1 0
+820 117.3552943 39.0677062 0 0 112.619 0 0 1 0
+821 117.3552953 39.0677059 0 0 112.619 0 0 1 0
+822 117.3552964 39.0677055 0 0 112.619 0 0 1 0
+823 117.3552975 39.0677052 0 0 112.619 0 0 1 0
+824 117.3552985 39.0677048 0 0 112.619 0 0 1 0
+825 117.3552996 39.0677045 0 0 112.619 0 0 1 0
+826 117.3553007 39.0677041 0 0 112.619 0 0 1 0
+827 117.3553017 39.0677038 0 0 112.619 0 0 1 0
+828 117.3553028 39.0677034 0 0 112.619 0 0 1 0
+829 117.3553039 39.0677031 0 0 112.619 0 0 1 0
+830 117.3553049 39.0677027 0 0 112.619 0 0 1 0
+831 117.3553060 39.0677024 0 0 112.619 0 0 1 0
+832 117.3553071 39.0677020 0 0 112.619 0 0 1 0
+833 117.3553081 39.0677017 0 0 112.619 0 0 1 0
+834 117.3553092 39.0677013 0 0 112.619 0 0 1 0
+835 117.3553103 39.0677010 0 0 112.619 0 0 1 0
+836 117.3553113 39.0677006 0 0 112.619 0 0 1 0
+837 117.3553124 39.0677003 0 0 112.619 0 0 1 0
+838 117.3553134 39.0676999 0 0 112.619 0 0 1 0
+839 117.3553145 39.0676996 0 0 112.619 0 0 1 0
+840 117.3553156 39.0676992 0 0 112.619 0 0 1 0
+841 117.3553166 39.0676989 0 0 112.619 0 0 1 0
+842 117.3553177 39.0676985 0 0 112.619 0 0 1 0
+843 117.3553188 39.0676982 0 0 112.619 0 0 1 0
+844 117.3553198 39.0676978 0 0 112.619 0 0 1 0
+845 117.3553209 39.0676975 0 0 112.619 0 0 1 0
+846 117.3553220 39.0676971 0 0 112.619 0 0 1 0
+847 117.3553230 39.0676968 0 0 112.619 0 0 1 0
+848 117.3553241 39.0676964 0 0 112.619 0 0 1 0
+849 117.3553252 39.0676961 0 0 112.619 0 0 1 0
+850 117.3553262 39.0676957 0 0 112.619 0 0 1 0
+851 117.3553273 39.0676954 0 0 112.619 0 0 1 0
+852 117.3553284 39.0676950 0 0 112.619 0 0 1 0
+853 117.3553294 39.0676947 0 0 112.619 0 0 1 0
+854 117.3553305 39.0676943 0 0 112.619 0 0 1 0
+855 117.3553316 39.0676940 0 0 112.619 0 0 1 0
+856 117.3553326 39.0676936 0 0 112.619 0 0 1 0
+857 117.3553337 39.0676933 0 0 112.619 0 0 1 0
+858 117.3553347 39.0676929 0 0 112.619 0 0 1 0
+859 117.3553358 39.0676926 0 0 112.619 0 0 1 0
+860 117.3553369 39.0676922 0 0 112.619 0 0 1 0
+861 117.3553379 39.0676919 0 0 112.619 0 0 1 0
+862 117.3553390 39.0676915 0 0 112.619 0 0 1 0
+863 117.3553401 39.0676912 0 0 112.619 0 0 1 0
+864 117.3553411 39.0676908 0 0 112.619 0 0 1 0
+865 117.3553422 39.0676905 0 0 112.619 0 0 1 0
+866 117.3553433 39.0676901 0 0 112.619 0 0 1 0
+867 117.3553443 39.0676898 0 0 112.619 0 0 1 0
+868 117.3553454 39.0676894 0 0 112.619 0 0 1 0
+869 117.3553465 39.0676891 0 0 112.619 0 0 1 0
+870 117.3553475 39.0676887 0 0 112.619 0 0 1 0
+871 117.3553486 39.0676884 0 0 112.619 0 0 1 0
+872 117.3553497 39.0676880 0 0 112.619 0 0 1 0
+873 117.3553507 39.0676877 0 0 112.619 0 0 1 0
+874 117.3553518 39.0676873 0 0 112.619 0 0 1 0
+875 117.3553528 39.0676870 0 0 112.619 0 0 1 0
+876 117.3553539 39.0676867 0 0 112.619 0 0 1 0
+877 117.3553550 39.0676863 0 0 112.619 0 0 1 0
+878 117.3553560 39.0676860 0 0 112.619 0 0 1 0
+879 117.3553571 39.0676856 0 0 112.619 0 0 1 0
+880 117.3553582 39.0676853 0 0 112.619 0 0 1 0
+881 117.3553592 39.0676849 0 0 112.619 0 0 1 0
+882 117.3553603 39.0676846 0 0 112.619 0 0 1 0
+883 117.3553614 39.0676842 0 0 112.619 0 0 1 0
+884 117.3553624 39.0676839 0 0 112.619 0 0 1 0
+885 117.3553635 39.0676835 0 0 112.619 0 0 1 0
+886 117.3553646 39.0676832 0 0 112.619 0 0 1 0
+887 117.3553656 39.0676828 0 0 112.619 0 0 1 0
+888 117.3553667 39.0676825 0 0 112.619 0 0 1 0
+889 117.3553678 39.0676821 0 0 112.619 0 0 1 0
+890 117.3553688 39.0676818 0 0 112.619 0 0 1 0
+891 117.3553699 39.0676814 0 0 112.619 0 0 1 0
+892 117.3553710 39.0676811 0 0 112.619 0 0 1 0
+893 117.3553720 39.0676807 0 0 112.619 0 0 1 0
+894 117.3553731 39.0676804 0 0 112.619 0 0 1 0
+895 117.3553741 39.0676800 0 0 112.619 0 0 1 0
+896 117.3553752 39.0676797 0 0 112.619 0 0 1 0
+897 117.3553763 39.0676793 0 0 112.619 0 0 1 0
+898 117.3553773 39.0676790 0 0 112.619 0 0 1 0
+899 117.3553784 39.0676786 0 0 112.619 0 0 1 0
+900 117.3553795 39.0676783 0 0 112.619 0 0 1 0
+901 117.3553805 39.0676779 0 0 112.619 0 0 1 0
+902 117.3553816 39.0676776 0 0 112.619 0 0 1 0
+903 117.3553827 39.0676772 0 0 112.619 0 0 1 0
+904 117.3553837 39.0676769 0 0 112.619 0 0 1 0
+905 117.3553848 39.0676765 0 0 112.619 0 0 1 0
+906 117.3553859 39.0676762 0 0 112.619 0 0 1 0
+907 117.3553869 39.0676758 0 0 112.619 0 0 1 0
+908 117.3553880 39.0676755 0 0 112.619 0 0 1 0
+909 117.3553891 39.0676751 0 0 112.619 0 0 1 0
+910 117.3553901 39.0676748 0 0 112.619 0 0 1 0
+911 117.3553912 39.0676744 0 0 112.619 0 0 1 0
+912 117.3553922 39.0676741 0 0 112.619 0 0 1 0
+913 117.3553933 39.0676737 0 0 112.619 0 0 1 0
+914 117.3553944 39.0676734 0 0 112.619 0 0 1 0
+915 117.3553954 39.0676730 0 0 112.619 0 0 1 0
+916 117.3553965 39.0676727 0 0 112.619 0 0 1 0
+917 117.3553976 39.0676723 0 0 112.619 0 0 1 0
+918 117.3553986 39.0676720 0 0 112.619 0 0 1 0
+919 117.3553997 39.0676716 0 0 112.619 0 0 1 0
+920 117.3554008 39.0676713 0 0 112.619 0 0 1 0
+921 117.3554018 39.0676709 0 0 112.619 0 0 1 0
+922 117.3554029 39.0676706 0 0 112.619 0 0 1 0
+923 117.3554040 39.0676702 0 0 112.619 0 0 1 0
+924 117.3554050 39.0676699 0 0 112.619 0 0 1 0
+925 117.3554061 39.0676695 0 0 112.619 0 0 1 0
+926 117.3554072 39.0676692 0 0 112.619 0 0 1 0
+927 117.3554082 39.0676688 0 0 112.619 0 0 1 0
+928 117.3554093 39.0676685 0 0 112.619 0 0 1 0
+929 117.3554104 39.0676681 0 0 112.619 0 0 1 0
+930 117.3554114 39.0676678 0 0 112.619 0 0 1 0
+931 117.3554125 39.0676674 0 0 112.619 0 0 1 0
+932 117.3554135 39.0676671 0 0 112.619 0 0 1 0
+933 117.3554146 39.0676667 0 0 112.619 0 0 1 0
+934 117.3554157 39.0676664 0 0 112.619 0 0 1 0
+935 117.3554167 39.0676660 0 0 112.619 0 0 1 0
+936 117.3554178 39.0676657 0 0 112.619 0 0 1 0
+937 117.3554189 39.0676653 0 0 112.619 0 0 1 0
+938 117.3554199 39.0676650 0 0 112.619 0 0 1 0
+939 117.3554210 39.0676646 0 0 112.619 0 0 1 0
+940 117.3554221 39.0676643 0 0 112.619 0 0 1 0
+941 117.3554231 39.0676639 0 0 112.619 0 0 1 0
+942 117.3554242 39.0676636 0 0 112.619 0 0 1 0
+943 117.3554253 39.0676632 0 0 112.619 0 0 1 0
+944 117.3554263 39.0676629 0 0 112.619 0 0 1 0
+945 117.3554274 39.0676625 0 0 112.619 0 0 1 0
+946 117.3554288 39.0676621 0 0 112.847 0 0 1 0
+947 117.3554299 39.0676617 0 0 112.847 0 0 1 0
+948 117.3554310 39.0676613 0 0 112.847 0 0 1 0
+949 117.3554320 39.0676610 0 0 112.847 0 0 1 0
+950 117.3554331 39.0676606 0 0 112.847 0 0 1 0
+951 117.3554341 39.0676603 0 0 112.847 0 0 1 0
+952 117.3554352 39.0676599 0 0 112.847 0 0 1 0
+953 117.3554363 39.0676596 0 0 112.847 0 0 1 0
+954 117.3554373 39.0676592 0 0 112.847 0 0 1 0
+955 117.3554384 39.0676589 0 0 112.847 0 0 1 0
+956 117.3554395 39.0676585 0 0 112.847 0 0 1 0
+957 117.3554405 39.0676582 0 0 112.847 0 0 1 0
+958 117.3554416 39.0676578 0 0 112.847 0 0 1 0
+959 117.3554426 39.0676575 0 0 112.847 0 0 1 0
+960 117.3554437 39.0676571 0 0 112.847 0 0 1 0
+961 117.3554448 39.0676568 0 0 112.847 0 0 1 0
+962 117.3554458 39.0676564 0 0 112.847 0 0 1 0
+963 117.3554469 39.0676561 0 0 112.847 0 0 1 0
+964 117.3554480 39.0676557 0 0 112.847 0 0 1 0
+965 117.3554490 39.0676553 0 0 112.847 0 0 1 0
+966 117.3554501 39.0676550 0 0 112.847 0 0 1 0
+967 117.3554511 39.0676546 0 0 112.847 0 0 1 0
+968 117.3554530 39.0676540 0 0 112.742 0 0 1 0
+969 117.3554540 39.0676537 0 0 112.742 0 0 1 0
+970 117.3554551 39.0676533 0 0 112.742 0 0 1 0
+971 117.3554562 39.0676530 0 0 112.742 0 0 1 0
+972 117.3554572 39.0676526 0 0 112.742 0 0 1 0
+973 117.3554583 39.0676523 0 0 112.742 0 0 1 0
+974 117.3554593 39.0676519 0 0 112.742 0 0 1 0
+975 117.3554604 39.0676516 0 0 112.742 0 0 1 0
+976 117.3554615 39.0676512 0 0 112.742 0 0 1 0
+977 117.3554625 39.0676509 0 0 112.742 0 0 1 0
+978 117.3554636 39.0676505 0 0 112.742 0 0 1 0
+979 117.3554647 39.0676502 0 0 112.742 0 0 1 0
+980 117.3554657 39.0676498 0 0 112.742 0 0 1 0
+981 117.3554668 39.0676495 0 0 112.742 0 0 1 0
+982 117.3554679 39.0676491 0 0 112.742 0 0 1 0
+983 117.3554689 39.0676488 0 0 112.742 0 0 1 0
+984 117.3554700 39.0676484 0 0 112.742 0 0 1 0
+985 117.3554710 39.0676481 0 0 112.742 0 0 1 0
+986 117.3554721 39.0676477 0 0 112.742 0 0 1 0
+987 117.3554732 39.0676474 0 0 112.742 0 0 1 0
+988 117.3554742 39.0676470 0 0 112.742 0 0 1 0
+989 117.3554753 39.0676467 0 0 112.742 0 0 1 0
+990 117.3554764 39.0676463 0 0 112.742 0 0 1 0
+991 117.3554774 39.0676460 0 0 112.742 0 0 1 0
+992 117.3554785 39.0676456 0 0 112.742 0 0 1 0
+993 117.3554796 39.0676453 0 0 112.742 0 0 1 0
+994 117.3554806 39.0676449 0 0 112.742 0 0 1 0
+995 117.3554817 39.0676446 0 0 112.742 0 0 1 0
+996 117.3554827 39.0676442 0 0 112.742 0 0 1 0
+997 117.3554838 39.0676439 0 0 112.742 0 0 1 0
+998 117.3554849 39.0676435 0 0 112.742 0 0 1 0
+999 117.3554859 39.0676431 0 0 112.742 0 0 1 0
+1000 117.3554870 39.0676428 0 0 112.742 0 0 1 0
+1001 117.3554881 39.0676424 0 0 112.742 0 0 1 0
+1002 117.3554891 39.0676421 0 0 112.742 0 0 1 0
+1003 117.3554902 39.0676417 0 0 112.742 0 0 1 0
+1004 117.3554913 39.0676414 0 0 112.742 0 0 1 0
+1005 117.3554923 39.0676410 0 0 112.742 0 0 1 0
+1006 117.3554934 39.0676407 0 0 112.742 0 0 1 0
+1007 117.3554945 39.0676403 0 0 112.742 0 0 1 0
+1008 117.3554955 39.0676400 0 0 112.742 0 0 1 0
+1009 117.3554966 39.0676396 0 0 112.742 0 0 1 0
+1010 117.3554976 39.0676393 0 0 112.742 0 0 1 0
+1011 117.3554987 39.0676389 0 0 112.742 0 0 1 0
+1012 117.3554998 39.0676386 0 0 112.742 0 0 1 0
+1013 117.3555008 39.0676382 0 0 112.742 0 0 1 0
+1014 117.3555019 39.0676379 0 0 112.742 0 0 1 0
+1015 117.3555030 39.0676375 0 0 112.742 0 0 1 0
+1016 117.3555040 39.0676372 0 0 112.742 0 0 1 0
+1017 117.3555051 39.0676368 0 0 112.742 0 0 1 0
+1018 117.3555062 39.0676365 0 0 112.742 0 0 1 0
+1019 117.3555072 39.0676361 0 0 112.742 0 0 1 0
+1020 117.3555083 39.0676358 0 0 112.742 0 0 1 0
+1021 117.3555093 39.0676354 0 0 112.742 0 0 1 0
+1022 117.3555104 39.0676351 0 0 112.742 0 0 1 0
+1023 117.3555115 39.0676347 0 0 112.742 0 0 1 0
+1024 117.3555125 39.0676344 0 0 112.742 0 0 1 0
+1025 117.3555136 39.0676340 0 0 112.742 0 0 1 0
+1026 117.3555147 39.0676337 0 0 112.742 0 0 1 0
+1027 117.3555157 39.0676333 0 0 112.742 0 0 1 0
+1028 117.3555168 39.0676330 0 0 112.742 0 0 1 0
+1029 117.3555179 39.0676326 0 0 112.742 0 0 1 0
+1030 117.3555189 39.0676323 0 0 112.742 0 0 1 0
+1031 117.3555200 39.0676319 0 0 112.742 0 0 1 0
+1032 117.3555210 39.0676316 0 0 112.742 0 0 1 0
+1033 117.3555221 39.0676312 0 0 112.742 0 0 1 0
+1034 117.3555232 39.0676308 0 0 112.742 0 0 1 0
+1035 117.3555242 39.0676305 0 0 112.742 0 0 1 0
+1036 117.3555253 39.0676301 0 0 112.742 0 0 1 0
+1037 117.3555264 39.0676298 0 0 112.742 0 0 1 0
+1038 117.3555274 39.0676294 0 0 112.742 0 0 1 0
+1039 117.3555285 39.0676291 0 0 112.742 0 0 1 0
+1040 117.3555296 39.0676287 0 0 112.742 0 0 1 0
+1041 117.3555306 39.0676284 0 0 112.742 0 0 1 0
+1042 117.3555317 39.0676280 0 0 112.742 0 0 1 0
+1043 117.3555328 39.0676277 0 0 112.742 0 0 1 0
+1044 117.3555338 39.0676273 0 0 112.742 0 0 1 0
+1045 117.3555349 39.0676270 0 0 112.742 0 0 1 0
+1046 117.3555359 39.0676266 0 0 112.742 0 0 1 0
+1047 117.3555370 39.0676263 0 0 112.742 0 0 1 0
+1048 117.3555381 39.0676259 0 0 112.742 0 0 1 0
+1049 117.3555391 39.0676256 0 0 112.742 0 0 1 0
+1050 117.3555402 39.0676252 0 0 112.742 0 0 1 0
+1051 117.3555413 39.0676249 0 0 112.742 0 0 1 0
+1052 117.3555423 39.0676245 0 0 112.742 0 0 1 0
+1053 117.3555434 39.0676242 0 0 112.742 0 0 1 0
+1054 117.3555445 39.0676238 0 0 112.742 0 0 1 0
+1055 117.3555455 39.0676235 0 0 112.742 0 0 1 0
+1056 117.3555466 39.0676231 0 0 112.742 0 0 1 0
+1057 117.3555476 39.0676228 0 0 112.742 0 0 1 0
+1058 117.3555487 39.0676224 0 0 112.742 0 0 1 0
+1059 117.3555498 39.0676221 0 0 112.742 0 0 1 0
+1060 117.3555508 39.0676217 0 0 112.742 0 0 1 0
+1061 117.3555519 39.0676214 0 0 112.742 0 0 1 0
+1062 117.3555530 39.0676210 0 0 112.742 0 0 1 0
+1063 117.3555540 39.0676207 0 0 112.742 0 0 1 0
+1064 117.3555551 39.0676203 0 0 112.742 0 0 1 0
+1065 117.3555562 39.0676200 0 0 112.742 0 0 1 0
+1066 117.3555572 39.0676196 0 0 112.742 0 0 1 0
+1067 117.3555583 39.0676192 0 0 112.742 0 0 1 0
+1068 117.3555593 39.0676189 0 0 112.742 0 0 1 0
+1069 117.3555604 39.0676185 0 0 112.742 0 0 1 0
+1070 117.3555615 39.0676182 0 0 112.742 0 0 1 0
+1071 117.3555625 39.0676178 0 0 112.742 0 0 1 0
+1072 117.3555636 39.0676175 0 0 112.742 0 0 1 0
+1073 117.3555647 39.0676171 0 0 112.742 0 0 1 0
+1074 117.3555657 39.0676168 0 0 112.742 0 0 1 0
+1075 117.3555668 39.0676164 0 0 112.742 0 0 1 0
+1076 117.3555679 39.0676161 0 0 112.742 0 0 1 0
+1077 117.3555689 39.0676157 0 0 112.742 0 0 1 0
+1078 117.3555700 39.0676154 0 0 112.742 0 0 1 0
+1079 117.3555710 39.0676150 0 0 112.742 0 0 1 0
+1080 117.3555721 39.0676147 0 0 112.742 0 0 1 0
+1081 117.3555732 39.0676143 0 0 112.742 0 0 1 0
+1082 117.3555742 39.0676140 0 0 112.742 0 0 1 0
+1083 117.3555753 39.0676136 0 0 112.742 0 0 1 0
+1084 117.3555764 39.0676133 0 0 112.742 0 0 1 0
+1085 117.3555774 39.0676129 0 0 112.742 0 0 1 0
+1086 117.3555785 39.0676126 0 0 112.742 0 0 1 0
+1087 117.3555796 39.0676122 0 0 112.742 0 0 1 0
+1088 117.3555806 39.0676119 0 0 112.742 0 0 1 0
+1089 117.3555817 39.0676115 0 0 112.742 0 0 1 0
+1090 117.3555828 39.0676112 0 0 112.742 0 0 1 0
+1091 117.3555838 39.0676108 0 0 112.742 0 0 1 0
+1092 117.3555849 39.0676105 0 0 112.742 0 0 1 0
+1093 117.3555859 39.0676101 0 0 112.742 0 0 1 0
+1094 117.3555870 39.0676098 0 0 112.742 0 0 1 0
+1095 117.3555881 39.0676094 0 0 112.742 0 0 1 0
+1096 117.3555891 39.0676091 0 0 112.742 0 0 1 0
+1097 117.3555902 39.0676087 0 0 112.742 0 0 1 0
+1098 117.3555913 39.0676084 0 0 112.742 0 0 1 0
+1099 117.3555923 39.0676080 0 0 112.742 0 0 1 0
+1100 117.3555934 39.0676077 0 0 112.742 0 0 1 0
+1101 117.3555945 39.0676073 0 0 112.742 0 0 1 0
+1102 117.3555955 39.0676069 0 0 112.742 0 0 1 0
+1103 117.3555966 39.0676066 0 0 112.742 0 0 1 0
+1104 117.3555976 39.0676062 0 0 112.742 0 0 1 0
+1105 117.3555987 39.0676059 0 0 112.742 0 0 1 0
+1106 117.3555998 39.0676055 0 0 112.742 0 0 1 0
+1107 117.3556008 39.0676052 0 0 112.742 0 0 1 0
+1108 117.3556019 39.0676048 0 0 112.742 0 0 1 0
+1109 117.3556030 39.0676045 0 0 112.742 0 0 1 0
+1110 117.3556040 39.0676041 0 0 112.742 0 0 1 0
+1111 117.3556051 39.0676038 0 0 112.742 0 0 1 0
+1112 117.3556062 39.0676034 0 0 112.742 0 0 1 0
+1113 117.3556072 39.0676031 0 0 112.742 0 0 1 0
+1114 117.3556083 39.0676027 0 0 112.742 0 0 1 0
+1115 117.3556093 39.0676024 0 0 112.742 0 0 1 0
+1116 117.3556104 39.0676020 0 0 112.742 0 0 1 0
+1117 117.3556115 39.0676017 0 0 112.742 0 0 1 0
+1118 117.3556125 39.0676013 0 0 112.742 0 0 1 0
+1119 117.3556136 39.0676010 0 0 112.742 0 0 1 0
+1120 117.3556147 39.0676006 0 0 112.742 0 0 1 0
+1121 117.3556157 39.0676003 0 0 112.742 0 0 1 0
+1122 117.3556168 39.0675999 0 0 112.742 0 0 1 0
+1123 117.3556179 39.0675996 0 0 112.742 0 0 1 0
+1124 117.3556189 39.0675992 0 0 112.742 0 0 1 0
+1125 117.3556200 39.0675989 0 0 112.742 0 0 1 0
+1126 117.3556210 39.0675985 0 0 112.742 0 0 1 0
+1127 117.3556221 39.0675982 0 0 112.742 0 0 1 0
+1128 117.3556232 39.0675978 0 0 112.742 0 0 1 0
+1129 117.3556242 39.0675975 0 0 112.742 0 0 1 0
+1130 117.3556253 39.0675971 0 0 112.742 0 0 1 0
+1131 117.3556264 39.0675968 0 0 112.742 0 0 1 0
+1132 117.3556274 39.0675964 0 0 112.742 0 0 1 0
+1133 117.3556285 39.0675961 0 0 112.742 0 0 1 0
+1134 117.3556296 39.0675957 0 0 112.742 0 0 1 0
+1135 117.3556306 39.0675953 0 0 112.742 0 0 1 0
+1136 117.3556317 39.0675950 0 0 112.742 0 0 1 0
+1137 117.3556328 39.0675946 0 0 112.742 0 0 1 0
+1138 117.3556338 39.0675943 0 0 112.742 0 0 1 0
+1139 117.3556349 39.0675939 0 0 112.742 0 0 1 0
+1140 117.3556359 39.0675936 0 0 112.742 0 0 1 0
+1141 117.3556370 39.0675932 0 0 112.742 0 0 1 0
+1142 117.3556381 39.0675929 0 0 112.742 0 0 1 0
+1143 117.3556391 39.0675925 0 0 112.742 0 0 1 0
+1144 117.3556402 39.0675922 0 0 112.742 0 0 1 0
+1145 117.3556413 39.0675918 0 0 112.742 0 0 1 0
+1146 117.3556423 39.0675915 0 0 112.742 0 0 1 0
+1147 117.3556434 39.0675911 0 0 112.742 0 0 1 0
+1148 117.3556445 39.0675908 0 0 112.742 0 0 1 0
+1149 117.3556455 39.0675904 0 0 112.742 0 0 1 0
+1150 117.3556466 39.0675901 0 0 112.742 0 0 1 0
+1151 117.3556476 39.0675897 0 0 112.742 0 0 1 0
+1152 117.3556487 39.0675894 0 0 112.742 0 0 1 0
+1153 117.3556498 39.0675890 0 0 112.742 0 0 1 0
+1154 117.3556508 39.0675887 0 0 112.742 0 0 1 0
+1155 117.3556519 39.0675883 0 0 112.742 0 0 1 0
+1156 117.3556530 39.0675880 0 0 112.742 0 0 1 0
+1157 117.3556540 39.0675876 0 0 112.742 0 0 1 0
+1158 117.3556551 39.0675873 0 0 112.742 0 0 1 0
+1159 117.3556562 39.0675869 0 0 112.742 0 0 1 0
+1160 117.3556572 39.0675866 0 0 112.742 0 0 1 0
+1161 117.3556583 39.0675862 0 0 112.742 0 0 1 0
+1162 117.3556593 39.0675859 0 0 112.742 0 0 1 0
+1163 117.3556604 39.0675855 0 0 112.742 0 0 1 0
+1164 117.3556615 39.0675852 0 0 112.742 0 0 1 0
+1165 117.3556625 39.0675848 0 0 112.742 0 0 1 0
+1166 117.3556636 39.0675845 0 0 112.742 0 0 1 0
+1167 117.3556647 39.0675841 0 0 112.742 0 0 1 0
+1168 117.3556657 39.0675837 0 0 112.742 0 0 1 0
+1169 117.3556668 39.0675834 0 0 112.742 0 0 1 0
+1170 117.3556679 39.0675830 0 0 112.742 0 0 1 0
+1171 117.3556689 39.0675827 0 0 112.742 0 0 1 0
+1172 117.3556700 39.0675823 0 0 112.742 0 0 1 0
+1173 117.3556710 39.0675820 0 0 112.742 0 0 1 0
+1174 117.3556721 39.0675816 0 0 112.742 0 0 1 0
+1175 117.3556732 39.0675813 0 0 112.742 0 0 1 0
+1176 117.3556742 39.0675809 0 0 112.742 0 0 1 0
+1177 117.3556753 39.0675806 0 0 112.742 0 0 1 0
+1178 117.3556764 39.0675802 0 0 112.742 0 0 1 0
+1179 117.3556774 39.0675799 0 0 112.742 0 0 1 0
+1180 117.3556785 39.0675795 0 0 112.742 0 0 1 0
+1181 117.3556796 39.0675792 0 0 112.742 0 0 1 0
+1182 117.3556806 39.0675788 0 0 112.742 0 0 1 0
+1183 117.3556817 39.0675785 0 0 112.742 0 0 1 0
+1184 117.3556828 39.0675781 0 0 112.742 0 0 1 0
+1185 117.3556838 39.0675778 0 0 112.742 0 0 1 0
+1186 117.3556849 39.0675774 0 0 112.742 0 0 1 0
+1187 117.3556859 39.0675771 0 0 112.742 0 0 1 0
+1188 117.3556870 39.0675767 0 0 112.742 0 0 1 0
+1189 117.3556881 39.0675764 0 0 112.742 0 0 1 0
+1190 117.3556891 39.0675760 0 0 112.742 0 0 1 0
+1191 117.3556902 39.0675757 0 0 112.742 0 0 1 0
+1192 117.3556913 39.0675753 0 0 112.742 0 0 1 0
+1193 117.3556923 39.0675750 0 0 112.742 0 0 1 0
+1194 117.3556934 39.0675746 0 0 112.742 0 0 1 0
+1195 117.3556945 39.0675743 0 0 112.742 0 0 1 0
+1196 117.3556955 39.0675739 0 0 112.742 0 0 1 0
+1197 117.3556966 39.0675736 0 0 112.742 0 0 1 0
+1198 117.3556976 39.0675732 0 0 112.742 0 0 1 0
+1199 117.3556987 39.0675728 0 0 112.742 0 0 1 0
+1200 117.3556998 39.0675725 0 0 112.742 0 0 1 0
+1201 117.3557008 39.0675721 0 0 112.742 0 0 1 0
+1202 117.3557019 39.0675718 0 0 112.742 0 0 1 0
+1203 117.3557030 39.0675714 0 0 112.742 0 0 1 0
+1204 117.3557040 39.0675711 0 0 112.742 0 0 1 0
+1205 117.3557051 39.0675707 0 0 112.742 0 0 1 0
+1206 117.3557062 39.0675704 0 0 112.742 0 0 1 0
+1207 117.3557072 39.0675700 0 0 112.742 0 0 1 0
+1208 117.3557083 39.0675697 0 0 112.742 0 0 1 0
+1209 117.3557093 39.0675693 0 0 112.742 0 0 1 0
+1210 117.3557104 39.0675690 0 0 112.742 0 0 1 0
+1211 117.3557115 39.0675686 0 0 112.742 0 0 1 0
+1212 117.3557125 39.0675683 0 0 112.742 0 0 1 0
+1213 117.3557136 39.0675679 0 0 112.742 0 0 1 0
+1214 117.3557147 39.0675676 0 0 112.742 0 0 1 0
+1215 117.3557157 39.0675672 0 0 112.742 0 0 1 0
+1216 117.3557168 39.0675669 0 0 112.742 0 0 1 0
+1217 117.3557179 39.0675665 0 0 112.742 0 0 1 0
+1218 117.3557189 39.0675662 0 0 112.742 0 0 1 0
+1219 117.3557200 39.0675658 0 0 112.742 0 0 1 0
+1220 117.3557210 39.0675655 0 0 112.742 0 0 1 0
+1221 117.3557221 39.0675651 0 0 112.742 0 0 1 0
+1222 117.3557232 39.0675648 0 0 112.742 0 0 1 0
+1223 117.3557242 39.0675644 0 0 112.742 0 0 1 0
+1224 117.3557253 39.0675641 0 0 112.742 0 0 1 0
+1225 117.3557264 39.0675637 0 0 112.742 0 0 1 0
+1226 117.3557274 39.0675634 0 0 112.742 0 0 1 0
+1227 117.3557285 39.0675630 0 0 112.742 0 0 1 0
+1228 117.3557296 39.0675627 0 0 112.742 0 0 1 0
+1229 117.3557306 39.0675623 0 0 112.742 0 0 1 0
+1230 117.3557317 39.0675619 0 0 112.742 0 0 1 0
+1231 117.3557327 39.0675616 0 0 112.742 0 0 1 0
+1232 117.3557338 39.0675612 0 0 112.742 0 0 1 0
+1233 117.3557349 39.0675609 0 0 112.742 0 0 1 0
+1234 117.3557359 39.0675605 0 0 112.742 0 0 1 0
+1235 117.3557370 39.0675602 0 0 112.742 0 0 1 0
+1236 117.3557381 39.0675598 0 0 112.742 0 0 1 0
+1237 117.3557391 39.0675595 0 0 112.742 0 0 1 0
+1238 117.3557402 39.0675591 0 0 112.742 0 0 1 0
+1239 117.3557413 39.0675588 0 0 112.742 0 0 1 0
+1240 117.3557423 39.0675584 0 0 112.742 0 0 1 0
+1241 117.3557434 39.0675581 0 0 112.742 0 0 1 0
+1242 117.3557445 39.0675577 0 0 112.742 0 0 1 0
+1243 117.3557455 39.0675574 0 0 112.742 0 0 1 0
+1244 117.3557466 39.0675570 0 0 112.742 0 0 1 0
+1245 117.3557476 39.0675567 0 0 112.742 0 0 1 0
+1246 117.3557487 39.0675563 0 0 112.742 0 0 1 0
+1247 117.3557498 39.0675560 0 0 112.742 0 0 1 0
+1248 117.3557508 39.0675556 0 0 112.742 0 0 1 0
+1249 117.3557519 39.0675553 0 0 112.742 0 0 1 0
+1250 117.3557530 39.0675549 0 0 112.742 0 0 1 0
+1251 117.3557540 39.0675546 0 0 112.742 0 0 1 0
+1252 117.3557551 39.0675542 0 0 112.742 0 0 1 0
+1253 117.3557562 39.0675539 0 0 112.742 0 0 1 0
+1254 117.3557572 39.0675535 0 0 112.742 0 0 1 0
+1255 117.3557583 39.0675532 0 0 112.742 0 0 1 0
+1256 117.3557593 39.0675528 0 0 112.742 0 0 1 0
+1257 117.3557604 39.0675525 0 0 112.742 0 0 1 0
+1258 117.3557615 39.0675521 0 0 112.742 0 0 1 0
+1259 117.3557625 39.0675518 0 0 112.742 0 0 1 0
+1260 117.3557636 39.0675514 0 0 112.742 0 0 1 0
+1261 117.3557647 39.0675510 0 0 112.742 0 0 1 0
+1262 117.3557657 39.0675507 0 0 112.742 0 0 1 0
+1263 117.3557668 39.0675503 0 0 112.742 0 0 1 0
+1264 117.3557679 39.0675500 0 0 112.742 0 0 1 0
+1265 117.3557689 39.0675496 0 0 112.742 0 0 1 0
+1266 117.3557700 39.0675493 0 0 112.742 0 0 1 0
+1267 117.3557710 39.0675489 0 0 112.742 0 0 1 0
+1268 117.3557721 39.0675486 0 0 112.742 0 0 1 0
+1269 117.3557732 39.0675482 0 0 112.742 0 0 1 0
+1270 117.3557742 39.0675479 0 0 112.742 0 0 1 0
+1271 117.3557753 39.0675475 0 0 112.742 0 0 1 0
+1272 117.3557764 39.0675472 0 0 112.742 0 0 1 0
+1273 117.3557774 39.0675468 0 0 112.742 0 0 1 0
+1274 117.3557785 39.0675465 0 0 112.742 0 0 1 0
+1275 117.3557796 39.0675461 0 0 112.742 0 0 1 0
+1276 117.3557806 39.0675458 0 0 112.742 0 0 1 0
+1277 117.3557817 39.0675454 0 0 112.742 0 0 1 0
+1278 117.3557827 39.0675451 0 0 112.742 0 0 1 0
+1279 117.3557838 39.0675447 0 0 112.742 0 0 1 0
+1280 117.3557849 39.0675444 0 0 112.742 0 0 1 0
+1281 117.3557859 39.0675440 0 0 112.742 0 0 1 0
+1282 117.3557870 39.0675437 0 0 112.742 0 0 1 0
+1283 117.3557881 39.0675433 0 0 112.742 0 0 1 0
+1284 117.3557891 39.0675430 0 0 112.742 0 0 1 0
+1285 117.3557902 39.0675426 0 0 112.742 0 0 1 0
+1286 117.3557913 39.0675423 0 0 112.742 0 0 1 0
+1287 117.3557923 39.0675419 0 0 112.742 0 0 1 0
+1288 117.3557934 39.0675416 0 0 112.742 0 0 1 0
+1289 117.3557944 39.0675412 0 0 112.742 0 0 1 0
+1290 117.3557955 39.0675408 0 0 112.742 0 0 1 0
+1291 117.3557966 39.0675405 0 0 112.742 0 0 1 0
+1292 117.3557976 39.0675401 0 0 112.742 0 0 1 0
+1293 117.3557987 39.0675398 0 0 112.742 0 0 1 0
+1294 117.3557998 39.0675394 0 0 112.742 0 0 1 0
+1295 117.3558008 39.0675391 0 0 112.742 0 0 1 0
+1296 117.3558019 39.0675387 0 0 112.742 0 0 1 0
+1297 117.3558030 39.0675384 0 0 112.742 0 0 1 0
+1298 117.3558040 39.0675380 0 0 112.742 0 0 1 0
+1299 117.3558051 39.0675377 0 0 112.742 0 0 1 0
+1300 117.3558061 39.0675373 0 0 112.742 0 0 1 0
+1301 117.3558072 39.0675370 0 0 112.742 0 0 1 0
+1302 117.3558083 39.0675366 0 0 112.742 0 0 1 0
+1303 117.3558093 39.0675363 0 0 112.742 0 0 1 0
+1304 117.3558104 39.0675359 0 0 112.742 0 0 1 0
+1305 117.3558115 39.0675356 0 0 112.742 0 0 1 0
+1306 117.3558125 39.0675352 0 0 112.742 0 0 1 0
+1307 117.3558136 39.0675349 0 0 112.742 0 0 1 0
+1308 117.3558147 39.0675345 0 0 112.742 0 0 1 0
+1309 117.3558157 39.0675342 0 0 112.742 0 0 1 0
+1310 117.3558168 39.0675338 0 0 112.742 0 0 1 0
+1311 117.3558184 39.0675333 0 0 112.742 0 0 1 0
+1312 117.3558195 39.0675329 0 0 112.742 0 0 1 0
+1313 117.3558206 39.0675326 0 0 112.742 0 0 1 0
+1314 117.3558216 39.0675322 0 0 112.742 0 0 1 0
+1315 117.3558227 39.0675319 0 0 112.742 0 0 1 0
+1316 117.3558238 39.0675315 0 0 112.742 0 0 1 0
+1317 117.3558248 39.0675312 0 0 112.742 0 0 1 0
+1318 117.3558259 39.0675308 0 0 112.742 0 0 1 0
+1319 117.3558270 39.0675305 0 0 112.742 0 0 1 0
+1320 117.3558280 39.0675301 0 0 112.742 0 0 1 0
+1321 117.3558291 39.0675298 0 0 112.742 0 0 1 0
+1322 117.3558302 39.0675294 0 0 112.742 0 0 1 0
+1323 117.3558312 39.0675291 0 0 112.742 0 0 1 0
+1324 117.3558323 39.0675287 0 0 112.742 0 0 1 0
+1325 117.3558333 39.0675284 0 0 112.742 0 0 1 0
+1326 117.3558344 39.0675280 0 0 112.742 0 0 1 0
+1327 117.3558355 39.0675276 0 0 112.742 0 0 1 0
+1328 117.3558365 39.0675273 0 0 112.742 0 0 1 0
+1329 117.3558376 39.0675269 0 0 112.742 0 0 1 0
+1330 117.3558387 39.0675266 0 0 112.742 0 0 1 0
+1331 117.3558397 39.0675262 0 0 112.742 0 0 1 0
+1332 117.3558408 39.0675259 0 0 112.742 0 0 1 0
+1333 117.3558419 39.0675255 0 0 112.742 0 0 1 0
+1334 117.3558429 39.0675252 0 0 112.742 0 0 1 0
+1335 117.3558440 39.0675248 0 0 112.742 0 0 1 0
+1336 117.3558451 39.0675245 0 0 112.742 0 0 1 0
+1337 117.3558461 39.0675241 0 0 112.742 0 0 1 0
+1338 117.3558472 39.0675238 0 0 112.742 0 0 1 0
+1339 117.3558482 39.0675234 0 0 112.742 0 0 1 0
+1340 117.3558493 39.0675231 0 0 112.742 0 0 1 0
+1341 117.3558504 39.0675227 0 0 112.742 0 0 1 0
+1342 117.3558514 39.0675224 0 0 112.742 0 0 1 0
+1343 117.3558525 39.0675220 0 0 112.742 0 0 1 0
+1344 117.3558536 39.0675217 0 0 112.742 0 0 1 0
+1345 117.3558546 39.0675213 0 0 112.742 0 0 1 0
+1346 117.3558557 39.0675210 0 0 112.742 0 0 1 0
+1347 117.3558568 39.0675206 0 0 112.742 0 0 1 0
+1348 117.3558578 39.0675203 0 0 112.742 0 0 1 0
+1349 117.3558589 39.0675199 0 0 112.742 0 0 1 0
+1350 117.3558599 39.0675196 0 0 112.742 0 0 1 0
+1351 117.3558610 39.0675192 0 0 112.742 0 0 1 0
+1352 117.3558621 39.0675189 0 0 112.742 0 0 1 0
+1353 117.3558631 39.0675185 0 0 112.742 0 0 1 0
+1354 117.3558642 39.0675182 0 0 112.742 0 0 1 0
+1355 117.3558653 39.0675178 0 0 112.742 0 0 1 0
+1356 117.3558663 39.0675175 0 0 112.742 0 0 1 0
+1357 117.3558674 39.0675171 0 0 112.742 0 0 1 0
+1358 117.3558685 39.0675168 0 0 112.742 0 0 1 0
+1359 117.3558695 39.0675164 0 0 112.742 0 0 1 0
+1360 117.3558706 39.0675161 0 0 112.742 0 0 1 0
+1361 117.3558717 39.0675157 0 0 112.742 0 0 1 0
+1362 117.3558727 39.0675154 0 0 112.742 0 0 1 0
+1363 117.3558738 39.0675150 0 0 112.742 0 0 1 0
+1364 117.3558748 39.0675147 0 0 112.742 0 0 1 0
+1365 117.3558759 39.0675143 0 0 112.742 0 0 1 0
+1366 117.3558770 39.0675140 0 0 112.742 0 0 1 0
+1367 117.3558780 39.0675136 0 0 112.742 0 0 1 0
+1368 117.3558791 39.0675133 0 0 112.742 0 0 1 0
+1369 117.3558802 39.0675129 0 0 112.742 0 0 1 0
+1370 117.3558812 39.0675126 0 0 112.742 0 0 1 0
+1371 117.3558823 39.0675122 0 0 112.742 0 0 1 0
+1372 117.3558834 39.0675119 0 0 112.742 0 0 1 0
+1373 117.3558844 39.0675115 0 0 112.742 0 0 1 0
+1374 117.3558855 39.0675112 0 0 112.742 0 0 1 0
+1375 117.3558866 39.0675108 0 0 112.742 0 0 1 0
+1376 117.3558876 39.0675104 0 0 112.742 0 0 1 0
+1377 117.3558887 39.0675101 0 0 112.742 0 0 1 0
+1378 117.3558897 39.0675097 0 0 112.742 0 0 1 0
+1379 117.3558908 39.0675094 0 0 112.742 0 0 1 0
+1380 117.3558919 39.0675090 0 0 112.742 0 0 1 0
+1381 117.3558929 39.0675087 0 0 112.742 0 0 1 0
+1382 117.3558940 39.0675083 0 0 112.742 0 0 1 0
+1383 117.3558951 39.0675080 0 0 112.742 0 0 1 0
+1384 117.3558961 39.0675076 0 0 112.742 0 0 1 0
+1385 117.3558972 39.0675073 0 0 112.742 0 0 1 0
+1386 117.3558980 39.0675070 0 0 113.811 0 0 1 0
+1387 117.3558988 39.0675067 0 0 114.766 0 0 1 0
+1388 117.3558995 39.0675065 0 0 115.721 0 0 1 0
+1389 117.3559003 39.0675062 0 0 116.676 0 0 1 0
+1390 117.3559010 39.0675059 0 0 117.631 0 0 1 0
+1391 117.3559017 39.0675056 0 0 118.586 0 0 1 0
+1392 117.3559024 39.0675053 0 0 119.540 0 0 1 0
+1393 117.3559032 39.0675049 0 0 120.495 0 0 1 0
+1394 117.3559039 39.0675046 0 0 121.450 0 0 1 0
+1395 117.3559046 39.0675043 0 0 122.405 0 0 1 0
+1396 117.3559052 39.0675039 0 0 123.360 0 0 1 0
+1397 117.3559059 39.0675036 0 0 124.315 0 0 1 0
+1398 117.3559066 39.0675032 0 0 125.270 0 0 1 0
+1399 117.3559073 39.0675028 0 0 126.225 0 0 1 0
+1400 117.3559079 39.0675024 0 0 127.180 0 0 1 0
+1401 117.3559086 39.0675020 0 0 128.135 0 0 1 0
+1402 117.3559092 39.0675016 0 0 129.090 0 0 1 0
+1403 117.3559099 39.0675012 0 0 130.045 0 0 1 0
+1404 117.3559105 39.0675008 0 0 131.000 0 0 1 0
+1405 117.3559111 39.0675004 0 0 131.955 0 0 1 0
+1406 117.3559117 39.0674999 0 0 132.909 0 0 1 0
+1407 117.3559123 39.0674995 0 0 133.864 0 0 1 0
+1408 117.3559129 39.0674991 0 0 134.819 0 0 1 0
+1409 117.3559135 39.0674986 0 0 135.774 0 0 1 0
+1410 117.3559140 39.0674981 0 0 136.729 0 0 1 0
+1411 117.3559146 39.0674977 0 0 137.684 0 0 1 0
+1412 117.3559151 39.0674972 0 0 138.639 0 0 1 0
+1413 117.3559157 39.0674967 0 0 139.594 0 0 1 0
+1414 117.3559162 39.0674962 0 0 140.549 0 0 1 0
+1415 117.3559167 39.0674957 0 0 141.504 0 0 1 0
+1416 117.3559172 39.0674952 0 0 142.459 0 0 1 0
+1417 117.3559177 39.0674947 0 0 143.414 0 0 1 0
+1418 117.3559182 39.0674942 0 0 144.369 0 0 1 0
+1419 117.3559187 39.0674936 0 0 145.324 0 0 1 0
+1420 117.3559191 39.0674931 0 0 146.278 0 0 1 0
+1421 117.3559196 39.0674926 0 0 147.233 0 0 1 0
+1422 117.3559200 39.0674920 0 0 148.188 0 0 1 0
+1423 117.3559204 39.0674915 0 0 149.143 0 0 1 0
+1424 117.3559209 39.0674909 0 0 150.098 0 0 1 0
+1425 117.3559213 39.0674903 0 0 151.053 0 0 1 0
+1426 117.3559216 39.0674898 0 0 152.008 0 0 1 0
+1427 117.3559220 39.0674892 0 0 152.963 0 0 1 0
+1428 117.3559224 39.0674886 0 0 153.918 0 0 1 0
+1429 117.3559227 39.0674881 0 0 154.873 0 0 1 0
+1430 117.3559231 39.0674875 0 0 155.828 0 0 1 0
+1431 117.3559234 39.0674869 0 0 156.783 0 0 1 0
+1432 117.3559237 39.0674863 0 0 157.738 0 0 1 0
+1433 117.3559240 39.0674857 0 0 158.693 0 0 1 0
+1434 117.3559243 39.0674851 0 0 159.647 0 0 1 0
+1435 117.3559246 39.0674845 0 0 160.602 0 0 1 0
+1436 117.3559249 39.0674839 0 0 161.557 0 0 1 0
+1437 117.3559251 39.0674833 0 0 162.512 0 0 1 0
+1438 117.3559254 39.0674827 0 0 163.467 0 0 1 0
+1439 117.3559256 39.0674820 0 0 164.422 0 0 1 0
+1440 117.3559258 39.0674814 0 0 165.377 0 0 1 0
+1441 117.3559260 39.0674808 0 0 166.332 0 0 1 0
+1442 117.3559262 39.0674802 0 0 167.287 0 0 1 0
+1443 117.3559263 39.0674795 0 0 168.242 0 0 1 0
+1444 117.3559265 39.0674789 0 0 169.197 0 0 1 0
+1445 117.3559267 39.0674783 0 0 170.152 0 0 1 0
+1446 117.3559268 39.0674776 0 0 171.107 0 0 1 0
+1447 117.3559269 39.0674770 0 0 172.062 0 0 1 0
+1448 117.3559270 39.0674764 0 0 173.016 0 0 1 0
+1449 117.3559271 39.0674757 0 0 173.971 0 0 1 0
+1450 117.3559272 39.0674751 0 0 174.926 0 0 1 0
+1451 117.3559272 39.0674745 0 0 175.881 0 0 1 0
+1452 117.3559273 39.0674738 0 0 176.836 0 0 1 0
+1453 117.3559273 39.0674732 0 0 177.791 0 0 1 0
+1454 117.3559273 39.0674725 0 0 178.746 0 0 1 0
+1455 117.3559274 39.0674719 0 0 179.701 0 0 1 0
+1456 117.3559273 39.0674712 0 0 180.656 0 0 1 0
+1457 117.3559273 39.0674706 0 0 181.611 0 0 1 0
+1458 117.3559273 39.0674700 0 0 182.566 0 0 1 0
+1459 117.3559273 39.0674693 0 0 183.521 0 0 1 0
+1460 117.3559272 39.0674687 0 0 184.476 0 0 1 0
+1461 117.3559271 39.0674680 0 0 185.431 0 0 1 0
+1462 117.3559270 39.0674674 0 0 186.386 0 0 1 0
+1463 117.3559269 39.0674668 0 0 187.340 0 0 1 0
+1464 117.3559268 39.0674661 0 0 188.295 0 0 1 0
+1465 117.3559267 39.0674655 0 0 189.250 0 0 1 0
+1466 117.3559265 39.0674649 0 0 190.205 0 0 1 0
+1467 117.3559264 39.0674642 0 0 191.160 0 0 1 0
+1468 117.3559262 39.0674636 0 0 192.115 0 0 1 0
+1469 117.3559260 39.0674630 0 0 193.070 0 0 1 0
+1470 117.3559258 39.0674623 0 0 194.025 0 0 1 0
+1471 117.3559256 39.0674617 0 0 194.980 0 0 1 0
+1472 117.3559254 39.0674611 0 0 195.935 0 0 1 0
+1473 117.3559252 39.0674605 0 0 196.890 0 0 1 0
+1474 117.3559249 39.0674599 0 0 197.845 0 0 1 0
+1475 117.3559247 39.0674593 0 0 198.800 0 0 1 0
+1476 117.3559244 39.0674587 0 0 199.755 0 0 1 0
+1477 117.3559241 39.0674581 0 0 200.709 0 0 1 0
+1478 117.3559238 39.0674575 0 0 201.664 0 0 1 0
+1479 117.3559235 39.0674569 0 0 202.619 0 0 1 0
+1480 117.3559227 39.0674554 0 0 202.619 0 0 1 0
+1481 117.3559222 39.0674545 0 0 202.619 0 0 1 0
+1482 117.3559218 39.0674537 0 0 202.619 0 0 1 0
+1483 117.3559213 39.0674529 0 0 202.619 0 0 1 0
+1484 117.3559209 39.0674521 0 0 202.619 0 0 1 0
+1485 117.3559204 39.0674512 0 0 202.619 0 0 1 0
+1486 117.3559200 39.0674504 0 0 202.619 0 0 1 0
+1487 117.3559195 39.0674496 0 0 202.619 0 0 1 0
+1488 117.3559191 39.0674487 0 0 202.619 0 0 1 0
+1489 117.3559186 39.0674479 0 0 202.619 0 0 1 0
+1490 117.3559182 39.0674471 0 0 202.619 0 0 1 0
+1491 117.3559178 39.0674462 0 0 202.619 0 0 1 0
+1492 117.3559173 39.0674454 0 0 202.619 0 0 1 0
+1493 117.3559169 39.0674446 0 0 202.619 0 0 1 0
+1494 117.3559164 39.0674437 0 0 202.619 0 0 1 0
+1495 117.3559160 39.0674429 0 0 202.619 0 0 1 0
+1496 117.3559155 39.0674421 0 0 202.619 0 0 1 0
+1497 117.3559151 39.0674413 0 0 202.619 0 0 1 0
+1498 117.3559146 39.0674404 0 0 202.619 0 0 1 0
+1499 117.3559142 39.0674396 0 0 202.619 0 0 1 0
+1500 117.3559137 39.0674388 0 0 202.619 0 0 1 0
+1501 117.3559133 39.0674379 0 0 202.619 0 0 1 0
+1502 117.3559128 39.0674371 0 0 202.619 0 0 1 0
+1503 117.3559124 39.0674363 0 0 202.619 0 0 1 0
+1504 117.3559119 39.0674354 0 0 202.619 0 0 1 0
+1505 117.3559115 39.0674346 0 0 202.619 0 0 1 0
+1506 117.3559110 39.0674338 0 0 202.619 0 0 1 0
+1507 117.3559106 39.0674330 0 0 202.619 0 0 1 0
+1508 117.3559101 39.0674321 0 0 202.619 0 0 1 0
+1509 117.3559097 39.0674313 0 0 202.619 0 0 1 0
+1510 117.3559092 39.0674305 0 0 202.619 0 0 1 0
+1511 117.3559088 39.0674296 0 0 202.619 0 0 1 0
+1512 117.3559083 39.0674288 0 0 202.619 0 0 1 0
+1513 117.3559079 39.0674280 0 0 202.619 0 0 1 0
+1514 117.3559074 39.0674271 0 0 202.619 0 0 1 0
+1515 117.3559070 39.0674263 0 0 202.619 0 0 1 0
+1516 117.3559066 39.0674255 0 0 202.619 0 0 1 0
+1517 117.3559061 39.0674247 0 0 202.619 0 0 1 0
+1518 117.3559057 39.0674238 0 0 202.619 0 0 1 0
+1519 117.3559052 39.0674230 0 0 202.619 0 0 1 0
+1520 117.3559048 39.0674222 0 0 202.619 0 0 1 0
+1521 117.3559043 39.0674213 0 0 202.619 0 0 1 0
+1522 117.3559039 39.0674205 0 0 202.619 0 0 1 0
+1523 117.3559034 39.0674197 0 0 202.619 0 0 1 0
+1524 117.3559030 39.0674188 0 0 202.619 0 0 1 0
+1525 117.3559025 39.0674180 0 0 202.619 0 0 1 0
+1526 117.3559021 39.0674172 0 0 202.619 0 0 1 0
+1527 117.3559016 39.0674163 0 0 202.619 0 0 1 0
+1528 117.3559012 39.0674155 0 0 202.619 0 0 1 0
+1529 117.3559007 39.0674147 0 0 202.619 0 0 1 0
+1530 117.3559003 39.0674139 0 0 202.619 0 0 1 0
+1531 117.3558998 39.0674130 0 0 202.619 0 0 1 0
+1532 117.3558994 39.0674122 0 0 202.619 0 0 1 0
+1533 117.3558989 39.0674114 0 0 202.619 0 0 1 0
+1534 117.3558985 39.0674105 0 0 202.619 0 0 1 0
+1535 117.3558980 39.0674097 0 0 202.619 0 0 1 0
+1536 117.3558976 39.0674089 0 0 202.619 0 0 1 0
+1537 117.3558971 39.0674080 0 0 202.619 0 0 1 0
+1538 117.3558967 39.0674072 0 0 202.619 0 0 1 0
+1539 117.3558962 39.0674064 0 0 202.619 0 0 1 0
+1540 117.3558958 39.0674056 0 0 202.619 0 0 1 0
+1541 117.3558954 39.0674047 0 0 202.619 0 0 1 0
+1542 117.3558949 39.0674039 0 0 202.619 0 0 1 0
+1543 117.3558945 39.0674031 0 0 202.619 0 0 1 0
+1544 117.3558940 39.0674022 0 0 202.619 0 0 1 0
+1545 117.3558936 39.0674014 0 0 202.619 0 0 1 0
+1546 117.3558931 39.0674006 0 0 202.619 0 0 1 0
+1547 117.3558927 39.0673997 0 0 202.619 0 0 1 0
+1548 117.3558922 39.0673989 0 0 202.619 0 0 1 0
+1549 117.3558918 39.0673981 0 0 202.619 0 0 1 0
+1550 117.3558913 39.0673973 0 0 202.619 0 0 1 0
+1551 117.3558909 39.0673964 0 0 202.619 0 0 1 0
+1552 117.3558904 39.0673956 0 0 202.619 0 0 1 0
+1553 117.3558900 39.0673948 0 0 202.619 0 0 1 0
+1554 117.3558895 39.0673939 0 0 202.619 0 0 1 0
+1555 117.3558891 39.0673931 0 0 202.619 0 0 1 0
+1556 117.3558886 39.0673923 0 0 202.619 0 0 1 0
+1557 117.3558882 39.0673914 0 0 202.619 0 0 1 0
+1558 117.3558877 39.0673906 0 0 202.619 0 0 1 0
+1559 117.3558873 39.0673898 0 0 202.619 0 0 1 0
+1560 117.3558868 39.0673889 0 0 202.619 0 0 1 0
+1561 117.3558864 39.0673881 0 0 202.619 0 0 1 0
+1562 117.3558859 39.0673873 0 0 202.619 0 0 1 0
+1563 117.3558855 39.0673865 0 0 202.619 0 0 1 0
+1564 117.3558850 39.0673856 0 0 202.619 0 0 1 0
+1565 117.3558846 39.0673848 0 0 202.619 0 0 1 0
+1566 117.3558842 39.0673840 0 0 202.619 0 0 1 0
+1567 117.3558837 39.0673831 0 0 202.619 0 0 1 0
+1568 117.3558833 39.0673823 0 0 202.619 0 0 1 0
+1569 117.3558828 39.0673815 0 0 202.619 0 0 1 0
+1570 117.3558824 39.0673806 0 0 202.619 0 0 1 0
+1571 117.3558819 39.0673798 0 0 202.619 0 0 1 0
+1572 117.3558815 39.0673790 0 0 202.619 0 0 1 0
+1573 117.3558810 39.0673782 0 0 202.619 0 0 1 0
+1574 117.3558806 39.0673773 0 0 202.619 0 0 1 0
+1575 117.3558801 39.0673765 0 0 202.619 0 0 1 0
+1576 117.3558792 39.0673749 0 0 202.619 0 0 1 0
+1577 117.3558788 39.0673740 0 0 202.619 0 0 1 0
+1578 117.3558783 39.0673732 0 0 202.619 0 0 1 0
+1579 117.3558779 39.0673724 0 0 202.619 0 0 1 0
+1580 117.3558774 39.0673715 0 0 202.619 0 0 1 0
+1581 117.3558770 39.0673707 0 0 202.619 0 0 1 0
+1582 117.3558765 39.0673699 0 0 202.619 0 0 1 0
+1583 117.3558761 39.0673690 0 0 202.619 0 0 1 0
+1584 117.3558756 39.0673682 0 0 202.619 0 0 1 0
+1585 117.3558752 39.0673674 0 0 202.619 0 0 1 0
+1586 117.3558747 39.0673666 0 0 202.619 0 0 1 0
+1587 117.3558743 39.0673657 0 0 202.619 0 0 1 0
+1588 117.3558739 39.0673649 0 0 202.619 0 0 1 0
+1589 117.3558734 39.0673641 0 0 202.619 0 0 1 0
+1590 117.3558730 39.0673632 0 0 202.619 0 0 1 0
+1591 117.3558725 39.0673624 0 0 202.619 0 0 1 0
+1592 117.3558721 39.0673616 0 0 202.619 0 0 1 0
+1593 117.3558716 39.0673607 0 0 202.619 0 0 1 0
+1594 117.3558712 39.0673599 0 0 202.619 0 0 1 0
+1595 117.3558707 39.0673591 0 0 202.619 0 0 1 0
+1596 117.3558703 39.0673583 0 0 202.619 0 0 1 0
+1597 117.3558698 39.0673574 0 0 202.619 0 0 1 0
+1598 117.3558694 39.0673566 0 0 202.619 0 0 1 0
+1599 117.3558689 39.0673558 0 0 202.619 0 0 1 0
+1600 117.3558685 39.0673549 0 0 202.619 0 0 1 0
+1601 117.3558680 39.0673541 0 0 202.619 0 0 1 0
+1602 117.3558676 39.0673533 0 0 202.619 0 0 1 0
+1603 117.3558671 39.0673524 0 0 202.619 0 0 1 0
+1604 117.3558667 39.0673516 0 0 202.619 0 0 1 0
+1605 117.3558662 39.0673508 0 0 202.619 0 0 1 0
+1606 117.3558658 39.0673500 0 0 202.619 0 0 1 0
+1607 117.3558653 39.0673491 0 0 202.619 0 0 1 0
+1608 117.3558649 39.0673483 0 0 202.619 0 0 1 0
+1609 117.3558644 39.0673475 0 0 202.619 0 0 1 0
+1610 117.3558640 39.0673466 0 0 202.619 0 0 1 0
+1611 117.3558635 39.0673458 0 0 202.619 0 0 1 0
+1612 117.3558631 39.0673450 0 0 202.619 0 0 1 0
+1613 117.3558626 39.0673441 0 0 202.619 0 0 1 0
+1614 117.3558622 39.0673433 0 0 202.619 0 0 1 0
+1615 117.3558617 39.0673425 0 0 202.619 0 0 1 0
+1616 117.3558613 39.0673417 0 0 202.619 0 0 1 0
+1617 117.3558608 39.0673408 0 0 202.619 0 0 1 0
+1618 117.3558604 39.0673400 0 0 202.619 0 0 1 0
+1619 117.3558599 39.0673392 0 0 202.619 0 0 1 0
+1620 117.3558595 39.0673383 0 0 202.619 0 0 1 0
+1621 117.3558591 39.0673375 0 0 202.619 0 0 1 0
+1622 117.3558586 39.0673367 0 0 202.619 0 0 1 0
+1623 117.3558582 39.0673358 0 0 202.619 0 0 1 0
+1624 117.3558577 39.0673350 0 0 202.619 0 0 1 0
+1625 117.3558573 39.0673342 0 0 202.619 0 0 1 0
+1626 117.3558568 39.0673333 0 0 202.619 0 0 1 0
+1627 117.3558564 39.0673325 0 0 202.619 0 0 1 0
+1628 117.3558559 39.0673317 0 0 202.619 0 0 1 0
+1629 117.3558555 39.0673309 0 0 202.619 0 0 1 0
+1630 117.3558550 39.0673300 0 0 202.619 0 0 1 0
+1631 117.3558546 39.0673292 0 0 202.619 0 0 1 0
+1632 117.3558541 39.0673284 0 0 202.619 0 0 1 0
+1633 117.3558537 39.0673275 0 0 202.619 0 0 1 0
+1634 117.3558532 39.0673267 0 0 202.619 0 0 1 0
+1635 117.3558528 39.0673259 0 0 202.619 0 0 1 0
+1636 117.3558523 39.0673250 0 0 202.619 0 0 1 0
+1637 117.3558519 39.0673242 0 0 202.619 0 0 1 0
+1638 117.3558514 39.0673234 0 0 202.619 0 0 1 0
+1639 117.3558510 39.0673226 0 0 202.619 0 0 1 0
+1640 117.3558505 39.0673217 0 0 202.619 0 0 1 0
+1641 117.3558501 39.0673209 0 0 202.619 0 0 1 0
+1642 117.3558496 39.0673201 0 0 202.619 0 0 1 0
+1643 117.3558492 39.0673192 0 0 202.619 0 0 1 0
+1644 117.3558487 39.0673184 0 0 202.619 0 0 1 0
+1645 117.3558483 39.0673176 0 0 202.619 0 0 1 0
+1646 117.3558478 39.0673167 0 0 202.619 0 0 1 0
+1647 117.3558474 39.0673159 0 0 202.619 0 0 1 0
+1648 117.3558469 39.0673151 0 0 202.619 0 0 1 0
+1649 117.3558465 39.0673143 0 0 202.619 0 0 1 0
+1650 117.3558460 39.0673134 0 0 202.619 0 0 1 0
+1651 117.3558456 39.0673126 0 0 202.619 0 0 1 0
+1652 117.3558451 39.0673118 0 0 202.619 0 0 1 0
+1653 117.3558447 39.0673109 0 0 202.619 0 0 1 0
+1654 117.3558443 39.0673101 0 0 202.619 0 0 1 0
+1655 117.3558438 39.0673093 0 0 202.619 0 0 1 0
+1656 117.3558434 39.0673084 0 0 202.619 0 0 1 0
+1657 117.3558429 39.0673076 0 0 202.619 0 0 1 0
+1658 117.3558425 39.0673068 0 0 202.619 0 0 1 0
+1659 117.3558420 39.0673060 0 0 202.619 0 0 1 0
+1660 117.3558416 39.0673051 0 0 202.619 0 0 1 0
+1661 117.3558411 39.0673043 0 0 202.619 0 0 1 0
+1662 117.3558407 39.0673035 0 0 202.619 0 0 1 0
+1663 117.3558402 39.0673026 0 0 202.619 0 0 1 0
+1664 117.3558398 39.0673018 0 0 202.619 0 0 1 0
+1665 117.3558393 39.0673010 0 0 202.619 0 0 1 0
+1666 117.3558389 39.0673001 0 0 202.619 0 0 1 0
+1667 117.3558384 39.0672993 0 0 202.619 0 0 1 0
+1668 117.3558380 39.0672985 0 0 202.619 0 0 1 0
+1669 117.3558375 39.0672977 0 0 202.619 0 0 1 0
+1670 117.3558371 39.0672968 0 0 202.619 0 0 1 0
+1671 117.3558366 39.0672960 0 0 202.619 0 0 1 0
+1672 117.3558362 39.0672952 0 0 202.619 0 0 1 0
+1673 117.3558357 39.0672943 0 0 202.619 0 0 1 0
+1674 117.3558353 39.0672935 0 0 202.619 0 0 1 0
+1675 117.3558348 39.0672927 0 0 202.619 0 0 1 0
+1676 117.3558344 39.0672918 0 0 202.619 0 0 1 0
+1677 117.3558339 39.0672910 0 0 202.619 0 0 1 0
+1678 117.3558335 39.0672902 0 0 202.619 0 0 1 0
+1679 117.3558330 39.0672894 0 0 202.619 0 0 1 0
+1680 117.3558326 39.0672885 0 0 202.619 0 0 1 0
+1681 117.3558321 39.0672877 0 0 202.619 0 0 1 0
+1682 117.3558317 39.0672869 0 0 202.619 0 0 1 0
+1683 117.3558312 39.0672860 0 0 202.619 0 0 1 0
+1684 117.3558308 39.0672852 0 0 202.619 0 0 1 0
+1685 117.3558303 39.0672844 0 0 202.619 0 0 1 0
+1686 117.3558299 39.0672835 0 0 202.619 0 0 1 0
+1687 117.3558295 39.0672827 0 0 202.619 0 0 1 0
+1688 117.3558290 39.0672819 0 0 202.619 0 0 1 0
+1689 117.3558286 39.0672811 0 0 202.619 0 0 1 0
+1690 117.3558281 39.0672802 0 0 202.619 0 0 1 0
+1691 117.3558277 39.0672794 0 0 202.619 0 0 1 0
+1692 117.3558272 39.0672786 0 0 202.619 0 0 1 0
+1693 117.3558268 39.0672777 0 0 202.619 0 0 1 0
+1694 117.3558263 39.0672769 0 0 202.619 0 0 1 0
+1695 117.3558259 39.0672761 0 0 202.619 0 0 1 0
+1696 117.3558254 39.0672752 0 0 202.619 0 0 1 0
+1697 117.3558250 39.0672744 0 0 202.619 0 0 1 0
+1698 117.3558245 39.0672736 0 0 202.619 0 0 1 0
+1699 117.3558241 39.0672727 0 0 202.619 0 0 1 0
+1700 117.3558236 39.0672719 0 0 202.619 0 0 1 0
+1701 117.3558232 39.0672711 0 0 202.619 0 0 1 0
+1702 117.3558227 39.0672703 0 0 202.619 0 0 1 0
+1703 117.3558223 39.0672694 0 0 202.619 0 0 1 0
+1704 117.3558218 39.0672686 0 0 202.619 0 0 1 0
+1705 117.3558214 39.0672678 0 0 202.619 0 0 1 0
+1706 117.3558209 39.0672669 0 0 202.619 0 0 1 0
+1707 117.3558205 39.0672661 0 0 202.619 0 0 1 0
+1708 117.3558200 39.0672653 0 0 202.619 0 0 1 0
+1709 117.3558196 39.0672644 0 0 202.619 0 0 1 0
+1710 117.3558191 39.0672636 0 0 202.619 0 0 1 0
+1711 117.3558187 39.0672628 0 0 202.619 0 0 1 0
+1712 117.3558182 39.0672620 0 0 202.619 0 0 1 0
+1713 117.3558178 39.0672611 0 0 202.619 0 0 1 0
+1714 117.3558173 39.0672603 0 0 202.619 0 0 1 0
+1715 117.3558169 39.0672595 0 0 202.619 0 0 1 0
+1716 117.3558164 39.0672586 0 0 202.619 0 0 1 0
+1717 117.3558160 39.0672578 0 0 202.619 0 0 1 0
+1718 117.3558156 39.0672570 0 0 202.619 0 0 1 0
+1719 117.3558151 39.0672561 0 0 202.619 0 0 1 0
+1720 117.3558147 39.0672553 0 0 202.619 0 0 1 0
+1721 117.3558142 39.0672545 0 0 202.619 0 0 1 0
+1722 117.3558138 39.0672537 0 0 202.619 0 0 1 0
+1723 117.3558133 39.0672528 0 0 202.619 0 0 1 0
+1724 117.3558129 39.0672520 0 0 202.619 0 0 1 0
+1725 117.3558124 39.0672512 0 0 202.619 0 0 1 0
+1726 117.3558120 39.0672503 0 0 202.619 0 0 1 0
+1727 117.3558115 39.0672495 0 0 202.619 0 0 1 0
+1728 117.3558111 39.0672487 0 0 202.619 0 0 1 0
+1729 117.3558106 39.0672478 0 0 202.619 0 0 1 0
+1730 117.3558102 39.0672470 0 0 202.619 0 0 1 0
+1731 117.3558097 39.0672462 0 0 202.619 0 0 1 0
+1732 117.3558093 39.0672454 0 0 202.619 0 0 1 0
+1733 117.3558088 39.0672445 0 0 202.619 0 0 1 0
+1734 117.3558084 39.0672437 0 0 202.619 0 0 1 0
+1735 117.3558079 39.0672429 0 0 202.619 0 0 1 0
+1736 117.3558075 39.0672420 0 0 202.619 0 0 1 0
+1737 117.3558070 39.0672412 0 0 202.619 0 0 1 0
+1738 117.3558066 39.0672404 0 0 202.619 0 0 1 0
+1739 117.3558061 39.0672395 0 0 202.619 0 0 1 0
+1740 117.3558057 39.0672387 0 0 202.619 0 0 1 0
+1741 117.3558052 39.0672379 0 0 202.619 0 0 1 0
+1742 117.3558048 39.0672371 0 0 202.619 0 0 1 0
+1743 117.3558043 39.0672362 0 0 202.619 0 0 1 0
+1744 117.3558039 39.0672354 0 0 202.619 0 0 1 0
+1745 117.3558034 39.0672346 0 0 202.619 0 0 1 0
+1746 117.3558030 39.0672337 0 0 202.619 0 0 1 0
+1747 117.3558025 39.0672329 0 0 202.619 0 0 1 0
+1748 117.3558021 39.0672321 0 0 202.619 0 0 1 0
+1749 117.3558017 39.0672312 0 0 202.619 0 0 1 0
+1750 117.3558012 39.0672304 0 0 202.619 0 0 1 0
+1751 117.3558008 39.0672296 0 0 202.619 0 0 1 0
+1752 117.3558003 39.0672288 0 0 202.619 0 0 1 0
+1753 117.3557999 39.0672279 0 0 202.619 0 0 1 0
+1754 117.3557994 39.0672271 0 0 202.619 0 0 1 0
+1755 117.3557990 39.0672263 0 0 202.619 0 0 1 0
+1756 117.3557985 39.0672254 0 0 202.619 0 0 1 0
+1757 117.3557981 39.0672246 0 0 202.619 0 0 1 0
+1758 117.3557976 39.0672238 0 0 202.619 0 0 1 0
+1759 117.3557972 39.0672229 0 0 202.619 0 0 1 0
+1760 117.3557967 39.0672221 0 0 202.619 0 0 1 0
+1761 117.3557963 39.0672213 0 0 202.619 0 0 1 0
+1762 117.3557958 39.0672205 0 0 202.619 0 0 1 0
+1763 117.3557954 39.0672196 0 0 202.619 0 0 1 0
+1764 117.3557949 39.0672188 0 0 202.619 0 0 1 0
+1765 117.3557945 39.0672180 0 0 202.619 0 0 1 0
+1766 117.3557940 39.0672171 0 0 202.619 0 0 1 0
+1767 117.3557936 39.0672163 0 0 202.619 0 0 1 0
+1768 117.3557931 39.0672155 0 0 202.619 0 0 1 0
+1769 117.3557927 39.0672146 0 0 202.619 0 0 1 0
+1770 117.3557922 39.0672138 0 0 202.619 0 0 1 0
+1771 117.3557918 39.0672130 0 0 202.619 0 0 1 0
+1772 117.3557913 39.0672121 0 0 202.619 0 0 1 0
+1773 117.3557909 39.0672113 0 0 202.619 0 0 1 0
+1774 117.3557904 39.0672105 0 0 202.619 0 0 1 0
+1775 117.3557900 39.0672097 0 0 202.619 0 0 1 0
+1776 117.3557895 39.0672088 0 0 202.619 0 0 1 0
+1777 117.3557891 39.0672080 0 0 202.619 0 0 1 0
+1778 117.3557886 39.0672072 0 0 202.619 0 0 1 0
+1779 117.3557882 39.0672063 0 0 202.619 0 0 1 0
+1780 117.3557878 39.0672055 0 0 202.619 0 0 1 0
+1781 117.3557873 39.0672047 0 0 202.619 0 0 1 0
+1782 117.3557869 39.0672038 0 0 202.619 0 0 1 0
+1783 117.3557864 39.0672030 0 0 202.619 0 0 1 0
+1784 117.3557860 39.0672022 0 0 202.619 0 0 1 0
+1785 117.3557855 39.0672014 0 0 202.619 0 0 1 0
+1786 117.3557851 39.0672005 0 0 202.619 0 0 1 0
+1787 117.3557846 39.0671997 0 0 202.619 0 0 1 0
+1788 117.3557842 39.0671989 0 0 202.619 0 0 1 0
+1789 117.3557837 39.0671980 0 0 202.619 0 0 1 0
+1790 117.3557833 39.0671972 0 0 202.619 0 0 1 0
+1791 117.3557828 39.0671964 0 0 202.619 0 0 1 0
+1792 117.3557824 39.0671955 0 0 202.619 0 0 1 0
+1793 117.3557819 39.0671947 0 0 202.619 0 0 1 0
+1794 117.3557815 39.0671939 0 0 202.619 0 0 1 0
+1795 117.3557810 39.0671931 0 0 202.619 0 0 1 0
+1796 117.3557806 39.0671922 0 0 202.619 0 0 1 0
+1797 117.3557801 39.0671914 0 0 202.619 0 0 1 0
+1798 117.3557797 39.0671906 0 0 202.619 0 0 1 0
+1799 117.3557792 39.0671897 0 0 202.619 0 0 1 0
+1800 117.3557788 39.0671889 0 0 202.619 0 0 1 0
+1801 117.3557783 39.0671881 0 0 202.619 0 0 1 0
+1802 117.3557779 39.0671872 0 0 202.619 0 0 1 0
+1803 117.3557774 39.0671864 0 0 202.619 0 0 1 0
+1804 117.3557770 39.0671856 0 0 202.619 0 0 1 0
+1805 117.3557765 39.0671848 0 0 202.619 0 0 1 0
+1806 117.3557761 39.0671839 0 0 202.619 0 0 1 0
+1807 117.3557756 39.0671831 0 0 202.619 0 0 1 0
+1808 117.3557752 39.0671823 0 0 202.619 0 0 1 0
+1809 117.3557747 39.0671814 0 0 202.619 0 0 1 0
+1810 117.3557743 39.0671806 0 0 202.619 0 0 1 0
+1811 117.3557739 39.0671798 0 0 202.619 0 0 1 0
+1812 117.3557734 39.0671789 0 0 202.619 0 0 1 0
+1813 117.3557730 39.0671781 0 0 202.619 0 0 1 0
+1814 117.3557725 39.0671773 0 0 202.619 0 0 1 0
+1815 117.3557721 39.0671765 0 0 202.619 0 0 1 0
+1816 117.3557716 39.0671756 0 0 202.619 0 0 1 0
+1817 117.3557712 39.0671748 0 0 202.619 0 0 1 0
+1818 117.3557707 39.0671740 0 0 202.619 0 0 1 0
+1819 117.3557703 39.0671731 0 0 202.619 0 0 1 0
+1820 117.3557698 39.0671723 0 0 202.619 0 0 1 0
+1821 117.3557694 39.0671715 0 0 202.619 0 0 1 0
+1822 117.3557689 39.0671706 0 0 202.619 0 0 1 0
+1823 117.3557685 39.0671698 0 0 202.619 0 0 1 0
+1824 117.3557680 39.0671690 0 0 202.619 0 0 1 0
+1825 117.3557676 39.0671682 0 0 202.619 0 0 1 0
+1826 117.3557671 39.0671673 0 0 202.619 0 0 1 0
+1827 117.3557667 39.0671665 0 0 202.619 0 0 1 0
+1828 117.3557662 39.0671657 0 0 202.619 0 0 1 0
+1829 117.3557658 39.0671648 0 0 202.619 0 0 1 0
+1830 117.3557653 39.0671640 0 0 202.619 0 0 1 0
+1831 117.3557649 39.0671632 0 0 202.619 0 0 1 0
+1832 117.3557644 39.0671623 0 0 202.619 0 0 1 0
+1833 117.3557640 39.0671615 0 0 202.619 0 0 1 0
+1834 117.3557635 39.0671607 0 0 202.619 0 0 1 0
+1835 117.3557631 39.0671598 0 0 202.619 0 0 1 0
+1836 117.3557626 39.0671590 0 0 202.619 0 0 1 0
+1837 117.3557622 39.0671582 0 0 202.619 0 0 1 0
+1838 117.3557617 39.0671574 0 0 202.619 0 0 1 0
+1839 117.3557613 39.0671565 0 0 202.619 0 0 1 0
+1840 117.3557608 39.0671557 0 0 202.619 0 0 1 0
+1841 117.3557604 39.0671549 0 0 202.619 0 0 1 0
+1842 117.3557600 39.0671540 0 0 202.619 0 0 1 0
+1843 117.3557595 39.0671532 0 0 202.619 0 0 1 0
+1844 117.3557591 39.0671524 0 0 202.619 0 0 1 0
+1845 117.3557586 39.0671515 0 0 202.619 0 0 1 0
+1846 117.3557582 39.0671507 0 0 202.619 0 0 1 0
+1847 117.3557577 39.0671499 0 0 202.619 0 0 1 0
+1848 117.3557573 39.0671491 0 0 202.619 0 0 1 0
+1849 117.3557568 39.0671482 0 0 202.619 0 0 1 0
+1850 117.3557564 39.0671474 0 0 202.619 0 0 1 0
+1851 117.3557559 39.0671466 0 0 202.619 0 0 1 0
+1852 117.3557555 39.0671457 0 0 202.619 0 0 1 0
+1853 117.3557550 39.0671449 0 0 202.619 0 0 1 0
+1854 117.3557546 39.0671441 0 0 202.619 0 0 1 0
+1855 117.3557541 39.0671432 0 0 202.619 0 0 1 0
+1856 117.3557537 39.0671424 0 0 202.619 0 0 1 0
+1857 117.3557532 39.0671416 0 0 202.619 0 0 1 0
+1858 117.3557528 39.0671408 0 0 202.619 0 0 1 0
+1859 117.3557523 39.0671399 0 0 202.619 0 0 1 0
+1860 117.3557519 39.0671391 0 0 202.619 0 0 1 0
+1861 117.3557514 39.0671383 0 0 202.619 0 0 1 0
+1862 117.3557510 39.0671374 0 0 202.619 0 0 1 0
+1863 117.3557505 39.0671366 0 0 202.619 0 0 1 0
+1864 117.3557501 39.0671358 0 0 202.619 0 0 1 0
+1865 117.3557496 39.0671349 0 0 202.619 0 0 1 0
+1866 117.3557492 39.0671341 0 0 202.619 0 0 1 0
+1867 117.3557487 39.0671333 0 0 202.619 0 0 1 0
+1868 117.3557483 39.0671325 0 0 202.619 0 0 1 0
+1869 117.3557478 39.0671316 0 0 202.619 0 0 1 0
+1870 117.3557474 39.0671308 0 0 202.619 0 0 1 0
+1871 117.3557469 39.0671300 0 0 202.619 0 0 1 0
+1872 117.3557465 39.0671291 0 0 202.619 0 0 1 0
+1873 117.3557461 39.0671283 0 0 202.619 0 0 1 0
+1874 117.3557456 39.0671275 0 0 202.619 0 0 1 0
+1875 117.3557452 39.0671266 0 0 202.619 0 0 1 0
+1876 117.3557447 39.0671258 0 0 202.619 0 0 1 0
+1877 117.3557443 39.0671250 0 0 202.619 0 0 1 0
+1878 117.3557438 39.0671242 0 0 202.619 0 0 1 0
+1879 117.3557434 39.0671233 0 0 202.619 0 0 1 0
+1880 117.3557429 39.0671225 0 0 202.619 0 0 1 0
+1881 117.3557425 39.0671217 0 0 202.619 0 0 1 0
+1882 117.3557420 39.0671208 0 0 202.619 0 0 1 0
+1883 117.3557416 39.0671200 0 0 202.619 0 0 1 0
+1884 117.3557411 39.0671192 0 0 202.619 0 0 1 0
+1885 117.3557407 39.0671183 0 0 202.619 0 0 1 0
+1886 117.3557402 39.0671175 0 0 202.619 0 0 1 0
+1887 117.3557398 39.0671167 0 0 202.619 0 0 1 0
+1888 117.3557393 39.0671159 0 0 202.619 0 0 1 0
+1889 117.3557389 39.0671150 0 0 202.619 0 0 1 0
+1890 117.3557384 39.0671142 0 0 202.619 0 0 1 0
+1891 117.3557380 39.0671134 0 0 202.619 0 0 1 0
+1892 117.3557375 39.0671125 0 0 202.619 0 0 1 0
+1893 117.3557371 39.0671117 0 0 202.619 0 0 1 0
+1894 117.3557366 39.0671109 0 0 202.619 0 0 1 0
+1895 117.3557362 39.0671100 0 0 202.619 0 0 1 0
+1896 117.3557357 39.0671092 0 0 202.619 0 0 1 0
+1897 117.3557353 39.0671084 0 0 202.619 0 0 1 0
+1898 117.3557348 39.0671075 0 0 202.619 0 0 1 0
+1899 117.3557344 39.0671067 0 0 202.619 0 0 1 0
+1900 117.3557339 39.0671059 0 0 202.619 0 0 1 0
+1901 117.3557335 39.0671051 0 0 202.619 0 0 1 0
+1902 117.3557330 39.0671042 0 0 202.619 0 0 1 0
+1903 117.3557326 39.0671034 0 0 202.619 0 0 1 0
+1904 117.3557322 39.0671026 0 0 202.619 0 0 1 0
+1905 117.3557317 39.0671017 0 0 202.619 0 0 1 0
+1906 117.3557313 39.0671009 0 0 202.619 0 0 1 0
+1907 117.3557308 39.0671001 0 0 202.619 0 0 1 0
+1908 117.3557304 39.0670992 0 0 202.619 0 0 1 0
+1909 117.3557299 39.0670984 0 0 202.619 0 0 1 0
+1910 117.3557295 39.0670976 0 0 202.619 0 0 1 0
+1911 117.3557290 39.0670968 0 0 202.619 0 0 1 0
+1912 117.3557286 39.0670959 0 0 202.619 0 0 1 0
+1913 117.3557281 39.0670951 0 0 202.619 0 0 1 0
+1914 117.3557277 39.0670943 0 0 202.619 0 0 1 0
+1915 117.3557272 39.0670934 0 0 202.619 0 0 1 0
+1916 117.3557268 39.0670926 0 0 202.619 0 0 1 0
+1917 117.3557263 39.0670918 0 0 202.619 0 0 1 0
+1918 117.3557259 39.0670909 0 0 202.619 0 0 1 0
+1919 117.3557254 39.0670901 0 0 202.619 0 0 1 0
+1920 117.3557250 39.0670893 0 0 202.619 0 0 1 0
+1921 117.3557245 39.0670885 0 0 202.619 0 0 1 0
+1922 117.3557241 39.0670876 0 0 202.619 0 0 1 0
+1923 117.3557236 39.0670868 0 0 202.619 0 0 1 0
+1924 117.3557232 39.0670860 0 0 202.619 0 0 1 0
+1925 117.3557227 39.0670851 0 0 202.619 0 0 1 0
+1926 117.3557223 39.0670843 0 0 202.619 0 0 1 0
+1927 117.3557218 39.0670835 0 0 202.619 0 0 1 0
+1928 117.3557214 39.0670826 0 0 202.619 0 0 1 0
+1929 117.3557209 39.0670818 0 0 202.619 0 0 1 0
+1930 117.3557205 39.0670810 0 0 202.619 0 0 1 0
+1931 117.3557200 39.0670802 0 0 202.619 0 0 1 0
+1932 117.3557196 39.0670793 0 0 202.619 0 0 1 0
+1933 117.3557191 39.0670785 0 0 202.619 0 0 1 0
+1934 117.3557187 39.0670777 0 0 202.619 0 0 1 0
+1935 117.3557183 39.0670768 0 0 202.619 0 0 1 0
+1936 117.3557178 39.0670760 0 0 202.619 0 0 1 0
+1937 117.3557174 39.0670752 0 0 202.619 0 0 1 0
+1938 117.3557169 39.0670743 0 0 202.619 0 0 1 0
+1939 117.3557165 39.0670735 0 0 202.619 0 0 1 0
+1940 117.3557160 39.0670727 0 0 202.619 0 0 1 0
+1941 117.3557156 39.0670719 0 0 202.619 0 0 1 0
+1942 117.3557151 39.0670710 0 0 202.619 0 0 1 0
+1943 117.3557147 39.0670702 0 0 202.619 0 0 1 0
+1944 117.3557142 39.0670694 0 0 202.619 0 0 1 0
+1945 117.3557138 39.0670685 0 0 202.619 0 0 1 0
+1946 117.3557133 39.0670677 0 0 202.619 0 0 1 0
+1947 117.3557129 39.0670669 0 0 202.619 0 0 1 0
+1948 117.3557124 39.0670660 0 0 202.619 0 0 1 0
+1949 117.3557120 39.0670652 0 0 202.619 0 0 1 0
+1950 117.3557115 39.0670644 0 0 202.619 0 0 1 0
+1951 117.3557111 39.0670636 0 0 202.619 0 0 1 0
+1952 117.3557106 39.0670627 0 0 202.619 0 0 1 0
+1953 117.3557102 39.0670619 0 0 202.619 0 0 1 0
+1954 117.3557097 39.0670611 0 0 202.619 0 0 1 0
+1955 117.3557093 39.0670602 0 0 202.619 0 0 1 0
+1956 117.3557088 39.0670594 0 0 202.619 0 0 1 0
+1957 117.3557084 39.0670586 0 0 202.619 0 0 1 0
+1958 117.3557079 39.0670577 0 0 202.619 0 0 1 0
+1959 117.3557075 39.0670569 0 0 202.619 0 0 1 0
+1960 117.3557070 39.0670561 0 0 202.619 0 0 1 0
+1961 117.3557066 39.0670553 0 0 202.619 0 0 1 0
+1962 117.3557061 39.0670544 0 0 202.619 0 0 1 0
+1963 117.3557057 39.0670536 0 0 202.619 0 0 1 0
+1964 117.3557052 39.0670528 0 0 202.619 0 0 1 0
+1965 117.3557048 39.0670519 0 0 202.619 0 0 1 0
+1966 117.3557044 39.0670511 0 0 202.619 0 0 1 0
+1967 117.3557039 39.0670503 0 0 202.619 0 0 1 0
+1968 117.3557035 39.0670494 0 0 202.619 0 0 1 0
+1969 117.3557030 39.0670486 0 0 202.619 0 0 1 0
+1970 117.3557026 39.0670478 0 0 202.619 0 0 1 0
+1971 117.3557021 39.0670469 0 0 202.619 0 0 1 0
+1972 117.3557017 39.0670461 0 0 202.619 0 0 1 0
+1973 117.3557012 39.0670453 0 0 202.619 0 0 1 0
+1974 117.3557008 39.0670445 0 0 202.619 0 0 1 0
+1975 117.3557003 39.0670436 0 0 202.619 0 0 1 0
+1976 117.3556999 39.0670428 0 0 202.619 0 0 1 0
+1977 117.3556994 39.0670420 0 0 202.619 0 0 1 0
+1978 117.3556990 39.0670411 0 0 202.619 0 0 1 0
+1979 117.3556985 39.0670403 0 0 202.619 0 0 1 0
+1980 117.3556981 39.0670395 0 0 202.619 0 0 1 0
+1981 117.3556976 39.0670386 0 0 202.619 0 0 1 0
+1982 117.3556972 39.0670378 0 0 202.619 0 0 1 0
+1983 117.3556967 39.0670370 0 0 202.619 0 0 1 0
+1984 117.3556963 39.0670362 0 0 202.619 0 0 1 0
+1985 117.3556958 39.0670353 0 0 202.619 0 0 1 0
+1986 117.3556954 39.0670345 0 0 202.619 0 0 1 0
+1987 117.3556949 39.0670337 0 0 202.619 0 0 1 0
+1988 117.3556945 39.0670328 0 0 202.619 0 0 1 0
+1989 117.3556940 39.0670320 0 0 202.619 0 0 1 0
+1990 117.3556936 39.0670312 0 0 202.619 0 0 1 0
+1991 117.3556931 39.0670303 0 0 202.619 0 0 1 0
+1992 117.3556927 39.0670295 0 0 202.619 0 0 1 0
+1993 117.3556922 39.0670287 0 0 202.619 0 0 1 0
+1994 117.3556918 39.0670279 0 0 202.619 0 0 1 0
+1995 117.3556913 39.0670270 0 0 202.619 0 0 1 0
+1996 117.3556909 39.0670262 0 0 202.619 0 0 1 0
+1997 117.3556905 39.0670254 0 0 202.619 0 0 1 0
+1998 117.3556900 39.0670245 0 0 202.619 0 0 1 0
+1999 117.3556896 39.0670237 0 0 202.619 0 0 1 0
+2000 117.3556891 39.0670229 0 0 202.619 0 0 1 0
+2001 117.3556887 39.0670220 0 0 202.619 0 0 1 0
+2002 117.3556882 39.0670212 0 0 202.619 0 0 1 0
+2003 117.3556878 39.0670204 0 0 202.619 0 0 1 0
+2004 117.3556873 39.0670196 0 0 202.619 0 0 1 0
+2005 117.3556869 39.0670187 0 0 202.619 0 0 1 0
+2006 117.3556864 39.0670179 0 0 202.619 0 0 1 0
+2007 117.3556860 39.0670171 0 0 202.619 0 0 1 0
+2008 117.3556855 39.0670162 0 0 202.619 0 0 1 0
+2009 117.3556851 39.0670154 0 0 202.619 0 0 1 0
+2010 117.3556846 39.0670146 0 0 202.619 0 0 1 0
+2011 117.3556842 39.0670137 0 0 202.619 0 0 1 0
+2012 117.3556837 39.0670129 0 0 202.619 0 0 1 0
+2013 117.3556833 39.0670121 0 0 202.619 0 0 1 0
+2014 117.3556828 39.0670113 0 0 202.619 0 0 1 0
+2015 117.3556824 39.0670104 0 0 202.619 0 0 1 0
+2016 117.3556819 39.0670096 0 0 202.619 0 0 1 0
+2017 117.3556815 39.0670088 0 0 202.619 0 0 1 0
+2018 117.3556810 39.0670079 0 0 202.619 0 0 1 0
+2019 117.3556806 39.0670071 0 0 202.619 0 0 1 0
+2020 117.3556801 39.0670063 0 0 202.619 0 0 1 0
+2021 117.3556797 39.0670054 0 0 202.619 0 0 1 0
+2022 117.3556792 39.0670046 0 0 202.619 0 0 1 0
+2023 117.3556788 39.0670038 0 0 202.619 0 0 1 0
+2024 117.3556783 39.0670030 0 0 202.619 0 0 1 0
+2025 117.3556779 39.0670021 0 0 202.619 0 0 1 0
+2026 117.3556774 39.0670013 0 0 202.619 0 0 1 0
+2027 117.3556770 39.0670005 0 0 202.619 0 0 1 0
+2028 117.3556765 39.0669996 0 0 202.619 0 0 1 0
+2029 117.3556761 39.0669988 0 0 202.619 0 0 1 0
+2030 117.3556757 39.0669980 0 0 202.619 0 0 1 0
+2031 117.3556752 39.0669971 0 0 202.619 0 0 1 0
+2032 117.3556748 39.0669963 0 0 202.619 0 0 1 0
+2033 117.3556743 39.0669955 0 0 202.619 0 0 1 0
+2034 117.3556739 39.0669947 0 0 202.619 0 0 1 0
+2035 117.3556734 39.0669938 0 0 202.619 0 0 1 0
+2036 117.3556730 39.0669930 0 0 202.619 0 0 1 0
+2037 117.3556725 39.0669922 0 0 202.619 0 0 1 0
+2038 117.3556721 39.0669913 0 0 202.619 0 0 1 0
+2039 117.3556716 39.0669905 0 0 202.619 0 0 1 0
+2040 117.3556712 39.0669897 0 0 202.619 0 0 1 0
+2041 117.3556707 39.0669888 0 0 202.619 0 0 1 0
+2042 117.3556703 39.0669880 0 0 202.619 0 0 1 0
+2043 117.3556698 39.0669872 0 0 202.619 0 0 1 0
+2044 117.3556694 39.0669863 0 0 202.619 0 0 1 0
+2045 117.3556689 39.0669855 0 0 202.619 0 0 1 0
+2046 117.3556685 39.0669847 0 0 202.619 0 0 1 0
+2047 117.3556680 39.0669839 0 0 202.619 0 0 1 0
+2048 117.3556676 39.0669830 0 0 202.619 0 0 1 0
+2049 117.3556671 39.0669822 0 0 202.619 0 0 1 0
+2050 117.3556667 39.0669814 0 0 202.619 0 0 1 0
+2051 117.3556662 39.0669805 0 0 202.619 0 0 1 0
+2052 117.3556658 39.0669797 0 0 202.619 0 0 1 0
+2053 117.3556653 39.0669789 0 0 202.619 0 0 1 0
+2054 117.3556649 39.0669780 0 0 202.619 0 0 1 0
+2055 117.3556644 39.0669772 0 0 202.619 0 0 1 0
+2056 117.3556640 39.0669764 0 0 202.619 0 0 1 0
+2057 117.3556635 39.0669756 0 0 202.619 0 0 1 0
+2058 117.3556631 39.0669747 0 0 202.619 0 0 1 0
+2059 117.3556626 39.0669739 0 0 202.619 0 0 1 0
+2060 117.3556622 39.0669731 0 0 202.619 0 0 1 0
+2061 117.3556618 39.0669722 0 0 202.619 0 0 1 0
+2062 117.3556613 39.0669714 0 0 202.619 0 0 1 0
+2063 117.3556609 39.0669706 0 0 202.619 0 0 1 0
+2064 117.3556604 39.0669697 0 0 202.619 0 0 1 0
+2065 117.3556600 39.0669689 0 0 202.619 0 0 1 0
+2066 117.3556595 39.0669681 0 0 202.619 0 0 1 0
+2067 117.3556591 39.0669673 0 0 202.619 0 0 1 0
+2068 117.3556586 39.0669664 0 0 202.619 0 0 1 0
+2069 117.3556582 39.0669656 0 0 202.619 0 0 1 0
+2070 117.3556577 39.0669648 0 0 202.619 0 0 1 0
+2071 117.3556573 39.0669639 0 0 202.619 0 0 1 0
+2072 117.3556568 39.0669631 0 0 202.619 0 0 1 0
+2073 117.3556564 39.0669623 0 0 202.619 0 0 1 0
+2074 117.3556559 39.0669614 0 0 202.619 0 0 1 0
+2075 117.3556555 39.0669606 0 0 202.619 0 0 1 0
+2076 117.3556550 39.0669598 0 0 202.619 0 0 1 0
+2077 117.3556546 39.0669590 0 0 202.619 0 0 1 0
+2078 117.3556541 39.0669581 0 0 202.619 0 0 1 0
+2079 117.3556537 39.0669573 0 0 202.619 0 0 1 0
+2080 117.3556532 39.0669565 0 0 202.619 0 0 1 0
+2081 117.3556528 39.0669556 0 0 202.619 0 0 1 0
+2082 117.3556523 39.0669548 0 0 202.619 0 0 1 0
+2083 117.3556519 39.0669540 0 0 202.619 0 0 1 0
+2084 117.3556514 39.0669531 0 0 202.619 0 0 1 0
+2085 117.3556510 39.0669523 0 0 202.619 0 0 1 0
+2086 117.3556505 39.0669515 0 0 202.619 0 0 1 0
+2087 117.3556501 39.0669507 0 0 202.619 0 0 1 0
+2088 117.3556496 39.0669498 0 0 202.619 0 0 1 0
+2089 117.3556492 39.0669490 0 0 202.619 0 0 1 0
+2090 117.3556487 39.0669482 0 0 202.619 0 0 1 0
+2091 117.3556483 39.0669473 0 0 202.619 0 0 1 0
+2092 117.3556478 39.0669465 0 0 202.619 0 0 1 0
+2093 117.3556474 39.0669457 0 0 202.619 0 0 1 0
+2094 117.3556470 39.0669448 0 0 202.619 0 0 1 0
+2095 117.3556465 39.0669440 0 0 202.619 0 0 1 0
+2096 117.3556461 39.0669432 0 0 202.619 0 0 1 0
+2097 117.3556456 39.0669424 0 0 202.619 0 0 1 0
+2098 117.3556452 39.0669415 0 0 202.619 0 0 1 0
+2099 117.3556447 39.0669407 0 0 202.619 0 0 1 0
+2100 117.3556443 39.0669399 0 0 202.619 0 0 1 0
+2101 117.3556438 39.0669390 0 0 202.619 0 0 1 0
+2102 117.3556434 39.0669382 0 0 202.619 0 0 1 0
+2103 117.3556429 39.0669374 0 0 202.619 0 0 1 0
+2104 117.3556425 39.0669365 0 0 202.619 0 0 1 0
+2105 117.3556420 39.0669357 0 0 202.619 0 0 1 0
+2106 117.3556416 39.0669349 0 0 202.619 0 0 1 0
+2107 117.3556411 39.0669341 0 0 202.619 0 0 1 0
+2108 117.3556407 39.0669332 0 0 202.619 0 0 1 0
+2109 117.3556402 39.0669324 0 0 202.619 0 0 1 0
+2110 117.3556398 39.0669316 0 0 202.619 0 0 1 0
+2111 117.3556393 39.0669307 0 0 202.619 0 0 1 0
+2112 117.3556389 39.0669299 0 0 202.619 0 0 1 0
+2113 117.3556384 39.0669291 0 0 202.619 0 0 1 0
+2114 117.3556380 39.0669282 0 0 202.619 0 0 1 0
+2115 117.3556375 39.0669274 0 0 202.619 0 0 1 0
+2116 117.3556371 39.0669266 0 0 202.619 0 0 1 0
+2117 117.3556366 39.0669258 0 0 202.619 0 0 1 0
+2118 117.3556362 39.0669249 0 0 202.619 0 0 1 0
+2119 117.3556357 39.0669241 0 0 202.619 0 0 1 0
+2120 117.3556353 39.0669233 0 0 202.619 0 0 1 0
+2121 117.3556348 39.0669224 0 0 202.619 0 0 1 0
+2122 117.3556344 39.0669216 0 0 202.619 0 0 1 0
+2123 117.3556339 39.0669208 0 0 202.619 0 0 1 0
+2124 117.3556335 39.0669199 0 0 202.619 0 0 1 0
+2125 117.3556330 39.0669191 0 0 202.619 0 0 1 0
+2126 117.3556326 39.0669183 0 0 202.619 0 0 1 0
+2127 117.3556322 39.0669174 0 0 202.619 0 0 1 0
+2128 117.3556317 39.0669166 0 0 202.619 0 0 1 0
+2129 117.3556313 39.0669158 0 0 202.619 0 0 1 0
+2130 117.3556308 39.0669150 0 0 202.619 0 0 1 0
+2131 117.3556304 39.0669141 0 0 202.619 0 0 1 0
+2132 117.3556299 39.0669133 0 0 202.619 0 0 1 0
+2133 117.3556295 39.0669125 0 0 202.619 0 0 1 0
+2134 117.3556290 39.0669116 0 0 202.619 0 0 1 0
+2135 117.3556286 39.0669108 0 0 202.619 0 0 1 0
+2136 117.3556281 39.0669100 0 0 202.619 0 0 1 0
+2137 117.3556277 39.0669091 0 0 202.619 0 0 1 0
+2138 117.3556272 39.0669083 0 0 202.619 0 0 1 0
+2139 117.3556268 39.0669075 0 0 202.619 0 0 1 0
+2140 117.3556263 39.0669067 0 0 202.619 0 0 1 0
+2141 117.3556259 39.0669058 0 0 202.619 0 0 1 0
+2142 117.3556254 39.0669050 0 0 202.619 0 0 1 0
+2143 117.3556250 39.0669042 0 0 202.619 0 0 1 0
+2144 117.3556245 39.0669033 0 0 202.619 0 0 1 0
+2145 117.3556241 39.0669025 0 0 202.619 0 0 1 0
+2146 117.3556236 39.0669017 0 0 202.619 0 0 1 0
+2147 117.3556232 39.0669008 0 0 202.619 0 0 1 0
+2148 117.3556227 39.0669000 0 0 202.619 0 0 1 0
+2149 117.3556223 39.0668992 0 0 202.619 0 0 1 0
+2150 117.3556218 39.0668984 0 0 202.619 0 0 1 0
+2151 117.3556214 39.0668975 0 0 202.619 0 0 1 0
+2152 117.3556209 39.0668967 0 0 202.619 0 0 1 0
+2153 117.3556205 39.0668959 0 0 202.619 0 0 1 0
+2154 117.3556200 39.0668950 0 0 202.619 0 0 1 0
+2155 117.3556196 39.0668942 0 0 202.619 0 0 1 0
+2156 117.3556191 39.0668934 0 0 202.619 0 0 1 0
+2157 117.3556187 39.0668925 0 0 202.619 0 0 1 0
+2158 117.3556182 39.0668917 0 0 202.619 0 0 1 0
+2159 117.3556178 39.0668909 0 0 202.619 0 0 1 0
+2160 117.3556173 39.0668901 0 0 202.619 0 0 1 0
+2161 117.3556169 39.0668892 0 0 202.619 0 0 1 0
+2162 117.3556165 39.0668884 0 0 202.619 0 0 1 0
+2163 117.3556160 39.0668876 0 0 202.619 0 0 1 0
+2164 117.3556156 39.0668867 0 0 202.619 0 0 1 0
+2165 117.3556151 39.0668859 0 0 202.619 0 0 1 0
+2166 117.3556147 39.0668851 0 0 202.619 0 0 1 0
+2167 117.3556142 39.0668842 0 0 202.619 0 0 1 0
+2168 117.3556138 39.0668834 0 0 202.619 0 0 1 0
+2169 117.3556133 39.0668826 0 0 202.619 0 0 1 0
+2170 117.3556129 39.0668818 0 0 202.619 0 0 1 0
+2171 117.3556124 39.0668809 0 0 202.619 0 0 1 0
+2172 117.3556120 39.0668801 0 0 202.619 0 0 1 0
+2173 117.3556115 39.0668793 0 0 202.619 0 0 1 0
+2174 117.3556111 39.0668784 0 0 202.619 0 0 1 0
+2175 117.3556106 39.0668776 0 0 202.619 0 0 1 0
+2176 117.3556102 39.0668768 0 0 202.619 0 0 1 0
+2177 117.3556097 39.0668759 0 0 202.619 0 0 1 0
+2178 117.3556093 39.0668751 0 0 202.619 0 0 1 0
+2179 117.3556088 39.0668743 0 0 202.619 0 0 1 0
+2180 117.3556084 39.0668735 0 0 202.619 0 0 1 0
+2181 117.3556079 39.0668726 0 0 202.619 0 0 1 0
+2182 117.3556075 39.0668718 0 0 202.619 0 0 1 0
+2183 117.3556070 39.0668710 0 0 202.619 0 0 1 0
+2184 117.3556066 39.0668701 0 0 202.619 0 0 1 0
+2185 117.3556061 39.0668693 0 0 202.619 0 0 1 0
+2186 117.3556057 39.0668685 0 0 202.619 0 0 1 0
+2187 117.3556052 39.0668676 0 0 202.619 0 0 1 0
+2188 117.3556048 39.0668668 0 0 202.619 0 0 1 0
+2189 117.3556043 39.0668660 0 0 202.619 0 0 1 0
+2190 117.3556039 39.0668652 0 0 202.619 0 0 1 0
+2191 117.3556034 39.0668643 0 0 202.619 0 0 1 0
+2192 117.3556030 39.0668635 0 0 202.619 0 0 1 0
+2193 117.3556025 39.0668627 0 0 202.619 0 0 1 0
+2194 117.3556021 39.0668618 0 0 202.619 0 0 1 0
+2195 117.3556016 39.0668610 0 0 202.619 0 0 1 0
+2196 117.3556012 39.0668602 0 0 202.619 0 0 1 0
+2197 117.3556008 39.0668593 0 0 202.619 0 0 1 0
+2198 117.3556003 39.0668585 0 0 202.619 0 0 1 0
+2199 117.3555999 39.0668577 0 0 202.619 0 0 1 0
+2200 117.3555994 39.0668569 0 0 202.619 0 0 1 0
+2201 117.3555990 39.0668560 0 0 202.619 0 0 1 0
+2202 117.3555985 39.0668552 0 0 202.619 0 0 1 0
+2203 117.3555981 39.0668544 0 0 202.619 0 0 1 0
+2204 117.3555976 39.0668535 0 0 202.619 0 0 1 0
+2205 117.3555972 39.0668527 0 0 202.619 0 0 1 0
+2206 117.3555967 39.0668519 0 0 202.619 0 0 1 0
+2207 117.3555963 39.0668510 0 0 202.619 0 0 1 0
+2208 117.3555958 39.0668502 0 0 202.619 0 0 1 0
+2209 117.3555954 39.0668494 0 0 202.619 0 0 1 0
+2210 117.3555949 39.0668486 0 0 202.619 0 0 1 0
+2211 117.3555945 39.0668477 0 0 202.619 0 0 1 0
+2212 117.3555940 39.0668469 0 0 202.619 0 0 1 0
+2213 117.3555936 39.0668461 0 0 202.619 0 0 1 0
+2214 117.3555931 39.0668452 0 0 202.619 0 0 1 0
+2215 117.3555927 39.0668444 0 0 202.619 0 0 1 0
+2216 117.3555922 39.0668436 0 0 202.619 0 0 1 0
+2217 117.3555918 39.0668427 0 0 202.619 0 0 1 0
+2218 117.3555913 39.0668419 0 0 202.619 0 0 1 0
+2219 117.3555909 39.0668411 0 0 202.619 0 0 1 0
+2220 117.3555904 39.0668403 0 0 202.619 0 0 1 0
+2221 117.3555900 39.0668394 0 0 202.619 0 0 1 0
+2222 117.3555895 39.0668386 0 0 202.619 0 0 1 0
+2223 117.3555891 39.0668378 0 0 202.619 0 0 1 0
+2224 117.3555886 39.0668369 0 0 202.619 0 0 1 0
+2225 117.3555882 39.0668361 0 0 202.619 0 0 1 0
+2226 117.3555877 39.0668353 0 0 202.619 0 0 1 0
+2227 117.3555873 39.0668344 0 0 202.619 0 0 1 0
+2228 117.3555868 39.0668336 0 0 202.619 0 0 1 0
+2229 117.3555864 39.0668328 0 0 202.619 0 0 1 0
+2230 117.3555859 39.0668319 0 0 202.619 0 0 1 0
+2231 117.3555855 39.0668311 0 0 202.619 0 0 1 0
+2232 117.3555851 39.0668303 0 0 202.619 0 0 1 0
+2233 117.3555846 39.0668295 0 0 202.619 0 0 1 0
+2234 117.3555842 39.0668286 0 0 202.619 0 0 1 0
+2235 117.3555837 39.0668278 0 0 202.619 0 0 1 0
+2236 117.3555833 39.0668270 0 0 202.619 0 0 1 0
+2237 117.3555828 39.0668261 0 0 202.619 0 0 1 0
+2238 117.3555824 39.0668253 0 0 202.619 0 0 1 0
+2239 117.3555819 39.0668245 0 0 202.619 0 0 1 0
+2240 117.3555815 39.0668236 0 0 202.619 0 0 1 0
+2241 117.3555810 39.0668228 0 0 202.619 0 0 1 0
+2242 117.3555806 39.0668220 0 0 202.619 0 0 1 0
+2243 117.3555801 39.0668212 0 0 202.619 0 0 1 0
+2244 117.3555797 39.0668203 0 0 202.619 0 0 1 0
+2245 117.3555792 39.0668195 0 0 202.619 0 0 1 0
+2246 117.3555788 39.0668187 0 0 202.619 0 0 1 0
+2247 117.3555783 39.0668178 0 0 202.619 0 0 1 0
+2248 117.3555779 39.0668170 0 0 202.619 0 0 1 0
+2249 117.3555774 39.0668162 0 0 202.619 0 0 1 0
+2250 117.3555770 39.0668153 0 0 202.619 0 0 1 0
+2251 117.3555765 39.0668145 0 0 202.619 0 0 1 0
+2252 117.3555761 39.0668137 0 0 202.619 0 0 1 0
+2253 117.3555756 39.0668129 0 0 202.619 0 0 1 0
+2254 117.3555752 39.0668120 0 0 202.619 0 0 1 0
+2255 117.3555747 39.0668112 0 0 202.619 0 0 1 0
+2256 117.3555743 39.0668104 0 0 202.619 0 0 1 0
+2257 117.3555738 39.0668095 0 0 202.619 0 0 1 0
+2258 117.3555734 39.0668087 0 0 202.619 0 0 1 0
+2259 117.3555729 39.0668079 0 0 202.619 0 0 1 0
+2260 117.3555725 39.0668070 0 0 202.619 0 0 1 0
+2261 117.3555720 39.0668062 0 0 202.619 0 0 1 0
+2262 117.3555716 39.0668054 0 0 202.619 0 0 1 0
+2263 117.3555711 39.0668046 0 0 202.619 0 0 1 0
+2264 117.3555707 39.0668037 0 0 202.619 0 0 1 0
+2265 117.3555702 39.0668029 0 0 202.619 0 0 1 0
+2266 117.3555698 39.0668021 0 0 202.619 0 0 1 0
+2267 117.3555693 39.0668012 0 0 202.619 0 0 1 0
+2268 117.3555689 39.0668004 0 0 202.619 0 0 1 0
+2269 117.3555685 39.0667996 0 0 202.619 0 0 1 0
+2270 117.3555680 39.0667987 0 0 202.619 0 0 1 0
+2271 117.3555676 39.0667979 0 0 202.619 0 0 1 0
+2272 117.3555671 39.0667971 0 0 202.619 0 0 1 0
+2273 117.3555667 39.0667963 0 0 202.619 0 0 1 0
+2274 117.3555662 39.0667954 0 0 202.619 0 0 1 0
+2275 117.3555658 39.0667946 0 0 202.619 0 0 1 0
+2276 117.3555653 39.0667938 0 0 202.619 0 0 1 0
+2277 117.3555649 39.0667929 0 0 202.619 0 0 1 0
+2278 117.3555644 39.0667921 0 0 202.619 0 0 1 0
+2279 117.3555640 39.0667913 0 0 202.619 0 0 1 0
+2280 117.3555635 39.0667904 0 0 202.619 0 0 1 0
+2281 117.3555631 39.0667896 0 0 202.619 0 0 1 0
+2282 117.3555626 39.0667888 0 0 202.619 0 0 1 0
+2283 117.3555622 39.0667880 0 0 202.619 0 0 1 0
+2284 117.3555617 39.0667871 0 0 202.619 0 0 1 0
+2285 117.3555613 39.0667863 0 0 202.619 0 0 1 0
+2286 117.3555608 39.0667855 0 0 202.619 0 0 1 0
+2287 117.3555604 39.0667846 0 0 202.619 0 0 1 0
+2288 117.3555599 39.0667838 0 0 202.619 0 0 1 0
+2289 117.3555595 39.0667830 0 0 202.619 0 0 1 0
+2290 117.3555590 39.0667821 0 0 202.619 0 0 1 0
+2291 117.3555586 39.0667813 0 0 202.619 0 0 1 0
+2292 117.3555581 39.0667805 0 0 202.619 0 0 1 0
+2293 117.3555577 39.0667797 0 0 202.619 0 0 1 0
+2294 117.3555572 39.0667788 0 0 202.619 0 0 1 0
+2295 117.3555568 39.0667780 0 0 202.619 0 0 1 0
+2296 117.3555563 39.0667772 0 0 202.619 0 0 1 0
+2297 117.3555559 39.0667763 0 0 202.619 0 0 1 0
+2298 117.3555554 39.0667755 0 0 202.619 0 0 1 0
+2299 117.3555550 39.0667747 0 0 202.619 0 0 1 0
+2300 117.3555545 39.0667738 0 0 202.619 0 0 1 0
+2301 117.3555541 39.0667730 0 0 202.619 0 0 1 0
+2302 117.3555536 39.0667722 0 0 202.619 0 0 1 0
+2303 117.3555532 39.0667714 0 0 202.619 0 0 1 0
+2304 117.3555527 39.0667705 0 0 202.619 0 0 1 0
+2305 117.3555523 39.0667697 0 0 202.619 0 0 1 0
+2306 117.3555518 39.0667689 0 0 202.619 0 0 1 0
+2307 117.3555514 39.0667680 0 0 202.619 0 0 1 0
+2308 117.3555510 39.0667672 0 0 202.619 0 0 1 0
+2309 117.3555505 39.0667664 0 0 202.619 0 0 1 0
+2310 117.3555501 39.0667655 0 0 202.619 0 0 1 0
+2311 117.3555496 39.0667647 0 0 202.619 0 0 1 0
+2312 117.3555492 39.0667639 0 0 202.619 0 0 1 0
+2313 117.3555487 39.0667631 0 0 202.619 0 0 1 0
+2314 117.3555483 39.0667622 0 0 202.619 0 0 1 0
+2315 117.3555478 39.0667614 0 0 202.619 0 0 1 0
+2316 117.3555474 39.0667606 0 0 202.619 0 0 1 0
+2317 117.3555469 39.0667597 0 0 202.619 0 0 1 0
+2318 117.3555465 39.0667589 0 0 202.619 0 0 1 0
+2319 117.3555460 39.0667581 0 0 202.619 0 0 1 0
+2320 117.3555456 39.0667572 0 0 202.619 0 0 1 0
+2321 117.3555451 39.0667564 0 0 202.619 0 0 1 0
+2322 117.3555447 39.0667556 0 0 202.619 0 0 1 0
+2323 117.3555442 39.0667548 0 0 202.619 0 0 1 0
+2324 117.3555438 39.0667539 0 0 202.619 0 0 1 0
+2325 117.3555433 39.0667531 0 0 202.619 0 0 1 0
+2326 117.3555429 39.0667523 0 0 202.619 0 0 1 0
+2327 117.3555424 39.0667514 0 0 202.619 0 0 1 0
+2328 117.3555420 39.0667506 0 0 202.619 0 0 1 0
+2329 117.3555415 39.0667498 0 0 202.619 0 0 1 0
+2330 117.3555411 39.0667489 0 0 202.619 0 0 1 0
+2331 117.3555406 39.0667481 0 0 202.619 0 0 1 0
+2332 117.3555402 39.0667473 0 0 202.619 0 0 1 0
+2333 117.3555397 39.0667465 0 0 202.619 0 0 1 0
+2334 117.3555393 39.0667456 0 0 202.619 0 0 1 0
+2335 117.3555388 39.0667448 0 0 202.619 0 0 1 0
+2336 117.3555384 39.0667440 0 0 202.619 0 0 1 0
+2337 117.3555379 39.0667431 0 0 202.619 0 0 1 0
+2338 117.3555375 39.0667423 0 0 202.619 0 0 1 0
+2339 117.3555370 39.0667415 0 0 202.619 0 0 1 0
+2340 117.3555366 39.0667406 0 0 202.619 0 0 1 0
+2341 117.3555361 39.0667398 0 0 202.619 0 0 1 0
+2342 117.3555357 39.0667390 0 0 202.619 0 0 1 0
+2343 117.3555352 39.0667382 0 0 202.619 0 0 1 0
+2344 117.3555348 39.0667373 0 0 202.619 0 0 1 0
+2345 117.3555343 39.0667365 0 0 202.619 0 0 1 0
+2346 117.3555339 39.0667357 0 0 202.619 0 0 1 0
+2347 117.3555334 39.0667348 0 0 202.619 0 0 1 0
+2348 117.3555330 39.0667340 0 0 202.619 0 0 1 0
+2349 117.3555326 39.0667332 0 0 202.619 0 0 1 0
+2350 117.3555321 39.0667323 0 0 202.619 0 0 1 0
+2351 117.3555317 39.0667315 0 0 202.619 0 0 1 0
+2352 117.3555312 39.0667307 0 0 202.619 0 0 1 0
+2353 117.3555308 39.0667299 0 0 202.619 0 0 1 0
+2354 117.3555303 39.0667290 0 0 202.619 0 0 1 0
+2355 117.3555299 39.0667282 0 0 202.619 0 0 1 0
+2356 117.3555294 39.0667274 0 0 202.619 0 0 1 0
+2357 117.3555290 39.0667265 0 0 202.619 0 0 1 0
+2358 117.3555285 39.0667257 0 0 202.619 0 0 1 0
+2359 117.3555281 39.0667249 0 0 202.619 0 0 1 0
+2360 117.3555276 39.0667240 0 0 202.619 0 0 1 0
+2361 117.3555272 39.0667232 0 0 202.619 0 0 1 0
+2362 117.3555267 39.0667224 0 0 202.619 0 0 1 0
+2363 117.3555263 39.0667216 0 0 202.619 0 0 1 0
+2364 117.3555258 39.0667207 0 0 202.619 0 0 1 0
+2365 117.3555254 39.0667199 0 0 202.619 0 0 1 0
+2366 117.3555249 39.0667191 0 0 202.619 0 0 1 0
+2367 117.3555245 39.0667182 0 0 202.619 0 0 1 0
+2368 117.3555240 39.0667174 0 0 202.619 0 0 1 0
+2369 117.3555236 39.0667166 0 0 202.619 0 0 1 0
+2370 117.3555231 39.0667157 0 0 202.619 0 0 1 0
+2371 117.3555227 39.0667149 0 0 202.619 0 0 1 0
+2372 117.3555222 39.0667141 0 0 202.619 0 0 1 0
+2373 117.3555218 39.0667133 0 0 202.619 0 0 1 0
+2374 117.3555213 39.0667124 0 0 202.619 0 0 1 0
+2375 117.3555209 39.0667116 0 0 202.619 0 0 1 0
+2376 117.3555204 39.0667108 0 0 202.619 0 0 1 0
+2377 117.3555200 39.0667099 0 0 202.619 0 0 1 0
+2378 117.3555195 39.0667091 0 0 202.619 0 0 1 0
+2379 117.3555191 39.0667083 0 0 202.619 0 0 1 0
+2380 117.3555186 39.0667074 0 0 202.619 0 0 1 0
+2381 117.3555182 39.0667066 0 0 202.619 0 0 1 0
+2382 117.3555177 39.0667058 0 0 202.619 0 0 1 0
+2383 117.3555173 39.0667050 0 0 202.619 0 0 1 0
+2384 117.3555168 39.0667041 0 0 202.619 0 0 1 0
+2385 117.3555164 39.0667033 0 0 202.619 0 0 1 0
+2386 117.3555159 39.0667025 0 0 202.619 0 0 1 0
+2387 117.3555155 39.0667016 0 0 202.619 0 0 1 0
+2388 117.3555150 39.0667008 0 0 202.619 0 0 1 0
+2389 117.3555146 39.0667000 0 0 202.619 0 0 1 0
+2390 117.3555141 39.0666991 0 0 202.619 0 0 1 0
+2391 117.3555137 39.0666983 0 0 202.619 0 0 1 0
+2392 117.3555133 39.0666975 0 0 202.619 0 0 1 0
+2393 117.3555128 39.0666967 0 0 202.619 0 0 1 0
+2394 117.3555124 39.0666958 0 0 202.619 0 0 1 0
+2395 117.3555119 39.0666950 0 0 202.619 0 0 1 0
+2396 117.3555115 39.0666942 0 0 202.619 0 0 1 0
+2397 117.3555110 39.0666933 0 0 202.619 0 0 1 0
+2398 117.3555106 39.0666925 0 0 202.619 0 0 1 0
+2399 117.3555101 39.0666917 0 0 202.619 0 0 1 0
+2400 117.3555097 39.0666908 0 0 202.619 0 0 1 0
+2401 117.3555092 39.0666900 0 0 202.619 0 0 1 0
+2402 117.3555088 39.0666892 0 0 202.619 0 0 1 0
+2403 117.3555080 39.0666877 0 0 202.626 0 0 1 0
+2404 117.3555075 39.0666869 0 0 202.626 0 0 1 0
+2405 117.3555071 39.0666860 0 0 202.626 0 0 1 0
+2406 117.3555066 39.0666852 0 0 202.626 0 0 1 0
+2407 117.3555062 39.0666844 0 0 202.626 0 0 1 0
+2408 117.3555057 39.0666835 0 0 202.626 0 0 1 0
+2409 117.3555053 39.0666827 0 0 202.626 0 0 1 0
+2410 117.3555048 39.0666819 0 0 202.626 0 0 1 0
+2411 117.3555044 39.0666810 0 0 202.626 0 0 1 0
+2412 117.3555039 39.0666802 0 0 202.626 0 0 1 0
+2413 117.3555035 39.0666794 0 0 202.626 0 0 1 0
+2414 117.3555030 39.0666786 0 0 202.626 0 0 1 0
+2415 117.3555026 39.0666777 0 0 202.626 0 0 1 0
+2416 117.3555021 39.0666769 0 0 202.626 0 0 1 0
+2417 117.3555017 39.0666761 0 0 202.626 0 0 1 0
+2418 117.3555012 39.0666752 0 0 202.626 0 0 1 0
+2419 117.3555008 39.0666744 0 0 202.626 0 0 1 0
+2420 117.3555003 39.0666736 0 0 202.626 0 0 1 0
+2421 117.3554999 39.0666727 0 0 202.626 0 0 1 0
+2422 117.3554994 39.0666719 0 0 202.626 0 0 1 0
+2423 117.3554990 39.0666711 0 0 202.626 0 0 1 0
+2424 117.3554985 39.0666703 0 0 202.626 0 0 1 0
+2425 117.3554981 39.0666694 0 0 202.626 0 0 1 0
+2426 117.3554976 39.0666686 0 0 202.626 0 0 1 0
+2427 117.3554972 39.0666678 0 0 202.626 0 0 1 0
+2428 117.3554967 39.0666669 0 0 202.626 0 0 1 0
+2429 117.3554963 39.0666661 0 0 202.626 0 0 1 0
+2430 117.3554958 39.0666653 0 0 202.626 0 0 1 0
+2431 117.3554954 39.0666644 0 0 202.626 0 0 1 0
+2432 117.3554949 39.0666636 0 0 202.626 0 0 1 0
+2433 117.3554945 39.0666628 0 0 202.626 0 0 1 0
+2434 117.3554940 39.0666620 0 0 202.626 0 0 1 0
+2435 117.3554936 39.0666611 0 0 202.626 0 0 1 0
+2436 117.3554931 39.0666603 0 0 202.626 0 0 1 0
+2437 117.3554927 39.0666595 0 0 202.626 0 0 1 0
+2438 117.3554922 39.0666586 0 0 202.626 0 0 1 0
+2439 117.3554918 39.0666578 0 0 202.626 0 0 1 0
+2440 117.3554913 39.0666570 0 0 202.626 0 0 1 0
+2441 117.3554909 39.0666561 0 0 202.626 0 0 1 0
+2442 117.3554905 39.0666553 0 0 202.626 0 0 1 0
+2443 117.3554900 39.0666545 0 0 202.626 0 0 1 0
+2444 117.3554896 39.0666537 0 0 202.626 0 0 1 0
+2445 117.3554891 39.0666528 0 0 202.626 0 0 1 0
+2446 117.3554887 39.0666520 0 0 202.626 0 0 1 0
+2447 117.3554882 39.0666512 0 0 202.626 0 0 1 0
+2448 117.3554878 39.0666503 0 0 202.626 0 0 1 0
+2449 117.3554873 39.0666495 0 0 202.626 0 0 1 0
+2450 117.3554869 39.0666487 0 0 202.626 0 0 1 0
+2451 117.3554864 39.0666478 0 0 202.626 0 0 1 0
+2452 117.3554860 39.0666470 0 0 202.626 0 0 1 0
+2453 117.3554855 39.0666462 0 0 202.626 0 0 1 0
+2454 117.3554851 39.0666454 0 0 202.626 0 0 1 0
+2455 117.3554846 39.0666445 0 0 202.626 0 0 1 0
+2456 117.3554842 39.0666437 0 0 202.626 0 0 1 0
+2457 117.3554837 39.0666429 0 0 202.626 0 0 1 0
+2458 117.3554833 39.0666420 0 0 202.626 0 0 1 0
+2459 117.3554828 39.0666412 0 0 202.626 0 0 1 0
+2460 117.3554824 39.0666404 0 0 202.626 0 0 1 0
+2461 117.3554819 39.0666395 0 0 202.626 0 0 1 0
+2462 117.3554815 39.0666387 0 0 202.626 0 0 1 0
+2463 117.3554810 39.0666379 0 0 202.626 0 0 1 0
+2464 117.3554806 39.0666371 0 0 202.626 0 0 1 0
+2465 117.3554801 39.0666362 0 0 202.626 0 0 1 0
+2466 117.3554797 39.0666354 0 0 202.626 0 0 1 0
+2467 117.3554792 39.0666346 0 0 202.626 0 0 1 0
+2468 117.3554788 39.0666337 0 0 202.626 0 0 1 0
+2469 117.3554783 39.0666329 0 0 202.626 0 0 1 0
+2470 117.3554779 39.0666321 0 0 202.626 0 0 1 0
+2471 117.3554774 39.0666312 0 0 202.626 0 0 1 0
+2472 117.3554770 39.0666304 0 0 202.626 0 0 1 0
+2473 117.3554765 39.0666296 0 0 202.626 0 0 1 0
+2474 117.3554761 39.0666288 0 0 202.626 0 0 1 0
+2475 117.3554756 39.0666279 0 0 202.626 0 0 1 0
+2476 117.3554752 39.0666271 0 0 202.626 0 0 1 0
+2477 117.3554747 39.0666263 0 0 202.626 0 0 1 0
+2478 117.3554743 39.0666254 0 0 202.626 0 0 1 0
+2479 117.3554738 39.0666246 0 0 202.626 0 0 1 0
+2480 117.3554734 39.0666238 0 0 202.626 0 0 1 0
+2481 117.3554729 39.0666229 0 0 202.626 0 0 1 0
+2482 117.3554725 39.0666221 0 0 202.626 0 0 1 0
+2483 117.3554721 39.0666213 0 0 202.626 0 0 1 0
+2484 117.3554716 39.0666204 0 0 202.626 0 0 1 0
+2485 117.3554712 39.0666196 0 0 202.626 0 0 1 0
+2486 117.3554707 39.0666188 0 0 202.626 0 0 1 0
+2487 117.3554703 39.0666180 0 0 202.626 0 0 1 0
+2488 117.3554698 39.0666171 0 0 202.626 0 0 1 0
+2489 117.3554694 39.0666163 0 0 202.626 0 0 1 0
+2490 117.3554689 39.0666155 0 0 202.626 0 0 1 0
+2491 117.3554685 39.0666146 0 0 202.626 0 0 1 0
+2492 117.3554680 39.0666138 0 0 202.626 0 0 1 0
+2493 117.3554676 39.0666130 0 0 202.626 0 0 1 0
+2494 117.3554671 39.0666121 0 0 202.626 0 0 1 0
+2495 117.3554667 39.0666113 0 0 202.626 0 0 1 0
+2496 117.3554662 39.0666105 0 0 202.626 0 0 1 0
+2497 117.3554658 39.0666097 0 0 202.626 0 0 1 0
+2498 117.3554653 39.0666088 0 0 202.626 0 0 1 0
+2499 117.3554649 39.0666080 0 0 202.626 0 0 1 0
+2500 117.3554644 39.0666072 0 0 202.626 0 0 1 0
+2501 117.3554640 39.0666063 0 0 202.626 0 0 1 0
+2502 117.3554635 39.0666055 0 0 202.626 0 0 1 0
+2503 117.3554631 39.0666047 0 0 202.626 0 0 1 0
+2504 117.3554626 39.0666038 0 0 202.626 0 0 1 0
+2505 117.3554622 39.0666030 0 0 202.626 0 0 1 0
+2506 117.3554617 39.0666022 0 0 202.626 0 0 1 0
+2507 117.3554613 39.0666014 0 0 202.626 0 0 1 0
+2508 117.3554608 39.0666005 0 0 202.626 0 0 1 0
+2509 117.3554604 39.0665997 0 0 202.626 0 0 1 0
+2510 117.3554599 39.0665989 0 0 202.626 0 0 1 0
+2511 117.3554595 39.0665980 0 0 202.626 0 0 1 0
+2512 117.3554590 39.0665972 0 0 202.626 0 0 1 0
+2513 117.3554586 39.0665964 0 0 202.626 0 0 1 0
+2514 117.3554581 39.0665955 0 0 202.626 0 0 1 0
+2515 117.3554577 39.0665947 0 0 202.626 0 0 1 0
+2516 117.3554572 39.0665939 0 0 202.626 0 0 1 0
+2517 117.3554568 39.0665931 0 0 202.626 0 0 1 0
+2518 117.3554563 39.0665922 0 0 202.626 0 0 1 0
+2519 117.3554559 39.0665914 0 0 202.626 0 0 1 0
+2520 117.3554554 39.0665906 0 0 202.626 0 0 1 0
+2521 117.3554550 39.0665897 0 0 202.626 0 0 1 0
+2522 117.3554546 39.0665889 0 0 202.626 0 0 1 0
+2523 117.3554541 39.0665881 0 0 202.626 0 0 1 0
+2524 117.3554537 39.0665872 0 0 202.626 0 0 1 0
+2525 117.3554532 39.0665864 0 0 202.626 0 0 1 0
+2526 117.3554528 39.0665856 0 0 202.626 0 0 1 0
+2527 117.3554523 39.0665848 0 0 202.626 0 0 1 0
+2528 117.3554519 39.0665839 0 0 202.626 0 0 1 0
+2529 117.3554514 39.0665831 0 0 202.626 0 0 1 0
+2530 117.3554510 39.0665823 0 0 202.626 0 0 1 0
+2531 117.3554505 39.0665814 0 0 202.626 0 0 1 0
+2532 117.3554501 39.0665806 0 0 202.626 0 0 1 0
+2533 117.3554496 39.0665798 0 0 202.626 0 0 1 0
+2534 117.3554492 39.0665789 0 0 202.626 0 0 1 0
+2535 117.3554487 39.0665781 0 0 202.626 0 0 1 0
+2536 117.3554483 39.0665773 0 0 202.626 0 0 1 0
+2537 117.3554478 39.0665765 0 0 202.626 0 0 1 0
+2538 117.3554474 39.0665756 0 0 202.626 0 0 1 0
+2539 117.3554469 39.0665748 0 0 202.626 0 0 1 0
+2540 117.3554465 39.0665740 0 0 202.626 0 0 1 0
+2541 117.3554460 39.0665731 0 0 202.626 0 0 1 0
+2542 117.3554456 39.0665723 0 0 202.626 0 0 1 0
+2543 117.3554451 39.0665715 0 0 202.626 0 0 1 0
+2544 117.3554447 39.0665706 0 0 202.626 0 0 1 0
+2545 117.3554442 39.0665698 0 0 202.626 0 0 1 0
+2546 117.3554438 39.0665690 0 0 202.626 0 0 1 0
+2547 117.3554433 39.0665682 0 0 202.626 0 0 1 0
+2548 117.3554429 39.0665673 0 0 202.626 0 0 1 0
+2549 117.3554424 39.0665665 0 0 202.626 0 0 1 0
+2550 117.3554420 39.0665657 0 0 202.626 0 0 1 0
+2551 117.3554415 39.0665648 0 0 202.626 0 0 1 0
+2552 117.3554411 39.0665640 0 0 202.626 0 0 1 0
+2553 117.3554406 39.0665632 0 0 202.626 0 0 1 0
+2554 117.3554402 39.0665623 0 0 202.626 0 0 1 0
+2555 117.3554397 39.0665615 0 0 202.626 0 0 1 0
+2556 117.3554393 39.0665607 0 0 202.626 0 0 1 0
+2557 117.3554388 39.0665599 0 0 202.626 0 0 1 0
+2558 117.3554384 39.0665590 0 0 202.626 0 0 1 0
+2559 117.3554379 39.0665582 0 0 202.626 0 0 1 0
+2560 117.3554375 39.0665574 0 0 202.626 0 0 1 0
+2561 117.3554371 39.0665565 0 0 202.626 0 0 1 0
+2562 117.3554366 39.0665557 0 0 202.626 0 0 1 0
+2563 117.3554362 39.0665549 0 0 202.626 0 0 1 0
+2564 117.3554357 39.0665540 0 0 202.626 0 0 1 0
+2565 117.3554353 39.0665532 0 0 202.626 0 0 1 0
+2566 117.3554348 39.0665524 0 0 202.626 0 0 1 0
+2567 117.3554344 39.0665516 0 0 202.626 0 0 1 0
+2568 117.3554339 39.0665507 0 0 202.626 0 0 1 0
+2569 117.3554335 39.0665499 0 0 202.626 0 0 1 0
+2570 117.3554330 39.0665491 0 0 202.626 0 0 1 0
+2571 117.3554326 39.0665482 0 0 202.626 0 0 1 0
+2572 117.3554321 39.0665474 0 0 202.626 0 0 1 0
+2573 117.3554317 39.0665466 0 0 202.626 0 0 1 0
+2574 117.3554312 39.0665457 0 0 202.626 0 0 1 0
+2575 117.3554308 39.0665449 0 0 202.626 0 0 1 0
+2576 117.3554303 39.0665441 0 0 202.626 0 0 1 0
+2577 117.3554299 39.0665433 0 0 202.626 0 0 1 0
+2578 117.3554294 39.0665424 0 0 202.626 0 0 1 0
+2579 117.3554290 39.0665416 0 0 202.626 0 0 1 0
+2580 117.3554285 39.0665408 0 0 202.626 0 0 1 0
+2581 117.3554281 39.0665399 0 0 202.626 0 0 1 0
+2582 117.3554276 39.0665391 0 0 202.626 0 0 1 0
+2583 117.3554272 39.0665383 0 0 202.626 0 0 1 0
+2584 117.3554267 39.0665374 0 0 202.626 0 0 1 0
+2585 117.3554263 39.0665366 0 0 202.626 0 0 1 0
+2586 117.3554258 39.0665358 0 0 202.626 0 0 1 0
+2587 117.3554254 39.0665350 0 0 202.626 0 0 1 0
+2588 117.3554249 39.0665341 0 0 202.626 0 0 1 0
+2589 117.3554245 39.0665333 0 0 202.626 0 0 1 0
+2590 117.3554240 39.0665325 0 0 202.626 0 0 1 0
+2591 117.3554236 39.0665316 0 0 202.626 0 0 1 0
+2592 117.3554231 39.0665308 0 0 202.626 0 0 1 0
+2593 117.3554227 39.0665300 0 0 202.626 0 0 1 0
+2594 117.3554222 39.0665291 0 0 202.626 0 0 1 0
+2595 117.3554218 39.0665283 0 0 202.626 0 0 1 0
+2596 117.3554213 39.0665275 0 0 202.626 0 0 1 0
+2597 117.3554209 39.0665267 0 0 202.626 0 0 1 0
+2598 117.3554204 39.0665258 0 0 202.626 0 0 1 0
+2599 117.3554200 39.0665250 0 0 202.626 0 0 1 0
+2600 117.3554195 39.0665242 0 0 202.626 0 0 1 0
+2601 117.3554191 39.0665233 0 0 202.626 0 0 1 0
+2602 117.3554187 39.0665225 0 0 202.626 0 0 1 0
+2603 117.3554182 39.0665217 0 0 202.626 0 0 1 0
+2604 117.3554178 39.0665208 0 0 202.626 0 0 1 0
+2605 117.3554173 39.0665200 0 0 202.626 0 0 1 0
+2606 117.3554165 39.0665185 0 0 202.632 0 0 1 0
+2607 117.3554160 39.0665177 0 0 202.632 0 0 1 0
+2608 117.3554156 39.0665168 0 0 202.632 0 0 1 0
+2609 117.3554152 39.0665160 0 0 202.632 0 0 1 0
+2610 117.3554147 39.0665152 0 0 202.632 0 0 1 0
+2611 117.3554143 39.0665144 0 0 202.632 0 0 1 0
+2612 117.3554138 39.0665135 0 0 202.632 0 0 1 0
+2613 117.3554134 39.0665127 0 0 202.632 0 0 1 0
+2614 117.3554129 39.0665119 0 0 202.632 0 0 1 0
+2615 117.3554125 39.0665110 0 0 202.632 0 0 1 0
+2616 117.3554120 39.0665102 0 0 202.632 0 0 1 0
+2617 117.3554116 39.0665094 0 0 202.632 0 0 1 0
+2618 117.3554111 39.0665085 0 0 202.632 0 0 1 0
+2619 117.3554107 39.0665077 0 0 202.632 0 0 1 0
+2620 117.3554102 39.0665069 0 0 202.632 0 0 1 0
+2621 117.3554098 39.0665060 0 0 202.632 0 0 1 0
+2622 117.3554093 39.0665052 0 0 202.632 0 0 1 0
+2623 117.3554089 39.0665044 0 0 202.632 0 0 1 0
+2624 117.3554084 39.0665036 0 0 202.632 0 0 1 0
+2625 117.3554080 39.0665027 0 0 202.632 0 0 1 0
+2626 117.3554075 39.0665019 0 0 202.632 0 0 1 0
+2627 117.3554071 39.0665011 0 0 202.632 0 0 1 0
+2628 117.3554067 39.0665002 0 0 202.632 0 0 1 0
+2629 117.3554062 39.0664994 0 0 202.632 0 0 1 0
+2630 117.3554058 39.0664986 0 0 202.632 0 0 1 0
+2631 117.3554053 39.0664977 0 0 202.632 0 0 1 0
+2632 117.3554049 39.0664969 0 0 202.632 0 0 1 0
+2633 117.3554044 39.0664961 0 0 202.632 0 0 1 0
+2634 117.3554040 39.0664953 0 0 202.632 0 0 1 0
+2635 117.3554035 39.0664944 0 0 202.632 0 0 1 0
+2636 117.3554031 39.0664936 0 0 202.632 0 0 1 0
+2637 117.3554026 39.0664928 0 0 202.632 0 0 1 0
+2638 117.3554022 39.0664919 0 0 202.632 0 0 1 0
+2639 117.3554017 39.0664911 0 0 202.632 0 0 1 0
+2640 117.3554013 39.0664903 0 0 202.632 0 0 1 0
+2641 117.3554008 39.0664894 0 0 202.632 0 0 1 0
+2642 117.3554004 39.0664886 0 0 202.632 0 0 1 0
+2643 117.3554000 39.0664878 0 0 202.632 0 0 1 0
+2644 117.3553995 39.0664869 0 0 202.632 0 0 1 0
+2645 117.3553991 39.0664861 0 0 202.632 0 0 1 0
+2646 117.3553986 39.0664853 0 0 202.632 0 0 1 0
+2647 117.3553982 39.0664845 0 0 202.632 0 0 1 0
+2648 117.3553977 39.0664836 0 0 202.632 0 0 1 0
+2649 117.3553973 39.0664828 0 0 202.632 0 0 1 0
+2650 117.3553968 39.0664820 0 0 202.632 0 0 1 0
+2651 117.3553964 39.0664811 0 0 202.632 0 0 1 0
+2652 117.3553959 39.0664803 0 0 202.632 0 0 1 0
+2653 117.3553955 39.0664795 0 0 202.632 0 0 1 0
+2654 117.3553950 39.0664786 0 0 202.632 0 0 1 0
+2655 117.3553946 39.0664778 0 0 202.632 0 0 1 0
+2656 117.3553941 39.0664770 0 0 202.632 0 0 1 0
+2657 117.3553937 39.0664761 0 0 202.632 0 0 1 0
+2658 117.3553933 39.0664753 0 0 202.632 0 0 1 0
+2659 117.3553928 39.0664745 0 0 202.632 0 0 1 0
+2660 117.3553924 39.0664737 0 0 202.632 0 0 1 0
+2661 117.3553919 39.0664728 0 0 202.632 0 0 1 0
+2662 117.3553915 39.0664720 0 0 202.632 0 0 1 0
+2663 117.3553910 39.0664712 0 0 202.632 0 0 1 0
+2664 117.3553906 39.0664703 0 0 202.632 0 0 1 0
+2665 117.3553901 39.0664695 0 0 202.632 0 0 1 0
+2666 117.3553897 39.0664687 0 0 202.632 0 0 1 0
+2667 117.3553892 39.0664678 0 0 202.632 0 0 1 0
+2668 117.3553888 39.0664670 0 0 202.632 0 0 1 0
+2669 117.3553883 39.0664662 0 0 202.632 0 0 1 0
+2670 117.3553879 39.0664653 0 0 202.632 0 0 1 0
+2671 117.3553875 39.0664645 0 0 202.632 0 0 1 0
+2672 117.3553870 39.0664637 0 0 202.632 0 0 1 0
+2673 117.3553866 39.0664628 0 0 202.632 0 0 1 0
+2674 117.3553861 39.0664620 0 0 202.632 0 0 1 0
+2675 117.3553857 39.0664612 0 0 202.632 0 0 1 0
+2676 117.3553852 39.0664604 0 0 202.632 0 0 1 0
+2677 117.3553848 39.0664595 0 0 202.632 0 0 1 0
+2678 117.3553843 39.0664587 0 0 202.632 0 0 1 0
+2679 117.3553839 39.0664579 0 0 202.632 0 0 1 0
+2680 117.3553834 39.0664570 0 0 202.632 0 0 1 0
+2681 117.3553830 39.0664562 0 0 202.632 0 0 1 0
+2682 117.3553826 39.0664554 0 0 202.632 0 0 1 0
+2683 117.3553821 39.0664545 0 0 202.632 0 0 1 0
+2684 117.3553817 39.0664537 0 0 202.632 0 0 1 0
+2685 117.3553812 39.0664529 0 0 202.632 0 0 1 0
+2686 117.3553808 39.0664520 0 0 202.632 0 0 1 0
+2687 117.3553803 39.0664512 0 0 202.632 0 0 1 0
+2688 117.3553799 39.0664504 0 0 202.632 0 0 1 0
+2689 117.3553794 39.0664496 0 0 202.632 0 0 1 0
+2690 117.3553790 39.0664487 0 0 202.632 0 0 1 0
+2691 117.3553786 39.0664479 0 0 202.632 0 0 1 0
+2692 117.3553781 39.0664471 0 0 202.632 0 0 1 0
+2693 117.3553777 39.0664462 0 0 202.632 0 0 1 0
+2694 117.3553772 39.0664454 0 0 202.632 0 0 1 0
+2695 117.3553768 39.0664446 0 0 202.632 0 0 1 0
+2696 117.3553763 39.0664437 0 0 202.632 0 0 1 0
+2697 117.3553759 39.0664429 0 0 202.632 0 0 1 0
+2698 117.3553754 39.0664421 0 0 202.632 0 0 1 0
+2699 117.3553750 39.0664412 0 0 202.632 0 0 1 0
+2700 117.3553745 39.0664404 0 0 202.632 0 0 1 0
+2701 117.3553741 39.0664396 0 0 202.632 0 0 1 0
+2702 117.3553737 39.0664387 0 0 202.632 0 0 1 0
+2703 117.3553732 39.0664379 0 0 202.632 0 0 1 0
+2704 117.3553728 39.0664371 0 0 202.632 0 0 1 0
+2705 117.3553723 39.0664362 0 0 202.632 0 0 1 0
+2706 117.3553719 39.0664354 0 0 202.632 0 0 1 0
+2707 117.3553714 39.0664346 0 0 202.632 0 0 1 0
+2708 117.3553710 39.0664338 0 0 202.632 0 0 1 0
+2709 117.3553705 39.0664329 0 0 202.632 0 0 1 0
+2710 117.3553701 39.0664321 0 0 202.632 0 0 1 0
+2711 117.3553697 39.0664313 0 0 202.632 0 0 1 0
+2712 117.3553692 39.0664304 0 0 202.632 0 0 1 0
+2713 117.3553688 39.0664296 0 0 202.632 0 0 1 0
+2714 117.3553683 39.0664288 0 0 202.632 0 0 1 0
+2715 117.3553679 39.0664279 0 0 202.632 0 0 1 0
+2716 117.3553674 39.0664271 0 0 202.632 0 0 1 0
+2717 117.3553670 39.0664263 0 0 202.632 0 0 1 0
+2718 117.3553665 39.0664254 0 0 202.632 0 0 1 0
+2719 117.3553661 39.0664246 0 0 202.632 0 0 1 0
+2720 117.3553657 39.0664238 0 0 202.632 0 0 1 0
+2721 117.3553652 39.0664229 0 0 202.632 0 0 1 0
+2722 117.3553648 39.0664221 0 0 202.632 0 0 1 0
+2723 117.3553643 39.0664213 0 0 202.632 0 0 1 0
+2724 117.3553639 39.0664204 0 0 202.632 0 0 1 0
+2725 117.3553634 39.0664196 0 0 202.632 0 0 1 0
+2726 117.3553630 39.0664188 0 0 202.632 0 0 1 0
+2727 117.3553626 39.0664180 0 0 202.632 0 0 1 0
+2728 117.3553621 39.0664171 0 0 202.632 0 0 1 0
+2729 117.3553617 39.0664163 0 0 202.632 0 0 1 0
+2730 117.3553612 39.0664155 0 0 202.632 0 0 1 0
+2731 117.3553608 39.0664146 0 0 202.632 0 0 1 0
+2732 117.3553603 39.0664138 0 0 202.632 0 0 1 0
+2733 117.3553599 39.0664130 0 0 202.632 0 0 1 0
+2734 117.3553595 39.0664121 0 0 202.632 0 0 1 0
+2735 117.3553590 39.0664113 0 0 202.632 0 0 1 0
+2736 117.3553586 39.0664105 0 0 202.632 0 0 1 0
+2737 117.3553581 39.0664096 0 0 202.632 0 0 1 0
+2738 117.3553577 39.0664088 0 0 202.632 0 0 1 0
+2739 117.3553572 39.0664080 0 0 202.632 0 0 1 0
+2740 117.3553568 39.0664071 0 0 202.632 0 0 1 0
+2741 117.3553563 39.0664063 0 0 202.632 0 0 1 0
+2742 117.3553559 39.0664055 0 0 202.632 0 0 1 0
+2743 117.3553555 39.0664046 0 0 202.632 0 0 1 0
+2744 117.3553550 39.0664038 0 0 202.632 0 0 1 0
+2745 117.3553546 39.0664030 0 0 202.632 0 0 1 0
+2746 117.3553541 39.0664021 0 0 202.632 0 0 1 0
+2747 117.3553537 39.0664013 0 0 202.632 0 0 1 0
+2748 117.3553532 39.0664005 0 0 202.632 0 0 1 0
+2749 117.3553528 39.0663997 0 0 202.632 0 0 1 0
+2750 117.3553524 39.0663988 0 0 202.632 0 0 1 0
+2751 117.3553519 39.0663980 0 0 202.632 0 0 1 0
+2752 117.3553515 39.0663972 0 0 202.632 0 0 1 0
+2753 117.3553510 39.0663963 0 0 202.632 0 0 1 0
+2754 117.3553506 39.0663955 0 0 202.632 0 0 1 0
+2755 117.3553502 39.0663947 0 0 202.632 0 0 1 0
+2756 117.3553495 39.0663935 0 0 202.613 0 0 1 0
+2757 117.3553490 39.0663926 0 0 202.613 0 0 1 0
+2758 117.3553486 39.0663918 0 0 202.613 0 0 1 0
+2759 117.3553481 39.0663910 0 0 202.613 0 0 1 0
+2760 117.3553477 39.0663901 0 0 202.613 0 0 1 0
+2761 117.3553472 39.0663893 0 0 202.613 0 0 1 0
+2762 117.3553468 39.0663885 0 0 202.613 0 0 1 0
+2763 117.3553463 39.0663877 0 0 202.613 0 0 1 0
+2764 117.3553459 39.0663868 0 0 202.613 0 0 1 0
+2765 117.3553454 39.0663860 0 0 202.613 0 0 1 0
+2766 117.3553450 39.0663852 0 0 202.613 0 0 1 0
+2767 117.3553445 39.0663843 0 0 202.613 0 0 1 0
+2768 117.3553441 39.0663835 0 0 202.613 0 0 1 0
+2769 117.3553436 39.0663827 0 0 202.613 0 0 1 0
+2770 117.3553432 39.0663818 0 0 202.613 0 0 1 0
+2771 117.3553427 39.0663810 0 0 202.613 0 0 1 0
+2772 117.3553423 39.0663802 0 0 202.613 0 0 1 0
+2773 117.3553418 39.0663794 0 0 202.613 0 0 1 0
+2774 117.3553414 39.0663785 0 0 202.613 0 0 1 0
+2775 117.3553409 39.0663777 0 0 202.613 0 0 1 0
+2776 117.3553405 39.0663769 0 0 202.613 0 0 1 0
+2777 117.3553400 39.0663760 0 0 202.613 0 0 1 0
+2778 117.3553396 39.0663752 0 0 202.613 0 0 1 0
+2779 117.3553391 39.0663744 0 0 202.613 0 0 1 0
+2780 117.3553387 39.0663736 0 0 202.613 0 0 1 0
+2781 117.3553382 39.0663727 0 0 202.613 0 0 1 0
+2782 117.3553378 39.0663719 0 0 202.613 0 0 1 0
+2783 117.3553373 39.0663711 0 0 202.613 0 0 1 0
+2784 117.3553369 39.0663702 0 0 202.613 0 0 1 0
+2785 117.3553364 39.0663694 0 0 202.613 0 0 1 0
+2786 117.3553360 39.0663686 0 0 202.613 0 0 1 0
+2787 117.3553355 39.0663677 0 0 202.613 0 0 1 0
+2788 117.3553351 39.0663669 0 0 202.613 0 0 1 0
+2789 117.3553346 39.0663661 0 0 202.613 0 0 1 0
+2790 117.3553342 39.0663653 0 0 202.613 0 0 1 0
+2791 117.3553337 39.0663644 0 0 202.613 0 0 1 0
+2792 117.3553333 39.0663636 0 0 202.613 0 0 1 0
+2793 117.3553328 39.0663628 0 0 202.613 0 0 1 0
+2794 117.3553324 39.0663619 0 0 202.613 0 0 1 0
+2795 117.3553319 39.0663611 0 0 202.613 0 0 1 0
+2796 117.3553315 39.0663603 0 0 202.613 0 0 1 0
+2797 117.3553310 39.0663595 0 0 202.613 0 0 1 0
+2798 117.3553306 39.0663586 0 0 202.613 0 0 1 0
+2799 117.3553301 39.0663578 0 0 202.613 0 0 1 0
+2800 117.3553297 39.0663570 0 0 202.613 0 0 1 0
+2801 117.3553292 39.0663561 0 0 202.613 0 0 1 0
+2802 117.3553288 39.0663553 0 0 202.613 0 0 1 0
+2803 117.3553283 39.0663545 0 0 202.613 0 0 1 0
+2804 117.3553279 39.0663536 0 0 202.613 0 0 1 0
+2805 117.3553274 39.0663528 0 0 202.613 0 0 1 0
+2806 117.3553270 39.0663520 0 0 202.613 0 0 1 0
+2807 117.3553265 39.0663512 0 0 202.613 0 0 1 0
+2808 117.3553260 39.0663503 0 0 202.613 0 0 1 0
+2809 117.3553256 39.0663495 0 0 202.613 0 0 1 0
+2810 117.3553251 39.0663487 0 0 202.613 0 0 1 0
+2811 117.3553247 39.0663478 0 0 202.613 0 0 1 0
+2812 117.3553242 39.0663470 0 0 202.613 0 0 1 0
+2813 117.3553238 39.0663462 0 0 202.613 0 0 1 0
+2814 117.3553233 39.0663454 0 0 202.613 0 0 1 0
+2815 117.3553229 39.0663445 0 0 202.613 0 0 1 0
+2816 117.3553224 39.0663437 0 0 202.613 0 0 1 0
+2817 117.3553220 39.0663429 0 0 202.613 0 0 1 0
+2818 117.3553215 39.0663420 0 0 202.613 0 0 1 0
+2819 117.3553211 39.0663412 0 0 202.613 0 0 1 0
+2820 117.3553206 39.0663404 0 0 202.613 0 0 1 0
+2821 117.3553202 39.0663395 0 0 202.613 0 0 1 0
+2822 117.3553197 39.0663387 0 0 202.613 0 0 1 0
+2823 117.3553193 39.0663379 0 0 202.613 0 0 1 0
+2824 117.3553188 39.0663371 0 0 202.613 0 0 1 0
+2825 117.3553184 39.0663362 0 0 202.613 0 0 1 0
+2826 117.3553179 39.0663354 0 0 202.613 0 0 1 0
+2827 117.3553175 39.0663346 0 0 202.613 0 0 1 0
+2828 117.3553170 39.0663337 0 0 202.613 0 0 1 0
+2829 117.3553166 39.0663329 0 0 202.613 0 0 1 0
+2830 117.3553161 39.0663321 0 0 202.613 0 0 1 0
+2831 117.3553157 39.0663313 0 0 202.613 0 0 1 0
+2832 117.3553152 39.0663304 0 0 202.613 0 0 1 0
+2833 117.3553148 39.0663296 0 0 202.613 0 0 1 0
+2834 117.3553143 39.0663288 0 0 202.613 0 0 1 0
+2835 117.3553139 39.0663279 0 0 202.613 0 0 1 0
+2836 117.3553134 39.0663271 0 0 202.613 0 0 1 0
+2837 117.3553130 39.0663263 0 0 202.613 0 0 1 0
+2838 117.3553125 39.0663255 0 0 202.613 0 0 1 0
+2839 117.3553121 39.0663246 0 0 202.613 0 0 1 0
+2840 117.3553116 39.0663238 0 0 202.613 0 0 1 0
+2841 117.3553112 39.0663230 0 0 202.613 0 0 1 0
+2842 117.3553107 39.0663221 0 0 202.613 0 0 1 0
+2843 117.3553103 39.0663213 0 0 202.613 0 0 1 0
+2844 117.3553098 39.0663205 0 0 202.613 0 0 1 0
+2845 117.3553094 39.0663196 0 0 202.613 0 0 1 0
+2846 117.3553089 39.0663188 0 0 202.613 0 0 1 0
+2847 117.3553085 39.0663180 0 0 202.613 0 0 1 0
+2848 117.3553080 39.0663172 0 0 202.613 0 0 1 0
+2849 117.3553076 39.0663163 0 0 202.613 0 0 1 0
+2850 117.3553071 39.0663155 0 0 202.613 0 0 1 0
+2851 117.3553067 39.0663147 0 0 202.613 0 0 1 0
+2852 117.3553062 39.0663138 0 0 202.613 0 0 1 0
+2853 117.3553058 39.0663130 0 0 202.613 0 0 1 0
+2854 117.3553053 39.0663122 0 0 202.613 0 0 1 0
+2855 117.3553049 39.0663114 0 0 202.613 0 0 1 0
+2856 117.3553044 39.0663105 0 0 202.613 0 0 1 0
+2857 117.3553040 39.0663097 0 0 202.613 0 0 1 0
+2858 117.3553035 39.0663089 0 0 202.613 0 0 1 0
+2859 117.3553031 39.0663080 0 0 202.613 0 0 1 0
+2860 117.3553026 39.0663072 0 0 202.613 0 0 1 0
+2861 117.3553022 39.0663064 0 0 202.613 0 0 1 0
+2862 117.3553017 39.0663055 0 0 202.613 0 0 1 0
+2863 117.3553012 39.0663047 0 0 202.613 0 0 1 0
+2864 117.3553008 39.0663039 0 0 202.613 0 0 1 0
+2865 117.3553003 39.0663031 0 0 202.613 0 0 1 0
+2866 117.3552999 39.0663022 0 0 202.613 0 0 1 0
+2867 117.3552994 39.0663014 0 0 202.613 0 0 1 0
+2868 117.3552990 39.0663006 0 0 202.613 0 0 1 0
+2869 117.3552985 39.0662997 0 0 202.613 0 0 1 0
+2870 117.3552981 39.0662989 0 0 202.613 0 0 1 0
+2871 117.3552976 39.0662981 0 0 202.613 0 0 1 0
+2872 117.3552972 39.0662973 0 0 202.613 0 0 1 0
+2873 117.3552967 39.0662964 0 0 202.613 0 0 1 0
+2874 117.3552963 39.0662956 0 0 202.613 0 0 1 0
+2875 117.3552958 39.0662948 0 0 202.613 0 0 1 0
+2876 117.3552954 39.0662939 0 0 202.613 0 0 1 0
+2877 117.3552949 39.0662931 0 0 202.613 0 0 1 0
+2878 117.3552945 39.0662923 0 0 202.613 0 0 1 0
+2879 117.3552940 39.0662914 0 0 202.613 0 0 1 0
+2880 117.3552936 39.0662906 0 0 202.613 0 0 1 0
+2881 117.3552931 39.0662898 0 0 202.613 0 0 1 0
+2882 117.3552927 39.0662890 0 0 202.613 0 0 1 0
+2883 117.3552922 39.0662881 0 0 202.613 0 0 1 0
+2884 117.3552918 39.0662873 0 0 202.613 0 0 1 0
+2885 117.3552913 39.0662865 0 0 202.613 0 0 1 0
+2886 117.3552909 39.0662856 0 0 202.613 0 0 1 0
+2887 117.3552904 39.0662848 0 0 202.613 0 0 1 0
+2888 117.3552900 39.0662840 0 0 202.613 0 0 1 0
+2889 117.3552895 39.0662832 0 0 202.613 0 0 1 0
+2890 117.3552891 39.0662823 0 0 202.613 0 0 1 0
+2891 117.3552886 39.0662815 0 0 202.613 0 0 1 0
+2892 117.3552882 39.0662807 0 0 202.613 0 0 1 0
+2893 117.3552877 39.0662798 0 0 202.613 0 0 1 0
+2894 117.3552873 39.0662790 0 0 202.613 0 0 1 0
+2895 117.3552868 39.0662782 0 0 202.613 0 0 1 0
+2896 117.3552864 39.0662774 0 0 202.613 0 0 1 0
+2897 117.3552859 39.0662765 0 0 202.613 0 0 1 0
+2898 117.3552855 39.0662757 0 0 202.613 0 0 1 0
+2899 117.3552850 39.0662749 0 0 202.613 0 0 1 0
+2900 117.3552846 39.0662740 0 0 202.613 0 0 1 0
+2901 117.3552841 39.0662732 0 0 202.613 0 0 1 0
+2902 117.3552837 39.0662724 0 0 202.613 0 0 1 0
+2903 117.3552832 39.0662715 0 0 202.613 0 0 1 0
+2904 117.3552828 39.0662707 0 0 202.613 0 0 1 0
+2905 117.3552823 39.0662699 0 0 202.613 0 0 1 0
+2906 117.3552819 39.0662691 0 0 202.613 0 0 1 0
+2907 117.3552814 39.0662682 0 0 202.613 0 0 1 0
+2908 117.3552810 39.0662674 0 0 202.613 0 0 1 0
+2909 117.3552805 39.0662666 0 0 202.613 0 0 1 0
+2910 117.3552801 39.0662657 0 0 202.613 0 0 1 0
+2911 117.3552796 39.0662649 0 0 202.613 0 0 1 0
+2912 117.3552792 39.0662641 0 0 202.613 0 0 1 0
+2913 117.3552787 39.0662633 0 0 202.613 0 0 1 0
+2914 117.3552783 39.0662624 0 0 202.613 0 0 1 0
+2915 117.3552778 39.0662616 0 0 202.613 0 0 1 0
+2916 117.3552774 39.0662608 0 0 202.613 0 0 1 0
+2917 117.3552769 39.0662599 0 0 202.613 0 0 1 0
+2918 117.3552764 39.0662591 0 0 202.613 0 0 1 0
+2919 117.3552760 39.0662583 0 0 202.613 0 0 1 0
+2920 117.3552755 39.0662574 0 0 202.613 0 0 1 0
+2921 117.3552751 39.0662566 0 0 202.613 0 0 1 0
+2922 117.3552746 39.0662558 0 0 202.613 0 0 1 0
+2923 117.3552742 39.0662550 0 0 202.613 0 0 1 0
+2924 117.3552737 39.0662541 0 0 202.613 0 0 1 0
+2925 117.3552733 39.0662533 0 0 202.613 0 0 1 0
+2926 117.3552728 39.0662525 0 0 202.613 0 0 1 0
+2927 117.3552724 39.0662516 0 0 202.613 0 0 1 0
+2928 117.3552719 39.0662508 0 0 202.613 0 0 1 0
+2929 117.3552715 39.0662500 0 0 202.613 0 0 1 0
+2930 117.3552710 39.0662492 0 0 202.613 0 0 1 0
+2931 117.3552706 39.0662483 0 0 202.613 0 0 1 0
+2932 117.3552701 39.0662475 0 0 202.613 0 0 1 0
+2933 117.3552697 39.0662467 0 0 202.613 0 0 1 0
+2934 117.3552692 39.0662458 0 0 202.613 0 0 1 0
+2935 117.3552688 39.0662450 0 0 202.613 0 0 1 0
+2936 117.3552683 39.0662442 0 0 202.613 0 0 1 0
+2937 117.3552679 39.0662433 0 0 202.613 0 0 1 0
+2938 117.3552674 39.0662425 0 0 202.613 0 0 1 0
+2939 117.3552670 39.0662417 0 0 202.613 0 0 1 0
+2940 117.3552665 39.0662409 0 0 202.613 0 0 1 0
+2941 117.3552661 39.0662400 0 0 202.613 0 0 1 0
+2942 117.3552656 39.0662392 0 0 202.613 0 0 1 0
+2943 117.3552652 39.0662384 0 0 202.613 0 0 1 0
+2944 117.3552647 39.0662375 0 0 202.613 0 0 1 0
+2945 117.3552643 39.0662367 0 0 202.613 0 0 1 0
+2946 117.3552638 39.0662359 0 0 202.613 0 0 1 0
+2947 117.3552634 39.0662351 0 0 202.613 0 0 1 0
+2948 117.3552629 39.0662342 0 0 202.613 0 0 1 0
+2949 117.3552625 39.0662334 0 0 202.613 0 0 1 0
+2950 117.3552620 39.0662326 0 0 202.613 0 0 1 0
+2951 117.3552616 39.0662317 0 0 202.613 0 0 1 0
+2952 117.3552611 39.0662309 0 0 202.613 0 0 1 0
+2953 117.3552607 39.0662301 0 0 202.613 0 0 1 0
+2954 117.3552602 39.0662292 0 0 202.613 0 0 1 0
+2955 117.3552598 39.0662284 0 0 202.613 0 0 1 0
+2956 117.3552593 39.0662276 0 0 202.613 0 0 1 0
+2957 117.3552589 39.0662268 0 0 202.613 0 0 1 0
+2958 117.3552584 39.0662259 0 0 202.613 0 0 1 0
+2959 117.3552580 39.0662251 0 0 202.613 0 0 1 0
+2960 117.3552575 39.0662243 0 0 202.613 0 0 1 0
+2961 117.3552571 39.0662234 0 0 202.613 0 0 1 0
+2962 117.3552566 39.0662226 0 0 202.613 0 0 1 0
+2963 117.3552562 39.0662218 0 0 202.613 0 0 1 0
+2964 117.3552557 39.0662210 0 0 202.613 0 0 1 0
+2965 117.3552553 39.0662201 0 0 202.613 0 0 1 0
+2966 117.3552548 39.0662193 0 0 202.613 0 0 1 0
+2967 117.3552544 39.0662185 0 0 202.613 0 0 1 0
+2968 117.3552539 39.0662176 0 0 202.613 0 0 1 0
+2969 117.3552535 39.0662168 0 0 202.613 0 0 1 0
+2970 117.3552530 39.0662160 0 0 202.613 0 0 1 0
+2971 117.3552526 39.0662152 0 0 202.613 0 0 1 0
+2972 117.3552521 39.0662143 0 0 202.613 0 0 1 0
+2973 117.3552516 39.0662135 0 0 202.613 0 0 1 0
+2974 117.3552509 39.0662122 0 0 202.618 0 0 1 0
+2975 117.3552505 39.0662113 0 0 202.618 0 0 1 0
+2976 117.3552500 39.0662105 0 0 202.618 0 0 1 0
+2977 117.3552496 39.0662097 0 0 202.618 0 0 1 0
+2978 117.3552491 39.0662088 0 0 202.618 0 0 1 0
+2979 117.3552487 39.0662080 0 0 202.618 0 0 1 0
+2980 117.3552482 39.0662072 0 0 202.618 0 0 1 0
+2981 117.3552478 39.0662063 0 0 202.618 0 0 1 0
+2982 117.3552473 39.0662055 0 0 202.618 0 0 1 0
+2983 117.3552469 39.0662047 0 0 202.618 0 0 1 0
+2984 117.3552464 39.0662039 0 0 202.618 0 0 1 0
+2985 117.3552460 39.0662030 0 0 202.618 0 0 1 0
+2986 117.3552455 39.0662022 0 0 202.618 0 0 1 0
+2987 117.3552451 39.0662014 0 0 202.618 0 0 1 0
+2988 117.3552446 39.0662005 0 0 202.618 0 0 1 0
+2989 117.3552442 39.0661997 0 0 202.618 0 0 1 0
+2990 117.3552438 39.0661989 0 0 202.618 0 0 1 0
+2991 117.3552433 39.0661980 0 0 202.618 0 0 1 0
+2992 117.3552429 39.0661972 0 0 202.618 0 0 1 0
+2993 117.3552424 39.0661964 0 0 202.618 0 0 1 0
+2994 117.3552420 39.0661955 0 0 202.618 0 0 1 0
+2995 117.3552415 39.0661947 0 0 202.618 0 0 1 0
+2996 117.3552411 39.0661939 0 0 202.618 0 0 1 0
+2997 117.3552406 39.0661931 0 0 202.618 0 0 1 0
+2998 117.3552402 39.0661922 0 0 202.618 0 0 1 0
+2999 117.3552397 39.0661914 0 0 202.618 0 0 1 0
+3000 117.3552393 39.0661906 0 0 202.618 0 0 1 0
+3001 117.3552388 39.0661897 0 0 202.618 0 0 1 0
+3002 117.3552384 39.0661889 0 0 202.618 0 0 1 0
+3003 117.3552379 39.0661881 0 0 202.618 0 0 1 0
+3004 117.3552375 39.0661872 0 0 202.618 0 0 1 0
+3005 117.3552370 39.0661864 0 0 202.618 0 0 1 0
+3006 117.3552366 39.0661856 0 0 202.618 0 0 1 0
+3007 117.3552361 39.0661848 0 0 202.618 0 0 1 0
+3008 117.3552357 39.0661839 0 0 202.618 0 0 1 0
+3009 117.3552352 39.0661831 0 0 202.618 0 0 1 0
+3010 117.3552348 39.0661823 0 0 202.618 0 0 1 0
+3011 117.3552343 39.0661814 0 0 202.618 0 0 1 0
+3012 117.3552339 39.0661806 0 0 202.618 0 0 1 0
+3013 117.3552334 39.0661798 0 0 202.618 0 0 1 0
+3014 117.3552330 39.0661789 0 0 202.618 0 0 1 0
+3015 117.3552325 39.0661781 0 0 202.618 0 0 1 0
+3016 117.3552321 39.0661773 0 0 202.618 0 0 1 0
+3017 117.3552316 39.0661765 0 0 202.618 0 0 1 0
+3018 117.3552312 39.0661756 0 0 202.618 0 0 1 0
+3019 117.3552308 39.0661748 0 0 202.618 0 0 1 0
+3020 117.3552303 39.0661740 0 0 202.618 0 0 1 0
+3021 117.3552299 39.0661731 0 0 202.618 0 0 1 0
+3022 117.3552294 39.0661723 0 0 202.618 0 0 1 0
+3023 117.3552290 39.0661715 0 0 202.618 0 0 1 0
+3024 117.3552285 39.0661706 0 0 202.618 0 0 1 0
+3025 117.3552281 39.0661698 0 0 202.618 0 0 1 0
+3026 117.3552276 39.0661690 0 0 202.618 0 0 1 0
+3027 117.3552272 39.0661682 0 0 202.618 0 0 1 0
+3028 117.3552267 39.0661673 0 0 202.618 0 0 1 0
+3029 117.3552263 39.0661665 0 0 202.618 0 0 1 0
+3030 117.3552258 39.0661657 0 0 202.618 0 0 1 0
+3031 117.3552254 39.0661648 0 0 202.618 0 0 1 0
+3032 117.3552249 39.0661640 0 0 202.618 0 0 1 0
+3033 117.3552245 39.0661632 0 0 202.618 0 0 1 0
+3034 117.3552240 39.0661623 0 0 202.618 0 0 1 0
+3035 117.3552236 39.0661615 0 0 202.618 0 0 1 0
+3036 117.3552231 39.0661607 0 0 202.618 0 0 1 0
+3037 117.3552227 39.0661599 0 0 202.618 0 0 1 0
+3038 117.3552222 39.0661590 0 0 202.618 0 0 1 0
+3039 117.3552218 39.0661582 0 0 202.618 0 0 1 0
+3040 117.3552213 39.0661574 0 0 202.618 0 0 1 0
+3041 117.3552209 39.0661565 0 0 202.618 0 0 1 0
+3042 117.3552204 39.0661557 0 0 202.618 0 0 1 0
+3043 117.3552200 39.0661549 0 0 202.618 0 0 1 0
+3044 117.3552195 39.0661540 0 0 202.618 0 0 1 0
+3045 117.3552191 39.0661532 0 0 202.618 0 0 1 0
+3046 117.3552186 39.0661524 0 0 202.618 0 0 1 0
+3047 117.3552182 39.0661515 0 0 202.618 0 0 1 0
+3048 117.3552178 39.0661507 0 0 202.618 0 0 1 0
+3049 117.3552173 39.0661499 0 0 202.618 0 0 1 0
+3050 117.3552169 39.0661491 0 0 202.618 0 0 1 0
+3051 117.3552164 39.0661482 0 0 202.618 0 0 1 0
+3052 117.3552160 39.0661474 0 0 202.618 0 0 1 0
+3053 117.3552155 39.0661466 0 0 202.618 0 0 1 0
+3054 117.3552151 39.0661457 0 0 202.618 0 0 1 0
+3055 117.3552146 39.0661449 0 0 202.618 0 0 1 0
+3056 117.3552142 39.0661441 0 0 202.618 0 0 1 0
+3057 117.3552137 39.0661432 0 0 202.618 0 0 1 0
+3058 117.3552133 39.0661424 0 0 202.618 0 0 1 0
+3059 117.3552128 39.0661416 0 0 202.618 0 0 1 0
+3060 117.3552124 39.0661408 0 0 202.618 0 0 1 0
+3061 117.3552119 39.0661399 0 0 202.618 0 0 1 0
+3062 117.3552115 39.0661391 0 0 202.618 0 0 1 0
+3063 117.3552110 39.0661383 0 0 202.618 0 0 1 0
+3064 117.3552106 39.0661374 0 0 202.618 0 0 1 0
+3065 117.3552101 39.0661366 0 0 202.618 0 0 1 0
+3066 117.3552097 39.0661358 0 0 202.618 0 0 1 0
+3067 117.3552092 39.0661349 0 0 202.618 0 0 1 0
+3068 117.3552088 39.0661341 0 0 202.618 0 0 1 0
+3069 117.3552083 39.0661333 0 0 202.618 0 0 1 0
+3070 117.3552079 39.0661325 0 0 202.618 0 0 1 0
+3071 117.3552074 39.0661316 0 0 202.618 0 0 1 0
+3072 117.3552070 39.0661308 0 0 202.618 0 0 1 0
+3073 117.3552065 39.0661300 0 0 202.618 0 0 1 0
+3074 117.3552061 39.0661291 0 0 202.618 0 0 1 0
+3075 117.3552056 39.0661283 0 0 202.618 0 0 1 0
+3076 117.3552052 39.0661275 0 0 202.618 0 0 1 0
+3077 117.3552048 39.0661266 0 0 202.618 0 0 1 0
+3078 117.3552043 39.0661258 0 0 202.618 0 0 1 0
+3079 117.3552039 39.0661250 0 0 202.618 0 0 1 0
+3080 117.3552034 39.0661242 0 0 202.618 0 0 1 0
+3081 117.3552030 39.0661233 0 0 202.618 0 0 1 0
+3082 117.3552025 39.0661225 0 0 202.618 0 0 1 0
+3083 117.3552021 39.0661217 0 0 202.618 0 0 1 0
+3084 117.3552016 39.0661208 0 0 202.618 0 0 1 0
+3085 117.3552012 39.0661200 0 0 202.618 0 0 1 0
+3086 117.3552007 39.0661192 0 0 202.618 0 0 1 0
+3087 117.3552003 39.0661183 0 0 202.618 0 0 1 0
+3088 117.3551998 39.0661175 0 0 202.618 0 0 1 0
+3089 117.3551994 39.0661167 0 0 202.618 0 0 1 0
+3090 117.3551989 39.0661159 0 0 202.618 0 0 1 0
+3091 117.3551985 39.0661150 0 0 202.618 0 0 1 0
+3092 117.3551980 39.0661142 0 0 202.618 0 0 1 0
+3093 117.3551976 39.0661134 0 0 202.618 0 0 1 0
+3094 117.3551971 39.0661125 0 0 202.618 0 0 1 0
+3095 117.3551967 39.0661117 0 0 202.618 0 0 1 0
+3096 117.3551962 39.0661109 0 0 202.618 0 0 1 0
+3097 117.3551958 39.0661100 0 0 202.618 0 0 1 0
+3098 117.3551953 39.0661092 0 0 202.618 0 0 1 0
+3099 117.3551949 39.0661084 0 0 202.618 0 0 1 0
+3100 117.3551944 39.0661075 0 0 202.618 0 0 1 0
+3101 117.3551940 39.0661067 0 0 202.618 0 0 1 0
+3102 117.3551935 39.0661059 0 0 202.618 0 0 1 0
+3103 117.3551931 39.0661051 0 0 202.618 0 0 1 0
+3104 117.3551926 39.0661042 0 0 202.618 0 0 1 0
+3105 117.3551922 39.0661034 0 0 202.618 0 0 1 0
+3106 117.3551918 39.0661026 0 0 202.618 0 0 1 0
+3107 117.3551913 39.0661017 0 0 202.618 0 0 1 0
+3108 117.3551909 39.0661009 0 0 202.618 0 0 1 0
+3109 117.3551904 39.0661001 0 0 202.618 0 0 1 0
+3110 117.3551900 39.0660992 0 0 202.618 0 0 1 0
+3111 117.3551895 39.0660984 0 0 202.618 0 0 1 0
+3112 117.3551891 39.0660976 0 0 202.618 0 0 1 0
+3113 117.3551886 39.0660968 0 0 202.618 0 0 1 0
+3114 117.3551882 39.0660959 0 0 202.618 0 0 1 0
+3115 117.3551877 39.0660951 0 0 202.618 0 0 1 0
+3116 117.3551873 39.0660943 0 0 202.618 0 0 1 0
+3117 117.3551868 39.0660934 0 0 202.618 0 0 1 0
+3118 117.3551864 39.0660926 0 0 202.618 0 0 1 0
+3119 117.3551859 39.0660918 0 0 202.618 0 0 1 0
+3120 117.3551855 39.0660909 0 0 202.618 0 0 1 0
+3121 117.3551850 39.0660901 0 0 202.618 0 0 1 0
+3122 117.3551846 39.0660893 0 0 202.618 0 0 1 0
+3123 117.3551841 39.0660885 0 0 202.618 0 0 1 0
+3124 117.3551837 39.0660876 0 0 202.618 0 0 1 0
+3125 117.3551832 39.0660868 0 0 202.618 0 0 1 0
+3126 117.3551828 39.0660860 0 0 202.618 0 0 1 0
+3127 117.3551823 39.0660851 0 0 202.618 0 0 1 0
+3128 117.3551819 39.0660843 0 0 202.618 0 0 1 0
+3129 117.3551814 39.0660835 0 0 202.618 0 0 1 0
+3130 117.3551810 39.0660826 0 0 202.618 0 0 1 0
+3131 117.3551805 39.0660818 0 0 202.618 0 0 1 0
+3132 117.3551801 39.0660810 0 0 202.618 0 0 1 0
+3133 117.3551796 39.0660802 0 0 202.618 0 0 1 0
+3134 117.3551792 39.0660793 0 0 202.618 0 0 1 0
+3135 117.3551788 39.0660785 0 0 202.618 0 0 1 0
+3136 117.3551783 39.0660777 0 0 202.618 0 0 1 0
+3137 117.3551779 39.0660768 0 0 202.618 0 0 1 0
+3138 117.3551774 39.0660760 0 0 202.618 0 0 1 0
+3139 117.3551770 39.0660752 0 0 202.618 0 0 1 0
+3140 117.3551765 39.0660743 0 0 202.618 0 0 1 0
+3141 117.3551761 39.0660735 0 0 202.618 0 0 1 0
+3142 117.3551756 39.0660727 0 0 202.618 0 0 1 0
+3143 117.3551752 39.0660719 0 0 202.618 0 0 1 0
+3144 117.3551747 39.0660710 0 0 202.618 0 0 1 0
+3145 117.3551743 39.0660702 0 0 202.618 0 0 1 0
+3146 117.3551738 39.0660694 0 0 202.618 0 0 1 0
+3147 117.3551734 39.0660685 0 0 202.618 0 0 1 0
+3148 117.3551729 39.0660677 0 0 202.618 0 0 1 0
+3149 117.3551725 39.0660669 0 0 202.618 0 0 1 0
+3150 117.3551720 39.0660660 0 0 202.618 0 0 1 0
+3151 117.3551716 39.0660652 0 0 202.618 0 0 1 0
+3152 117.3551711 39.0660644 0 0 202.618 0 0 1 0
+3153 117.3551707 39.0660636 0 0 202.618 0 0 1 0
+3154 117.3551702 39.0660627 0 0 202.618 0 0 1 0
+3155 117.3551698 39.0660619 0 0 202.618 0 0 1 0
+3156 117.3551693 39.0660611 0 0 202.618 0 0 1 0
+3157 117.3551689 39.0660602 0 0 202.618 0 0 1 0
+3158 117.3551684 39.0660594 0 0 202.618 0 0 1 0
+3159 117.3551680 39.0660586 0 0 202.618 0 0 1 0
+3160 117.3551675 39.0660577 0 0 202.618 0 0 1 0
+3161 117.3551671 39.0660569 0 0 202.618 0 0 1 0
+3162 117.3551666 39.0660561 0 0 202.618 0 0 1 0
+3163 117.3551662 39.0660552 0 0 202.618 0 0 1 0
+3164 117.3551658 39.0660544 0 0 202.618 0 0 1 0
+3165 117.3551653 39.0660536 0 0 202.618 0 0 1 0
+3166 117.3551649 39.0660528 0 0 202.618 0 0 1 0
+3167 117.3551644 39.0660519 0 0 202.618 0 0 1 0
+3168 117.3551640 39.0660511 0 0 202.618 0 0 1 0
+3169 117.3551635 39.0660503 0 0 202.618 0 0 1 0
+3170 117.3551631 39.0660494 0 0 202.618 0 0 1 0
+3171 117.3551626 39.0660486 0 0 202.618 0 0 1 0
+3172 117.3551622 39.0660478 0 0 202.618 0 0 1 0
+3173 117.3551617 39.0660469 0 0 202.618 0 0 1 0
+3174 117.3551613 39.0660461 0 0 202.618 0 0 1 0
+3175 117.3551608 39.0660453 0 0 202.618 0 0 1 0
+3176 117.3551604 39.0660445 0 0 202.618 0 0 1 0
+3177 117.3551599 39.0660436 0 0 202.618 0 0 1 0
+3178 117.3551595 39.0660428 0 0 202.618 0 0 1 0
+3179 117.3551590 39.0660420 0 0 202.618 0 0 1 0
+3180 117.3551586 39.0660411 0 0 202.618 0 0 1 0
+3181 117.3551581 39.0660403 0 0 202.618 0 0 1 0
+3182 117.3551577 39.0660395 0 0 202.618 0 0 1 0
+3183 117.3551572 39.0660386 0 0 202.618 0 0 1 0
+3184 117.3551568 39.0660378 0 0 202.618 0 0 1 0
+3185 117.3551563 39.0660370 0 0 202.618 0 0 1 0
+3186 117.3551559 39.0660362 0 0 202.618 0 0 1 0
+3187 117.3551554 39.0660353 0 0 202.618 0 0 1 0
+3188 117.3551550 39.0660345 0 0 202.618 0 0 1 0
+3189 117.3551545 39.0660337 0 0 202.618 0 0 1 0
+3190 117.3551541 39.0660328 0 0 202.618 0 0 1 0
+3191 117.3551536 39.0660320 0 0 202.618 0 0 1 0
+3192 117.3551532 39.0660312 0 0 202.618 0 0 1 0
+3193 117.3551528 39.0660303 0 0 202.618 0 0 1 0
+3194 117.3551523 39.0660295 0 0 202.618 0 0 1 0
+3195 117.3551519 39.0660287 0 0 202.618 0 0 1 0
+3196 117.3551514 39.0660279 0 0 202.618 0 0 1 0
+3197 117.3551510 39.0660270 0 0 202.618 0 0 1 0
+3198 117.3551505 39.0660262 0 0 202.618 0 0 1 0
+3199 117.3551501 39.0660254 0 0 202.618 0 0 1 0
+3200 117.3551496 39.0660245 0 0 202.618 0 0 1 0
+3201 117.3551492 39.0660237 0 0 202.618 0 0 1 0
+3202 117.3551487 39.0660229 0 0 202.618 0 0 1 0
+3203 117.3551483 39.0660220 0 0 202.618 0 0 1 0
+3204 117.3551478 39.0660212 0 0 202.618 0 0 1 0
+3205 117.3551474 39.0660204 0 0 202.618 0 0 1 0
+3206 117.3551469 39.0660196 0 0 202.618 0 0 1 0
+3207 117.3551465 39.0660187 0 0 202.618 0 0 1 0
+3208 117.3551460 39.0660179 0 0 202.618 0 0 1 0
+3209 117.3551456 39.0660171 0 0 202.618 0 0 1 0
+3210 117.3551451 39.0660162 0 0 202.618 0 0 1 0
+3211 117.3551447 39.0660154 0 0 202.618 0 0 1 0
+3212 117.3551442 39.0660146 0 0 202.618 0 0 1 0
+3213 117.3551438 39.0660137 0 0 202.618 0 0 1 0
+3214 117.3551433 39.0660129 0 0 202.618 0 0 1 0
+3215 117.3551429 39.0660121 0 0 202.618 0 0 1 0
+3216 117.3551424 39.0660112 0 0 202.618 0 0 1 0
+3217 117.3551420 39.0660104 0 0 202.618 0 0 1 0
+3218 117.3551415 39.0660096 0 0 202.618 0 0 1 0
+3219 117.3551411 39.0660088 0 0 202.618 0 0 1 0
+3220 117.3551406 39.0660079 0 0 202.618 0 0 1 0
+3221 117.3551402 39.0660071 0 0 202.618 0 0 1 0
+3222 117.3551397 39.0660063 0 0 202.618 0 0 1 0
+3223 117.3551393 39.0660054 0 0 202.618 0 0 1 0
+3224 117.3551389 39.0660046 0 0 202.618 0 0 1 0
+3225 117.3551384 39.0660038 0 0 202.618 0 0 1 0
+3226 117.3551380 39.0660029 0 0 202.618 0 0 1 0
+3227 117.3551375 39.0660021 0 0 202.618 0 0 1 0
+3228 117.3551371 39.0660013 0 0 202.618 0 0 1 0
+3229 117.3551366 39.0660005 0 0 202.618 0 0 1 0
+3230 117.3551362 39.0659996 0 0 202.618 0 0 1 0
+3231 117.3551357 39.0659988 0 0 202.618 0 0 1 0
+3232 117.3551353 39.0659980 0 0 202.618 0 0 1 0
+3233 117.3551348 39.0659971 0 0 202.618 0 0 1 0
+3234 117.3551344 39.0659963 0 0 202.618 0 0 1 0
+3235 117.3551339 39.0659955 0 0 202.618 0 0 1 0
+3236 117.3551335 39.0659946 0 0 202.618 0 0 1 0
+3237 117.3551330 39.0659938 0 0 202.618 0 0 1 0
+3238 117.3551326 39.0659930 0 0 202.618 0 0 1 0
+3239 117.3551321 39.0659922 0 0 202.618 0 0 1 0
+3240 117.3551317 39.0659913 0 0 202.618 0 0 1 0
+3241 117.3551312 39.0659905 0 0 202.618 0 0 1 0
+3242 117.3551308 39.0659897 0 0 202.618 0 0 1 0
+3243 117.3551303 39.0659888 0 0 202.618 0 0 1 0
+3244 117.3551299 39.0659880 0 0 202.618 0 0 1 0
+3245 117.3551294 39.0659872 0 0 202.618 0 0 1 0
+3246 117.3551290 39.0659863 0 0 202.618 0 0 1 0
+3247 117.3551285 39.0659855 0 0 202.618 0 0 1 0
+3248 117.3551281 39.0659847 0 0 202.618 0 0 1 0
+3249 117.3551276 39.0659839 0 0 202.618 0 0 1 0
+3250 117.3551272 39.0659830 0 0 202.618 0 0 1 0
+3251 117.3551267 39.0659822 0 0 202.618 0 0 1 0
+3252 117.3551263 39.0659814 0 0 202.618 0 0 1 0
+3253 117.3551259 39.0659805 0 0 202.618 0 0 1 0
+3254 117.3551254 39.0659797 0 0 202.618 0 0 1 0
+3255 117.3551250 39.0659789 0 0 202.618 0 0 1 0
+3256 117.3551245 39.0659780 0 0 202.618 0 0 1 0
+3257 117.3551241 39.0659772 0 0 202.618 0 0 1 0
+3258 117.3551236 39.0659764 0 0 202.618 0 0 1 0
+3259 117.3551232 39.0659756 0 0 202.618 0 0 1 0
+3260 117.3551227 39.0659747 0 0 202.618 0 0 1 0
+3261 117.3551223 39.0659739 0 0 202.618 0 0 1 0
+3262 117.3551218 39.0659731 0 0 202.618 0 0 1 0
+3263 117.3551214 39.0659722 0 0 202.618 0 0 1 0
+3264 117.3551209 39.0659714 0 0 202.618 0 0 1 0
+3265 117.3551205 39.0659706 0 0 202.618 0 0 1 0
+3266 117.3551200 39.0659697 0 0 202.618 0 0 1 0
+3267 117.3551196 39.0659689 0 0 202.618 0 0 1 0
+3268 117.3551191 39.0659681 0 0 202.618 0 0 1 0
+3269 117.3551187 39.0659673 0 0 202.618 0 0 1 0
+3270 117.3551182 39.0659664 0 0 202.618 0 0 1 0
+3271 117.3551178 39.0659656 0 0 202.618 0 0 1 0
+3272 117.3551173 39.0659648 0 0 202.618 0 0 1 0
+3273 117.3551169 39.0659639 0 0 202.618 0 0 1 0
+3274 117.3551164 39.0659631 0 0 202.618 0 0 1 0
+3275 117.3551160 39.0659623 0 0 202.618 0 0 1 0
+3276 117.3551155 39.0659614 0 0 202.618 0 0 1 0
+3277 117.3551151 39.0659606 0 0 202.618 0 0 1 0
+3278 117.3551146 39.0659598 0 0 202.618 0 0 1 0
+3279 117.3551142 39.0659590 0 0 202.618 0 0 1 0
+3280 117.3551137 39.0659581 0 0 202.618 0 0 1 0
+3281 117.3551133 39.0659573 0 0 202.618 0 0 1 0
+3282 117.3551128 39.0659565 0 0 202.618 0 0 1 0
+3283 117.3551124 39.0659556 0 0 202.618 0 0 1 0
+3284 117.3551119 39.0659548 0 0 202.618 0 0 1 0
+3285 117.3551115 39.0659540 0 0 202.618 0 0 1 0
+3286 117.3551111 39.0659531 0 0 202.618 0 0 1 0
+3287 117.3551106 39.0659523 0 0 202.618 0 0 1 0
+3288 117.3551102 39.0659515 0 0 202.618 0 0 1 0
+3289 117.3551096 39.0659504 0 0 203.061 0 0 1 0
+3290 117.3551091 39.0659496 0 0 203.061 0 0 1 0
+3291 117.3551087 39.0659488 0 0 203.061 0 0 1 0
+3292 117.3551082 39.0659479 0 0 203.061 0 0 1 0
+3293 117.3551077 39.0659471 0 0 203.061 0 0 1 0
+3294 117.3551073 39.0659463 0 0 203.061 0 0 1 0
+3295 117.3551068 39.0659455 0 0 203.061 0 0 1 0
+3296 117.3551064 39.0659446 0 0 203.061 0 0 1 0
+3297 117.3551059 39.0659438 0 0 203.061 0 0 1 0
+3298 117.3551055 39.0659430 0 0 203.061 0 0 1 0
+3299 117.3551050 39.0659422 0 0 203.061 0 0 1 0
+3300 117.3551046 39.0659413 0 0 203.061 0 0 1 0
+3301 117.3551041 39.0659405 0 0 203.061 0 0 1 0
+3302 117.3551036 39.0659397 0 0 203.061 0 0 1 0
+3303 117.3551032 39.0659388 0 0 203.061 0 0 1 0
+3304 117.3551027 39.0659380 0 0 203.061 0 0 1 0
+3305 117.3551023 39.0659372 0 0 203.061 0 0 1 0
+3306 117.3551018 39.0659364 0 0 203.061 0 0 1 0
+3307 117.3551014 39.0659355 0 0 203.061 0 0 1 0
+3308 117.3551009 39.0659347 0 0 203.061 0 0 1 0
+3309 117.3551004 39.0659339 0 0 203.061 0 0 1 0
+3310 117.3551000 39.0659331 0 0 203.061 0 0 1 0
+3311 117.3550995 39.0659322 0 0 203.061 0 0 1 0
+3312 117.3550988 39.0659309 0 0 202.555 0 0 1 0
+3313 117.3550983 39.0659300 0 0 202.555 0 0 1 0
+3314 117.3550979 39.0659292 0 0 202.555 0 0 1 0
+3315 117.3550975 39.0659284 0 0 202.555 0 0 1 0
+3316 117.3550970 39.0659275 0 0 202.555 0 0 1 0
+3317 117.3550966 39.0659267 0 0 202.555 0 0 1 0
+3318 117.3550961 39.0659259 0 0 202.555 0 0 1 0
+3319 117.3550957 39.0659251 0 0 202.555 0 0 1 0
+3320 117.3550952 39.0659242 0 0 202.555 0 0 1 0
+3321 117.3550948 39.0659234 0 0 202.555 0 0 1 0
+3322 117.3550943 39.0659226 0 0 202.555 0 0 1 0
+3323 117.3550939 39.0659217 0 0 202.555 0 0 1 0
+3324 117.3550934 39.0659209 0 0 202.555 0 0 1 0
+3325 117.3550930 39.0659201 0 0 202.555 0 0 1 0
+3326 117.3550925 39.0659192 0 0 202.555 0 0 1 0
+3327 117.3550921 39.0659184 0 0 202.555 0 0 1 0
+3328 117.3550916 39.0659176 0 0 202.555 0 0 1 0
+3329 117.3550912 39.0659167 0 0 202.555 0 0 1 0
+3330 117.3550907 39.0659159 0 0 202.555 0 0 1 0
+3331 117.3550903 39.0659151 0 0 202.555 0 0 1 0
+3332 117.3550898 39.0659143 0 0 202.555 0 0 1 0
+3333 117.3550894 39.0659134 0 0 202.555 0 0 1 0
+3334 117.3550890 39.0659126 0 0 202.555 0 0 1 0
+3335 117.3550885 39.0659118 0 0 202.555 0 0 1 0
+3336 117.3550881 39.0659109 0 0 202.555 0 0 1 0
+3337 117.3550876 39.0659101 0 0 202.555 0 0 1 0
+3338 117.3550872 39.0659093 0 0 202.555 0 0 1 0
+3339 117.3550867 39.0659084 0 0 202.555 0 0 1 0
+3340 117.3550863 39.0659076 0 0 202.555 0 0 1 0
+3341 117.3550858 39.0659068 0 0 202.555 0 0 1 0
+3342 117.3550854 39.0659060 0 0 202.555 0 0 1 0
+3343 117.3550849 39.0659051 0 0 202.555 0 0 1 0
+3344 117.3550845 39.0659043 0 0 202.555 0 0 1 0
+3345 117.3550840 39.0659035 0 0 202.555 0 0 1 0
+3346 117.3550836 39.0659026 0 0 202.555 0 0 1 0
+3347 117.3550831 39.0659018 0 0 202.555 0 0 1 0
+3348 117.3550827 39.0659010 0 0 202.555 0 0 1 0
+3349 117.3550822 39.0659001 0 0 202.555 0 0 1 0
+3350 117.3550818 39.0658993 0 0 202.555 0 0 1 0
+3351 117.3550813 39.0658985 0 0 202.555 0 0 1 0
+3352 117.3550809 39.0658976 0 0 202.555 0 0 1 0
+3353 117.3550805 39.0658968 0 0 202.555 0 0 1 0
+3354 117.3550800 39.0658960 0 0 202.555 0 0 1 0
+3355 117.3550796 39.0658952 0 0 202.555 0 0 1 0
+3356 117.3550791 39.0658943 0 0 202.555 0 0 1 0
+3357 117.3550787 39.0658935 0 0 202.555 0 0 1 0
+3358 117.3550782 39.0658927 0 0 202.555 0 0 1 0
+3359 117.3550778 39.0658918 0 0 202.555 0 0 1 0
+3360 117.3550773 39.0658910 0 0 202.555 0 0 1 0
+3361 117.3550769 39.0658902 0 0 202.555 0 0 1 0
+3362 117.3550764 39.0658893 0 0 202.555 0 0 1 0
+3363 117.3550760 39.0658885 0 0 202.555 0 0 1 0
+3364 117.3550755 39.0658877 0 0 202.555 0 0 1 0
+3365 117.3550751 39.0658869 0 0 202.555 0 0 1 0
+3366 117.3550746 39.0658860 0 0 202.555 0 0 1 0
+3367 117.3550742 39.0658852 0 0 202.555 0 0 1 0
+3368 117.3550737 39.0658844 0 0 202.555 0 0 1 0
+3369 117.3550733 39.0658835 0 0 202.555 0 0 1 0
+3370 117.3550728 39.0658827 0 0 202.555 0 0 1 0
+3371 117.3550724 39.0658819 0 0 202.555 0 0 1 0
+3372 117.3550720 39.0658810 0 0 202.555 0 0 1 0
+3373 117.3550715 39.0658802 0 0 202.555 0 0 1 0
+3374 117.3550711 39.0658794 0 0 202.555 0 0 1 0
+3375 117.3550706 39.0658785 0 0 202.555 0 0 1 0
+3376 117.3550702 39.0658777 0 0 202.555 0 0 1 0
+3377 117.3550697 39.0658769 0 0 202.555 0 0 1 0
+3378 117.3550693 39.0658761 0 0 202.555 0 0 1 0
+3379 117.3550688 39.0658752 0 0 202.555 0 0 1 0
+3380 117.3550684 39.0658744 0 0 202.555 0 0 1 0
+3381 117.3550679 39.0658736 0 0 202.555 0 0 1 0
+3382 117.3550675 39.0658727 0 0 202.555 0 0 1 0
+3383 117.3550670 39.0658719 0 0 202.555 0 0 1 0
+3384 117.3550666 39.0658711 0 0 202.555 0 0 1 0
+3385 117.3550661 39.0658702 0 0 202.555 0 0 1 0
+3386 117.3550657 39.0658694 0 0 202.555 0 0 1 0
+3387 117.3550652 39.0658686 0 0 202.555 0 0 1 0
+3388 117.3550648 39.0658678 0 0 202.555 0 0 1 0
+3389 117.3550643 39.0658669 0 0 202.555 0 0 1 0
+3390 117.3550639 39.0658661 0 0 202.555 0 0 1 0
+3391 117.3550634 39.0658653 0 0 202.555 0 0 1 0
+3392 117.3550630 39.0658644 0 0 202.555 0 0 1 0
+3393 117.3550626 39.0658636 0 0 202.555 0 0 1 0
+3394 117.3550621 39.0658628 0 0 202.555 0 0 1 0
+3395 117.3550617 39.0658619 0 0 202.555 0 0 1 0
+3396 117.3550612 39.0658611 0 0 202.555 0 0 1 0
+3397 117.3550608 39.0658603 0 0 202.555 0 0 1 0
+3398 117.3550603 39.0658594 0 0 202.555 0 0 1 0
+3399 117.3550599 39.0658586 0 0 202.555 0 0 1 0
+3400 117.3550594 39.0658578 0 0 202.555 0 0 1 0
+3401 117.3550590 39.0658570 0 0 202.555 0 0 1 0
+3402 117.3550585 39.0658561 0 0 202.555 0 0 1 0
+3403 117.3550581 39.0658553 0 0 202.555 0 0 1 0
+3404 117.3550576 39.0658545 0 0 202.555 0 0 1 0
+3405 117.3550572 39.0658536 0 0 202.555 0 0 1 0
+3406 117.3550567 39.0658528 0 0 202.555 0 0 1 0
+3407 117.3550563 39.0658520 0 0 202.555 0 0 1 0
+3408 117.3550558 39.0658511 0 0 202.555 0 0 1 0
+3409 117.3550554 39.0658503 0 0 202.555 0 0 1 0
+3410 117.3550549 39.0658495 0 0 202.555 0 0 1 0
+3411 117.3550545 39.0658487 0 0 202.555 0 0 1 0
+3412 117.3550540 39.0658478 0 0 202.555 0 0 1 0
+3413 117.3550536 39.0658470 0 0 202.555 0 0 1 0
+3414 117.3550532 39.0658462 0 0 202.555 0 0 1 0
+3415 117.3550527 39.0658453 0 0 202.555 0 0 1 0
+3416 117.3550523 39.0658445 0 0 202.555 0 0 1 0
+3417 117.3550518 39.0658437 0 0 202.555 0 0 1 0
+3418 117.3550514 39.0658428 0 0 202.555 0 0 1 0
+3419 117.3550509 39.0658420 0 0 202.555 0 0 1 0
+3420 117.3550505 39.0658412 0 0 202.555 0 0 1 0
+3421 117.3550500 39.0658403 0 0 202.555 0 0 1 0
+3422 117.3550496 39.0658395 0 0 202.555 0 0 1 0
+3423 117.3550491 39.0658387 0 0 202.555 0 0 1 0
+3424 117.3550487 39.0658379 0 0 202.555 0 0 1 0
+3425 117.3550482 39.0658370 0 0 202.555 0 0 1 0
+3426 117.3550478 39.0658362 0 0 202.555 0 0 1 0
+3427 117.3550473 39.0658354 0 0 202.555 0 0 1 0
+3428 117.3550469 39.0658345 0 0 202.555 0 0 1 0
+3429 117.3550464 39.0658337 0 0 202.555 0 0 1 0
+3430 117.3550460 39.0658329 0 0 202.555 0 0 1 0
+3431 117.3550455 39.0658320 0 0 202.555 0 0 1 0
+3432 117.3550451 39.0658312 0 0 202.555 0 0 1 0
+3433 117.3550447 39.0658304 0 0 202.555 0 0 1 0
+3434 117.3550442 39.0658296 0 0 202.555 0 0 1 0
+3435 117.3550438 39.0658287 0 0 202.555 0 0 1 0
+3436 117.3550433 39.0658279 0 0 202.555 0 0 1 0
+3437 117.3550429 39.0658271 0 0 202.555 0 0 1 0
+3438 117.3550424 39.0658262 0 0 202.555 0 0 1 0
+3439 117.3550420 39.0658254 0 0 202.555 0 0 1 0
+3440 117.3550415 39.0658246 0 0 202.555 0 0 1 0
+3441 117.3550411 39.0658237 0 0 202.555 0 0 1 0
+3442 117.3550406 39.0658229 0 0 202.555 0 0 1 0
+3443 117.3550402 39.0658221 0 0 202.555 0 0 1 0
+3444 117.3550397 39.0658212 0 0 202.555 0 0 1 0
+3445 117.3550393 39.0658204 0 0 202.555 0 0 1 0
+3446 117.3550388 39.0658196 0 0 202.555 0 0 1 0
+3447 117.3550384 39.0658188 0 0 202.555 0 0 1 0
+3448 117.3550379 39.0658179 0 0 202.555 0 0 1 0
+3449 117.3550375 39.0658171 0 0 202.555 0 0 1 0
+3450 117.3550370 39.0658163 0 0 202.555 0 0 1 0
+3451 117.3550366 39.0658154 0 0 202.555 0 0 1 0
+3452 117.3550361 39.0658146 0 0 202.555 0 0 1 0
+3453 117.3550357 39.0658138 0 0 202.555 0 0 1 0
+3454 117.3550352 39.0658129 0 0 202.555 0 0 1 0
+3455 117.3550348 39.0658121 0 0 202.555 0 0 1 0
+3456 117.3550344 39.0658113 0 0 202.555 0 0 1 0
+3457 117.3550339 39.0658105 0 0 202.555 0 0 1 0
+3458 117.3550335 39.0658096 0 0 202.555 0 0 1 0
+3459 117.3550330 39.0658088 0 0 202.555 0 0 1 0
+3460 117.3550326 39.0658080 0 0 202.555 0 0 1 0
+3461 117.3550321 39.0658071 0 0 202.555 0 0 1 0
+3462 117.3550317 39.0658063 0 0 202.555 0 0 1 0
+3463 117.3550312 39.0658055 0 0 202.555 0 0 1 0
+3464 117.3550308 39.0658046 0 0 202.555 0 0 1 0
+3465 117.3550303 39.0658038 0 0 202.555 0 0 1 0
+3466 117.3550299 39.0658030 0 0 202.555 0 0 1 0
+3467 117.3550294 39.0658022 0 0 202.555 0 0 1 0
+3468 117.3550290 39.0658013 0 0 202.555 0 0 1 0
+3469 117.3550285 39.0658005 0 0 202.555 0 0 1 0
+3470 117.3550281 39.0657997 0 0 202.555 0 0 1 0
+3471 117.3550276 39.0657988 0 0 202.555 0 0 1 0
+3472 117.3550272 39.0657980 0 0 202.555 0 0 1 0
+3473 117.3550267 39.0657972 0 0 202.555 0 0 1 0
+3474 117.3550263 39.0657963 0 0 202.555 0 0 1 0
+3475 117.3550258 39.0657955 0 0 202.555 0 0 1 0
+3476 117.3550254 39.0657947 0 0 202.555 0 0 1 0
+3477 117.3550250 39.0657938 0 0 202.555 0 0 1 0
+3478 117.3550245 39.0657930 0 0 202.555 0 0 1 0
+3479 117.3550241 39.0657922 0 0 202.555 0 0 1 0
+3480 117.3550236 39.0657914 0 0 202.555 0 0 1 0
+3481 117.3550232 39.0657905 0 0 202.555 0 0 1 0
+3482 117.3550227 39.0657897 0 0 202.555 0 0 1 0
+3483 117.3550223 39.0657889 0 0 202.555 0 0 1 0
+3484 117.3550218 39.0657880 0 0 202.555 0 0 1 0
+3485 117.3550214 39.0657872 0 0 202.555 0 0 1 0
+3486 117.3550209 39.0657864 0 0 202.555 0 0 1 0
+3487 117.3550205 39.0657855 0 0 202.555 0 0 1 0
+3488 117.3550200 39.0657847 0 0 202.555 0 0 1 0
+3489 117.3550196 39.0657839 0 0 202.555 0 0 1 0
+3490 117.3550191 39.0657831 0 0 202.555 0 0 1 0
+3491 117.3550187 39.0657822 0 0 202.555 0 0 1 0
+3492 117.3550182 39.0657814 0 0 202.555 0 0 1 0
+3493 117.3550178 39.0657806 0 0 202.555 0 0 1 0
+3494 117.3550173 39.0657797 0 0 202.555 0 0 1 0
+3495 117.3550169 39.0657789 0 0 202.555 0 0 1 0
+3496 117.3550164 39.0657781 0 0 202.555 0 0 1 0
+3497 117.3550160 39.0657772 0 0 202.555 0 0 1 0
+3498 117.3550155 39.0657764 0 0 202.555 0 0 1 0
+3499 117.3550151 39.0657756 0 0 202.555 0 0 1 0
+3500 117.3550147 39.0657747 0 0 202.555 0 0 1 0
+3501 117.3550142 39.0657739 0 0 202.555 0 0 1 0
+3502 117.3550138 39.0657731 0 0 202.555 0 0 1 0
+3503 117.3550133 39.0657723 0 0 202.555 0 0 1 0
+3504 117.3550129 39.0657714 0 0 202.555 0 0 1 0
+3505 117.3550124 39.0657706 0 0 202.555 0 0 1 0
+3506 117.3550120 39.0657698 0 0 202.555 0 0 1 0
+3507 117.3550115 39.0657689 0 0 202.555 0 0 1 0
+3508 117.3550111 39.0657681 0 0 202.555 0 0 1 0
+3509 117.3550106 39.0657673 0 0 202.555 0 0 1 0
+3510 117.3550102 39.0657664 0 0 202.555 0 0 1 0
+3511 117.3550097 39.0657656 0 0 202.555 0 0 1 0
+3512 117.3550093 39.0657648 0 0 202.555 0 0 1 0
+3513 117.3550088 39.0657640 0 0 202.555 0 0 1 0
+3514 117.3550084 39.0657631 0 0 202.555 0 0 1 0
+3515 117.3550079 39.0657623 0 0 202.555 0 0 1 0
+3516 117.3550075 39.0657615 0 0 202.555 0 0 1 0
+3517 117.3550070 39.0657606 0 0 202.555 0 0 1 0
+3518 117.3550066 39.0657598 0 0 202.555 0 0 1 0
+3519 117.3550061 39.0657590 0 0 202.555 0 0 1 0
+3520 117.3550057 39.0657581 0 0 202.555 0 0 1 0
+3521 117.3550052 39.0657573 0 0 202.555 0 0 1 0
+3522 117.3550048 39.0657565 0 0 202.555 0 0 1 0
+3523 117.3550043 39.0657557 0 0 202.555 0 0 1 0
+3524 117.3550039 39.0657548 0 0 202.555 0 0 1 0
+3525 117.3550035 39.0657540 0 0 202.555 0 0 1 0
+3526 117.3550030 39.0657532 0 0 202.555 0 0 1 0
+3527 117.3550026 39.0657523 0 0 202.555 0 0 1 0
+3528 117.3550021 39.0657515 0 0 202.555 0 0 1 0
+3529 117.3550017 39.0657507 0 0 202.555 0 0 1 0
+3530 117.3550012 39.0657498 0 0 202.555 0 0 1 0
+3531 117.3550008 39.0657490 0 0 202.555 0 0 1 0
+3532 117.3550003 39.0657482 0 0 202.555 0 0 1 0
+3533 117.3549999 39.0657473 0 0 202.555 0 0 1 0
+3534 117.3549994 39.0657465 0 0 202.555 0 0 1 0
+3535 117.3549990 39.0657457 0 0 202.555 0 0 1 0
+3536 117.3549985 39.0657449 0 0 202.555 0 0 1 0
+3537 117.3549981 39.0657440 0 0 202.555 0 0 1 0
+3538 117.3549976 39.0657432 0 0 202.555 0 0 1 0
+3539 117.3549972 39.0657424 0 0 202.555 0 0 1 0
+3540 117.3549967 39.0657415 0 0 202.555 0 0 1 0
+3541 117.3549963 39.0657407 0 0 202.555 0 0 1 0
+3542 117.3549958 39.0657399 0 0 202.555 0 0 1 0
+3543 117.3549954 39.0657390 0 0 202.555 0 0 1 0
+3544 117.3549949 39.0657382 0 0 202.555 0 0 1 0
+3545 117.3549945 39.0657374 0 0 202.555 0 0 1 0
+3546 117.3549940 39.0657366 0 0 202.555 0 0 1 0
+3547 117.3549936 39.0657357 0 0 202.555 0 0 1 0
+3548 117.3549931 39.0657349 0 0 202.555 0 0 1 0
+3549 117.3549927 39.0657341 0 0 202.555 0 0 1 0
+3550 117.3549923 39.0657332 0 0 202.555 0 0 1 0
+3551 117.3549918 39.0657324 0 0 202.555 0 0 1 0
+3552 117.3549914 39.0657316 0 0 202.555 0 0 1 0
+3553 117.3549909 39.0657307 0 0 202.555 0 0 1 0
+3554 117.3549905 39.0657299 0 0 202.555 0 0 1 0
+3555 117.3549900 39.0657291 0 0 202.555 0 0 1 0
+3556 117.3549896 39.0657283 0 0 202.555 0 0 1 0
+3557 117.3549891 39.0657274 0 0 202.555 0 0 1 0
+3558 117.3549887 39.0657266 0 0 202.555 0 0 1 0
+3559 117.3549882 39.0657258 0 0 202.555 0 0 1 0
+3560 117.3549878 39.0657249 0 0 202.555 0 0 1 0
+3561 117.3549873 39.0657241 0 0 202.555 0 0 1 0
+3562 117.3549869 39.0657233 0 0 202.555 0 0 1 0
+3563 117.3549864 39.0657224 0 0 202.555 0 0 1 0
+3564 117.3549860 39.0657216 0 0 202.555 0 0 1 0
+3565 117.3549855 39.0657208 0 0 202.555 0 0 1 0
+3566 117.3549851 39.0657200 0 0 202.555 0 0 1 0
+3567 117.3549846 39.0657191 0 0 202.555 0 0 1 0
+3568 117.3549842 39.0657183 0 0 202.555 0 0 1 0
+3569 117.3549837 39.0657175 0 0 202.555 0 0 1 0
+3570 117.3549833 39.0657166 0 0 202.555 0 0 1 0
+3571 117.3549828 39.0657158 0 0 202.555 0 0 1 0
+3572 117.3549824 39.0657150 0 0 202.555 0 0 1 0
+3573 117.3549819 39.0657141 0 0 202.555 0 0 1 0
+3574 117.3549815 39.0657133 0 0 202.555 0 0 1 0
+3575 117.3549811 39.0657125 0 0 202.555 0 0 1 0
+3576 117.3549806 39.0657116 0 0 202.555 0 0 1 0
+3577 117.3549802 39.0657108 0 0 202.555 0 0 1 0
+3578 117.3549797 39.0657100 0 0 202.555 0 0 1 0
+3579 117.3549793 39.0657092 0 0 202.555 0 0 1 0
+3580 117.3549788 39.0657083 0 0 202.555 0 0 1 0
+3581 117.3549784 39.0657075 0 0 202.555 0 0 1 0
+3582 117.3549779 39.0657067 0 0 202.555 0 0 1 0
+3583 117.3549775 39.0657058 0 0 202.555 0 0 1 0
+3584 117.3549770 39.0657050 0 0 202.555 0 0 1 0
+3585 117.3549766 39.0657042 0 0 202.555 0 0 1 0
+3586 117.3549761 39.0657033 0 0 202.555 0 0 1 0
+3587 117.3549757 39.0657025 0 0 202.555 0 0 1 0
+3588 117.3549752 39.0657017 0 0 202.555 0 0 1 0
+3589 117.3549748 39.0657009 0 0 202.555 0 0 1 0
+3590 117.3549743 39.0657000 0 0 202.555 0 0 1 0
+3591 117.3549739 39.0656992 0 0 202.555 0 0 1 0
+3592 117.3549734 39.0656984 0 0 202.555 0 0 1 0
+3593 117.3549730 39.0656975 0 0 202.555 0 0 1 0
+3594 117.3549725 39.0656967 0 0 202.555 0 0 1 0
+3595 117.3549721 39.0656959 0 0 202.555 0 0 1 0
+3596 117.3549716 39.0656950 0 0 202.555 0 0 1 0
+3597 117.3549712 39.0656942 0 0 202.555 0 0 1 0
+3598 117.3549707 39.0656934 0 0 202.555 0 0 1 0
+3599 117.3549703 39.0656926 0 0 202.555 0 0 1 0
+3600 117.3549698 39.0656917 0 0 202.555 0 0 1 0
+3601 117.3549694 39.0656909 0 0 202.555 0 0 1 0
+3602 117.3549689 39.0656901 0 0 202.555 0 0 1 0
+3603 117.3549685 39.0656892 0 0 202.555 0 0 1 0
+3604 117.3549681 39.0656884 0 0 202.555 0 0 1 0
+3605 117.3549676 39.0656876 0 0 202.555 0 0 1 0
+3606 117.3549672 39.0656867 0 0 202.555 0 0 1 0
+3607 117.3549667 39.0656859 0 0 202.555 0 0 1 0
+3608 117.3549663 39.0656851 0 0 202.555 0 0 1 0
+3609 117.3549658 39.0656843 0 0 202.555 0 0 1 0
+3610 117.3549654 39.0656834 0 0 202.555 0 0 1 0
+3611 117.3549649 39.0656826 0 0 202.555 0 0 1 0
+3612 117.3549645 39.0656818 0 0 202.555 0 0 1 0
+3613 117.3549640 39.0656809 0 0 202.555 0 0 1 0
+3614 117.3549636 39.0656801 0 0 202.555 0 0 1 0
+3615 117.3549631 39.0656793 0 0 202.555 0 0 1 0
+3616 117.3549627 39.0656784 0 0 202.555 0 0 1 0
+3617 117.3549622 39.0656776 0 0 202.555 0 0 1 0
+3618 117.3549618 39.0656768 0 0 202.555 0 0 1 0
+3619 117.3549613 39.0656759 0 0 202.555 0 0 1 0
+3620 117.3549609 39.0656751 0 0 202.555 0 0 1 0
+3621 117.3549604 39.0656743 0 0 202.555 0 0 1 0
+3622 117.3549600 39.0656735 0 0 202.555 0 0 1 0
+3623 117.3549595 39.0656726 0 0 202.555 0 0 1 0
+3624 117.3549591 39.0656718 0 0 202.555 0 0 1 0
+3625 117.3549586 39.0656710 0 0 202.555 0 0 1 0
+3626 117.3549582 39.0656701 0 0 202.555 0 0 1 0
+3627 117.3549577 39.0656693 0 0 202.555 0 0 1 0
+3628 117.3549573 39.0656685 0 0 202.555 0 0 1 0
+3629 117.3549568 39.0656676 0 0 202.555 0 0 1 0
+3630 117.3549564 39.0656668 0 0 202.555 0 0 1 0
+3631 117.3549559 39.0656660 0 0 202.555 0 0 1 0
+3632 117.3549555 39.0656652 0 0 202.555 0 0 1 0
+3633 117.3549551 39.0656643 0 0 202.555 0 0 1 0
+3634 117.3549546 39.0656635 0 0 202.555 0 0 1 0
+3635 117.3549542 39.0656627 0 0 202.555 0 0 1 0
+3636 117.3549537 39.0656618 0 0 202.555 0 0 1 0
+3637 117.3549533 39.0656610 0 0 202.555 0 0 1 0
+3638 117.3549528 39.0656602 0 0 202.555 0 0 1 0
+3639 117.3549524 39.0656593 0 0 202.555 0 0 1 0
+3640 117.3549519 39.0656585 0 0 202.555 0 0 1 0
+3641 117.3549515 39.0656577 0 0 202.555 0 0 1 0
+3642 117.3549510 39.0656569 0 0 202.555 0 0 1 0
+3643 117.3549506 39.0656560 0 0 202.555 0 0 1 0
+3644 117.3549501 39.0656552 0 0 202.555 0 0 1 0
+3645 117.3549497 39.0656544 0 0 202.555 0 0 1 0
+3646 117.3549492 39.0656535 0 0 202.555 0 0 1 0
+3647 117.3549488 39.0656527 0 0 202.555 0 0 1 0
+3648 117.3549483 39.0656519 0 0 202.555 0 0 1 0
+3649 117.3549479 39.0656510 0 0 202.555 0 0 1 0
+3650 117.3549474 39.0656502 0 0 202.555 0 0 1 0
+3651 117.3549467 39.0656488 0 0 202.555 0 0 1 0
+3652 117.3549462 39.0656480 0 0 202.555 0 0 1 0
+3653 117.3549458 39.0656471 0 0 202.555 0 0 1 0
+3654 117.3549453 39.0656463 0 0 202.555 0 0 1 0
+3655 117.3549449 39.0656455 0 0 202.555 0 0 1 0
+3656 117.3549444 39.0656446 0 0 202.555 0 0 1 0
+3657 117.3549440 39.0656438 0 0 202.555 0 0 1 0
+3658 117.3549435 39.0656430 0 0 202.555 0 0 1 0
+3659 117.3549431 39.0656421 0 0 202.555 0 0 1 0
+3660 117.3549427 39.0656413 0 0 202.555 0 0 1 0
+3661 117.3549422 39.0656405 0 0 202.555 0 0 1 0
+3662 117.3549418 39.0656396 0 0 202.555 0 0 1 0
+3663 117.3549413 39.0656388 0 0 202.555 0 0 1 0
+3664 117.3549409 39.0656380 0 0 202.555 0 0 1 0
+3665 117.3549404 39.0656372 0 0 202.555 0 0 1 0
+3666 117.3549400 39.0656363 0 0 202.555 0 0 1 0
+3667 117.3549395 39.0656355 0 0 202.555 0 0 1 0
+3668 117.3549391 39.0656347 0 0 202.555 0 0 1 0
+3669 117.3549386 39.0656338 0 0 202.555 0 0 1 0
+3670 117.3549382 39.0656330 0 0 202.555 0 0 1 0
+3671 117.3549378 39.0656322 0 0 202.555 0 0 1 0
+3672 117.3549373 39.0656313 0 0 202.555 0 0 1 0
+3673 117.3549369 39.0656305 0 0 202.555 0 0 1 0
+3674 117.3549364 39.0656297 0 0 202.555 0 0 1 0
+3675 117.3549360 39.0656288 0 0 202.555 0 0 1 0
+3676 117.3549355 39.0656280 0 0 202.555 0 0 1 0
+3677 117.3549351 39.0656272 0 0 202.555 0 0 1 0
+3678 117.3549346 39.0656264 0 0 202.555 0 0 1 0
+3679 117.3549342 39.0656255 0 0 202.555 0 0 1 0
+3680 117.3549337 39.0656247 0 0 202.555 0 0 1 0
+3681 117.3549333 39.0656239 0 0 202.555 0 0 1 0
+3682 117.3549329 39.0656230 0 0 202.555 0 0 1 0
+3683 117.3549324 39.0656222 0 0 202.555 0 0 1 0
+3684 117.3549320 39.0656214 0 0 202.555 0 0 1 0
+3685 117.3549315 39.0656205 0 0 202.555 0 0 1 0
+3686 117.3549311 39.0656197 0 0 202.555 0 0 1 0
+3687 117.3549306 39.0656189 0 0 202.555 0 0 1 0
+3688 117.3549302 39.0656180 0 0 202.555 0 0 1 0
+3689 117.3549297 39.0656172 0 0 202.555 0 0 1 0
+3690 117.3549293 39.0656164 0 0 202.555 0 0 1 0
+3691 117.3549288 39.0656155 0 0 202.555 0 0 1 0
+3692 117.3549284 39.0656147 0 0 202.555 0 0 1 0
+3693 117.3549280 39.0656139 0 0 202.555 0 0 1 0
+3694 117.3549275 39.0656131 0 0 202.555 0 0 1 0
+3695 117.3549271 39.0656122 0 0 202.555 0 0 1 0
+3696 117.3549266 39.0656114 0 0 202.555 0 0 1 0
+3697 117.3549262 39.0656106 0 0 202.555 0 0 1 0
+3698 117.3549257 39.0656097 0 0 202.555 0 0 1 0
+3699 117.3549253 39.0656089 0 0 202.555 0 0 1 0
+3700 117.3549248 39.0656081 0 0 202.555 0 0 1 0
+3701 117.3549244 39.0656072 0 0 202.555 0 0 1 0
+3702 117.3549240 39.0656064 0 0 202.555 0 0 1 0
+3703 117.3549235 39.0656056 0 0 202.555 0 0 1 0
+3704 117.3549231 39.0656047 0 0 202.555 0 0 1 0
+3705 117.3549226 39.0656039 0 0 202.555 0 0 1 0
+3706 117.3549222 39.0656031 0 0 202.555 0 0 1 0
+3707 117.3549217 39.0656022 0 0 202.555 0 0 1 0
+3708 117.3549213 39.0656014 0 0 202.555 0 0 1 0
+3709 117.3549208 39.0656006 0 0 202.555 0 0 1 0
+3710 117.3549204 39.0655998 0 0 202.555 0 0 1 0
+3711 117.3549199 39.0655989 0 0 202.555 0 0 1 0
+3712 117.3549195 39.0655981 0 0 202.555 0 0 1 0
+3713 117.3549191 39.0655973 0 0 202.555 0 0 1 0
+3714 117.3549186 39.0655964 0 0 202.555 0 0 1 0
+3715 117.3549182 39.0655956 0 0 202.555 0 0 1 0
+3716 117.3549177 39.0655948 0 0 202.555 0 0 1 0
+3717 117.3549173 39.0655939 0 0 202.555 0 0 1 0
+3718 117.3549168 39.0655931 0 0 202.555 0 0 1 0
+3719 117.3549164 39.0655923 0 0 202.555 0 0 1 0
+3720 117.3549159 39.0655914 0 0 202.555 0 0 1 0
+3721 117.3549155 39.0655906 0 0 202.555 0 0 1 0
+3722 117.3549150 39.0655898 0 0 202.555 0 0 1 0
+3723 117.3549146 39.0655890 0 0 203.869 0 0 1 0
+3724 117.3549143 39.0655884 0 0 204.824 0 0 1 0
+3725 117.3549139 39.0655878 0 0 205.779 0 0 1 0
+3726 117.3549135 39.0655872 0 0 206.734 0 0 1 0
+3727 117.3549132 39.0655866 0 0 207.689 0 0 1 0
+3728 117.3549128 39.0655861 0 0 208.644 0 0 1 0
+3729 117.3549124 39.0655855 0 0 209.599 0 0 1 0
+3730 117.3549119 39.0655850 0 0 210.554 0 0 1 0
+3731 117.3549115 39.0655844 0 0 211.509 0 0 1 0
+3732 117.3549111 39.0655839 0 0 212.464 0 0 1 0
+3733 117.3549106 39.0655833 0 0 213.419 0 0 1 0
+3734 117.3549102 39.0655828 0 0 214.373 0 0 1 0
+3735 117.3549097 39.0655823 0 0 215.328 0 0 1 0
+3736 117.3549092 39.0655817 0 0 216.283 0 0 1 0
+3737 117.3549087 39.0655812 0 0 217.238 0 0 1 0
+3738 117.3549082 39.0655807 0 0 218.193 0 0 1 0
+3739 117.3549077 39.0655802 0 0 219.148 0 0 1 0
+3740 117.3549072 39.0655797 0 0 220.103 0 0 1 0
+3741 117.3549066 39.0655792 0 0 221.058 0 0 1 0
+3742 117.3549061 39.0655787 0 0 222.013 0 0 1 0
+3743 117.3549055 39.0655783 0 0 222.968 0 0 1 0
+3744 117.3549049 39.0655778 0 0 223.923 0 0 1 0
+3745 117.3549044 39.0655773 0 0 224.878 0 0 1 0
+3746 117.3549038 39.0655769 0 0 225.833 0 0 1 0
+3747 117.3549032 39.0655764 0 0 226.788 0 0 1 0
+3748 117.3549026 39.0655760 0 0 227.742 0 0 1 0
+3749 117.3549019 39.0655756 0 0 228.697 0 0 1 0
+3750 117.3549013 39.0655752 0 0 229.652 0 0 1 0
+3751 117.3549007 39.0655747 0 0 230.607 0 0 1 0
+3752 117.3549000 39.0655743 0 0 231.562 0 0 1 0
+3753 117.3548994 39.0655739 0 0 232.517 0 0 1 0
+3754 117.3548987 39.0655736 0 0 233.472 0 0 1 0
+3755 117.3548981 39.0655732 0 0 234.427 0 0 1 0
+3756 117.3548974 39.0655728 0 0 235.382 0 0 1 0
+3757 117.3548967 39.0655724 0 0 236.337 0 0 1 0
+3758 117.3548960 39.0655721 0 0 237.292 0 0 1 0
+3759 117.3548953 39.0655717 0 0 238.247 0 0 1 0
+3760 117.3548946 39.0655714 0 0 239.202 0 0 1 0
+3761 117.3548939 39.0655711 0 0 240.157 0 0 1 0
+3762 117.3548932 39.0655708 0 0 241.111 0 0 1 0
+3763 117.3548924 39.0655705 0 0 242.066 0 0 1 0
+3764 117.3548917 39.0655702 0 0 243.021 0 0 1 0
+3765 117.3548910 39.0655699 0 0 243.976 0 0 1 0
+3766 117.3548902 39.0655696 0 0 244.931 0 0 1 0
+3767 117.3548895 39.0655693 0 0 245.886 0 0 1 0
+3768 117.3548887 39.0655691 0 0 246.841 0 0 1 0
+3769 117.3548879 39.0655688 0 0 247.796 0 0 1 0
+3770 117.3548872 39.0655686 0 0 248.751 0 0 1 0
+3771 117.3548864 39.0655684 0 0 249.706 0 0 1 0
+3772 117.3548856 39.0655681 0 0 250.661 0 0 1 0
+3773 117.3548848 39.0655679 0 0 251.616 0 0 1 0
+3774 117.3548840 39.0655677 0 0 252.571 0 0 1 0
+3775 117.3548832 39.0655676 0 0 253.526 0 0 1 0
+3776 117.3548824 39.0655674 0 0 254.480 0 0 1 0
+3777 117.3548816 39.0655672 0 0 255.435 0 0 1 0
+3778 117.3548808 39.0655671 0 0 256.390 0 0 1 0
+3779 117.3548800 39.0655669 0 0 257.345 0 0 1 0
+3780 117.3548792 39.0655668 0 0 258.300 0 0 1 0
+3781 117.3548784 39.0655666 0 0 259.255 0 0 1 0
+3782 117.3548776 39.0655665 0 0 260.210 0 0 1 0
+3783 117.3548768 39.0655664 0 0 261.165 0 0 1 0
+3784 117.3548760 39.0655663 0 0 262.120 0 0 1 0
+3785 117.3548751 39.0655663 0 0 263.075 0 0 1 0
+3786 117.3548743 39.0655662 0 0 264.030 0 0 1 0
+3787 117.3548735 39.0655661 0 0 264.985 0 0 1 0
+3788 117.3548727 39.0655661 0 0 265.940 0 0 1 0
+3789 117.3548718 39.0655660 0 0 266.895 0 0 1 0
+3790 117.3548710 39.0655660 0 0 267.849 0 0 1 0
+3791 117.3548702 39.0655660 0 0 268.804 0 0 1 0
+3792 117.3548693 39.0655660 0 0 269.759 0 0 1 0
+3793 117.3548685 39.0655660 0 0 270.714 0 0 1 0
+3794 117.3548677 39.0655660 0 0 271.669 0 0 1 0
+3795 117.3548669 39.0655660 0 0 272.624 0 0 1 0
+3796 117.3548660 39.0655661 0 0 273.579 0 0 1 0
+3797 117.3548652 39.0655661 0 0 274.534 0 0 1 0
+3798 117.3548644 39.0655662 0 0 275.489 0 0 1 0
+3799 117.3548636 39.0655662 0 0 276.444 0 0 1 0
+3800 117.3548627 39.0655663 0 0 277.399 0 0 1 0
+3801 117.3548619 39.0655664 0 0 278.354 0 0 1 0
+3802 117.3548611 39.0655665 0 0 279.309 0 0 1 0
+3803 117.3548603 39.0655666 0 0 280.264 0 0 1 0
+3804 117.3548595 39.0655667 0 0 281.219 0 0 1 0
+3805 117.3548587 39.0655669 0 0 282.173 0 0 1 0
+3806 117.3548578 39.0655670 0 0 283.128 0 0 1 0
+3807 117.3548570 39.0655672 0 0 284.083 0 0 1 0
+3808 117.3548562 39.0655673 0 0 285.038 0 0 1 0
+3809 117.3548554 39.0655675 0 0 285.993 0 0 1 0
+3810 117.3548546 39.0655677 0 0 286.948 0 0 1 0
+3811 117.3548538 39.0655679 0 0 287.903 0 0 1 0
+3812 117.3548531 39.0655681 0 0 288.858 0 0 1 0
+3813 117.3548523 39.0655683 0 0 289.813 0 0 1 0
+3814 117.3548515 39.0655685 0 0 290.768 0 0 1 0
+3815 117.3548507 39.0655688 0 0 291.723 0 0 1 0
+3816 117.3548500 39.0655690 0 0 292.678 0 0 1 0
+3817 117.3548486 39.0655694 0 0 292.678 0 0 1 0
+3818 117.3548476 39.0655698 0 0 292.678 0 0 1 0
+3819 117.3548465 39.0655701 0 0 292.678 0 0 1 0
+3820 117.3548454 39.0655705 0 0 292.678 0 0 1 0
+3821 117.3548444 39.0655708 0 0 292.678 0 0 1 0
+3822 117.3548433 39.0655712 0 0 292.678 0 0 1 0
+3823 117.3548422 39.0655715 0 0 292.678 0 0 1 0
+3824 117.3548412 39.0655719 0 0 292.678 0 0 1 0
+3825 117.3548401 39.0655722 0 0 292.678 0 0 1 0
+3826 117.3548390 39.0655726 0 0 292.678 0 0 1 0
+3827 117.3548380 39.0655729 0 0 292.678 0 0 1 0
+3828 117.3548369 39.0655733 0 0 292.678 0 0 1 0
+3829 117.3548358 39.0655736 0 0 292.678 0 0 1 0
+3830 117.3548348 39.0655740 0 0 292.678 0 0 1 0
+3831 117.3548337 39.0655743 0 0 292.678 0 0 1 0
+3832 117.3548326 39.0655747 0 0 292.678 0 0 1 0
+3833 117.3548316 39.0655750 0 0 292.678 0 0 1 0
+3834 117.3548305 39.0655754 0 0 292.678 0 0 1 0
+3835 117.3548294 39.0655757 0 0 292.678 0 0 1 0
+3836 117.3548284 39.0655761 0 0 292.678 0 0 1 0
+3837 117.3548273 39.0655764 0 0 292.678 0 0 1 0
+3838 117.3548262 39.0655768 0 0 292.678 0 0 1 0
+3839 117.3548252 39.0655771 0 0 292.678 0 0 1 0
+3840 117.3548241 39.0655775 0 0 292.678 0 0 1 0
+3841 117.3548231 39.0655778 0 0 292.678 0 0 1 0
+3842 117.3548220 39.0655782 0 0 292.678 0 0 1 0
+3843 117.3548209 39.0655785 0 0 292.678 0 0 1 0
+3844 117.3548199 39.0655789 0 0 292.678 0 0 1 0
+3845 117.3548188 39.0655792 0 0 292.678 0 0 1 0
+3846 117.3548177 39.0655796 0 0 292.678 0 0 1 0
+3847 117.3548167 39.0655799 0 0 292.678 0 0 1 0
+3848 117.3548156 39.0655803 0 0 292.678 0 0 1 0
+3849 117.3548145 39.0655806 0 0 292.678 0 0 1 0
+3850 117.3548135 39.0655810 0 0 292.678 0 0 1 0
+3851 117.3548124 39.0655813 0 0 292.678 0 0 1 0
+3852 117.3548113 39.0655816 0 0 292.678 0 0 1 0
+3853 117.3548103 39.0655820 0 0 292.678 0 0 1 0
+3854 117.3548092 39.0655823 0 0 292.678 0 0 1 0
+3855 117.3548081 39.0655827 0 0 292.678 0 0 1 0
+3856 117.3548071 39.0655830 0 0 292.678 0 0 1 0
+3857 117.3548060 39.0655834 0 0 292.678 0 0 1 0
+3858 117.3548049 39.0655837 0 0 292.678 0 0 1 0
+3859 117.3548039 39.0655841 0 0 292.678 0 0 1 0
+3860 117.3548028 39.0655844 0 0 292.678 0 0 1 0
+3861 117.3548018 39.0655848 0 0 292.678 0 0 1 0
+3862 117.3548007 39.0655851 0 0 292.678 0 0 1 0
+3863 117.3547996 39.0655855 0 0 292.678 0 0 1 0
+3864 117.3547986 39.0655858 0 0 292.678 0 0 1 0
+3865 117.3547975 39.0655862 0 0 292.678 0 0 1 0
+3866 117.3547964 39.0655865 0 0 292.678 0 0 1 0
+3867 117.3547954 39.0655869 0 0 292.678 0 0 1 0
+3868 117.3547943 39.0655872 0 0 292.678 0 0 1 0
+3869 117.3547932 39.0655876 0 0 292.678 0 0 1 0
+3870 117.3547922 39.0655879 0 0 292.678 0 0 1 0
+3871 117.3547911 39.0655883 0 0 292.678 0 0 1 0
+3872 117.3547900 39.0655886 0 0 292.678 0 0 1 0
+3873 117.3547890 39.0655890 0 0 292.678 0 0 1 0
+3874 117.3547879 39.0655893 0 0 292.678 0 0 1 0
+3875 117.3547868 39.0655897 0 0 292.678 0 0 1 0
+3876 117.3547858 39.0655900 0 0 292.678 0 0 1 0
+3877 117.3547847 39.0655904 0 0 292.678 0 0 1 0
+3878 117.3547836 39.0655907 0 0 292.678 0 0 1 0
+3879 117.3547826 39.0655911 0 0 292.678 0 0 1 0
+3880 117.3547815 39.0655914 0 0 292.678 0 0 1 0
+3881 117.3547804 39.0655918 0 0 292.678 0 0 1 0
+3882 117.3547794 39.0655921 0 0 292.678 0 0 1 0
+3883 117.3547783 39.0655925 0 0 292.678 0 0 1 0
+3884 117.3547773 39.0655928 0 0 292.678 0 0 1 0
+3885 117.3547762 39.0655932 0 0 292.678 0 0 1 0
+3886 117.3547751 39.0655935 0 0 292.678 0 0 1 0
+3887 117.3547741 39.0655939 0 0 292.678 0 0 1 0
+3888 117.3547730 39.0655942 0 0 292.678 0 0 1 0
+3889 117.3547719 39.0655946 0 0 292.678 0 0 1 0
+3890 117.3547709 39.0655949 0 0 292.678 0 0 1 0
+3891 117.3547698 39.0655953 0 0 292.678 0 0 1 0
+3892 117.3547687 39.0655956 0 0 292.678 0 0 1 0
+3893 117.3547677 39.0655960 0 0 292.678 0 0 1 0
+3894 117.3547666 39.0655963 0 0 292.678 0 0 1 0
+3895 117.3547655 39.0655967 0 0 292.678 0 0 1 0
+3896 117.3547645 39.0655970 0 0 292.678 0 0 1 0
+3897 117.3547634 39.0655974 0 0 292.678 0 0 1 0
+3898 117.3547623 39.0655977 0 0 292.678 0 0 1 0
+3899 117.3547613 39.0655981 0 0 292.678 0 0 1 0
+3900 117.3547602 39.0655984 0 0 292.678 0 0 1 0
+3901 117.3547591 39.0655987 0 0 292.678 0 0 1 0
+3902 117.3547581 39.0655991 0 0 292.678 0 0 1 0
+3903 117.3547570 39.0655994 0 0 292.678 0 0 1 0
+3904 117.3547559 39.0655998 0 0 292.678 0 0 1 0
+3905 117.3547549 39.0656001 0 0 292.678 0 0 1 0
+3906 117.3547538 39.0656005 0 0 292.678 0 0 1 0
+3907 117.3547528 39.0656008 0 0 292.678 0 0 1 0
+3908 117.3547508 39.0656015 0 0 292.678 0 0 1 0
+3909 117.3547498 39.0656018 0 0 292.678 0 0 1 0
+3910 117.3547487 39.0656022 0 0 292.678 0 0 1 0
+3911 117.3547476 39.0656025 0 0 292.678 0 0 1 0
+3912 117.3547466 39.0656029 0 0 292.678 0 0 1 0
+3913 117.3547455 39.0656032 0 0 292.678 0 0 1 0
+3914 117.3547444 39.0656036 0 0 292.678 0 0 1 0
+3915 117.3547434 39.0656039 0 0 292.678 0 0 1 0
+3916 117.3547423 39.0656043 0 0 292.678 0 0 1 0
+3917 117.3547412 39.0656046 0 0 292.678 0 0 1 0
+3918 117.3547402 39.0656050 0 0 292.678 0 0 1 0
+3919 117.3547391 39.0656053 0 0 292.678 0 0 1 0
+3920 117.3547380 39.0656057 0 0 292.678 0 0 1 0
+3921 117.3547370 39.0656060 0 0 292.678 0 0 1 0
+3922 117.3547359 39.0656064 0 0 292.678 0 0 1 0
+3923 117.3547349 39.0656067 0 0 292.678 0 0 1 0
+3924 117.3547338 39.0656071 0 0 292.678 0 0 1 0
+3925 117.3547327 39.0656074 0 0 292.678 0 0 1 0
+3926 117.3547317 39.0656078 0 0 292.678 0 0 1 0
+3927 117.3547306 39.0656081 0 0 292.678 0 0 1 0
+3928 117.3547295 39.0656085 0 0 292.678 0 0 1 0
+3929 117.3547285 39.0656088 0 0 292.678 0 0 1 0
+3930 117.3547274 39.0656092 0 0 292.678 0 0 1 0
+3931 117.3547263 39.0656095 0 0 292.678 0 0 1 0
+3932 117.3547253 39.0656099 0 0 292.678 0 0 1 0
+3933 117.3547242 39.0656102 0 0 292.678 0 0 1 0
+3934 117.3547231 39.0656106 0 0 292.678 0 0 1 0
+3935 117.3547221 39.0656109 0 0 292.678 0 0 1 0
+3936 117.3547210 39.0656113 0 0 292.678 0 0 1 0
+3937 117.3547200 39.0656116 0 0 292.678 0 0 1 0
+3938 117.3547189 39.0656120 0 0 292.678 0 0 1 0
+3939 117.3547178 39.0656123 0 0 292.678 0 0 1 0
+3940 117.3547168 39.0656127 0 0 292.678 0 0 1 0
+3941 117.3547157 39.0656130 0 0 292.678 0 0 1 0
+3942 117.3547146 39.0656134 0 0 292.678 0 0 1 0
+3943 117.3547136 39.0656137 0 0 292.678 0 0 1 0
+3944 117.3547125 39.0656141 0 0 292.678 0 0 1 0
+3945 117.3547114 39.0656144 0 0 292.678 0 0 1 0
+3946 117.3547104 39.0656148 0 0 292.678 0 0 1 0
+3947 117.3547093 39.0656151 0 0 292.678 0 0 1 0
+3948 117.3547082 39.0656155 0 0 292.678 0 0 1 0
+3949 117.3547072 39.0656158 0 0 292.678 0 0 1 0
+3950 117.3547061 39.0656162 0 0 292.678 0 0 1 0
+3951 117.3547051 39.0656165 0 0 292.678 0 0 1 0
+3952 117.3547040 39.0656169 0 0 292.678 0 0 1 0
+3953 117.3547029 39.0656172 0 0 292.678 0 0 1 0
+3954 117.3547019 39.0656176 0 0 292.678 0 0 1 0
+3955 117.3547008 39.0656179 0 0 292.678 0 0 1 0
+3956 117.3546997 39.0656183 0 0 292.678 0 0 1 0
+3957 117.3546987 39.0656186 0 0 292.678 0 0 1 0
+3958 117.3546976 39.0656190 0 0 292.678 0 0 1 0
+3959 117.3546965 39.0656193 0 0 292.678 0 0 1 0
+3960 117.3546955 39.0656197 0 0 292.678 0 0 1 0
+3961 117.3546944 39.0656200 0 0 292.678 0 0 1 0
+3962 117.3546933 39.0656204 0 0 292.678 0 0 1 0
+3963 117.3546923 39.0656207 0 0 292.678 0 0 1 0
+3964 117.3546912 39.0656211 0 0 292.678 0 0 1 0
+3965 117.3546901 39.0656214 0 0 292.678 0 0 1 0
+3966 117.3546891 39.0656218 0 0 292.678 0 0 1 0
+3967 117.3546880 39.0656221 0 0 292.678 0 0 1 0
+3968 117.3546870 39.0656225 0 0 292.678 0 0 1 0
+3969 117.3546859 39.0656228 0 0 292.678 0 0 1 0
+3970 117.3546848 39.0656232 0 0 292.678 0 0 1 0
+3971 117.3546838 39.0656235 0 0 292.678 0 0 1 0
+3972 117.3546827 39.0656239 0 0 292.678 0 0 1 0
+3973 117.3546816 39.0656242 0 0 292.678 0 0 1 0
+3974 117.3546806 39.0656246 0 0 292.678 0 0 1 0
+3975 117.3546795 39.0656249 0 0 292.678 0 0 1 0
+3976 117.3546784 39.0656253 0 0 292.678 0 0 1 0
+3977 117.3546774 39.0656256 0 0 292.678 0 0 1 0
+3978 117.3546763 39.0656260 0 0 292.678 0 0 1 0
+3979 117.3546752 39.0656263 0 0 292.678 0 0 1 0
+3980 117.3546742 39.0656267 0 0 292.678 0 0 1 0
+3981 117.3546731 39.0656270 0 0 292.678 0 0 1 0
+3982 117.3546721 39.0656274 0 0 292.678 0 0 1 0
+3983 117.3546710 39.0656277 0 0 292.678 0 0 1 0
+3984 117.3546699 39.0656281 0 0 292.678 0 0 1 0
+3985 117.3546689 39.0656285 0 0 292.678 0 0 1 0
+3986 117.3546678 39.0656288 0 0 292.678 0 0 1 0
+3987 117.3546667 39.0656292 0 0 292.678 0 0 1 0
+3988 117.3546657 39.0656295 0 0 292.678 0 0 1 0
+3989 117.3546646 39.0656299 0 0 292.678 0 0 1 0
+3990 117.3546635 39.0656302 0 0 292.678 0 0 1 0
+3991 117.3546625 39.0656306 0 0 292.678 0 0 1 0
+3992 117.3546614 39.0656309 0 0 292.678 0 0 1 0
+3993 117.3546603 39.0656313 0 0 292.678 0 0 1 0
+3994 117.3546593 39.0656316 0 0 292.678 0 0 1 0
+3995 117.3546582 39.0656320 0 0 292.678 0 0 1 0
+3996 117.3546572 39.0656323 0 0 292.678 0 0 1 0
+3997 117.3546561 39.0656327 0 0 292.678 0 0 1 0
+3998 117.3546550 39.0656330 0 0 292.678 0 0 1 0
+3999 117.3546540 39.0656334 0 0 292.678 0 0 1 0
+4000 117.3546529 39.0656337 0 0 292.678 0 0 1 0
+4001 117.3546518 39.0656341 0 0 292.678 0 0 1 0
+4002 117.3546508 39.0656344 0 0 292.678 0 0 1 0
+4003 117.3546497 39.0656348 0 0 292.678 0 0 1 0
+4004 117.3546486 39.0656351 0 0 292.678 0 0 1 0
+4005 117.3546476 39.0656355 0 0 292.678 0 0 1 0
+4006 117.3546465 39.0656358 0 0 292.678 0 0 1 0
+4007 117.3546454 39.0656362 0 0 292.678 0 0 1 0
+4008 117.3546444 39.0656365 0 0 292.678 0 0 1 0
+4009 117.3546433 39.0656369 0 0 292.678 0 0 1 0
+4010 117.3546422 39.0656372 0 0 292.678 0 0 1 0
+4011 117.3546412 39.0656376 0 0 292.678 0 0 1 0
+4012 117.3546401 39.0656379 0 0 292.678 0 0 1 0
+4013 117.3546391 39.0656383 0 0 292.678 0 0 1 0
+4014 117.3546380 39.0656386 0 0 292.678 0 0 1 0
+4015 117.3546369 39.0656390 0 0 292.678 0 0 1 0
+4016 117.3546359 39.0656393 0 0 292.678 0 0 1 0
+4017 117.3546348 39.0656397 0 0 292.678 0 0 1 0
+4018 117.3546337 39.0656400 0 0 292.678 0 0 1 0
+4019 117.3546327 39.0656404 0 0 292.678 0 0 1 0
+4020 117.3546316 39.0656407 0 0 292.678 0 0 1 0
+4021 117.3546305 39.0656411 0 0 292.678 0 0 1 0
+4022 117.3546295 39.0656414 0 0 292.678 0 0 1 0
+4023 117.3546284 39.0656418 0 0 292.678 0 0 1 0
+4024 117.3546273 39.0656421 0 0 292.678 0 0 1 0
+4025 117.3546263 39.0656425 0 0 292.678 0 0 1 0
+4026 117.3546252 39.0656428 0 0 292.678 0 0 1 0
+4027 117.3546242 39.0656432 0 0 292.678 0 0 1 0
+4028 117.3546231 39.0656435 0 0 292.678 0 0 1 0
+4029 117.3546220 39.0656439 0 0 292.678 0 0 1 0
+4030 117.3546210 39.0656442 0 0 292.678 0 0 1 0
+4031 117.3546199 39.0656446 0 0 292.678 0 0 1 0
+4032 117.3546188 39.0656449 0 0 292.678 0 0 1 0
+4033 117.3546178 39.0656453 0 0 292.678 0 0 1 0
+4034 117.3546167 39.0656456 0 0 292.678 0 0 1 0
+4035 117.3546156 39.0656460 0 0 292.678 0 0 1 0
+4036 117.3546146 39.0656463 0 0 292.678 0 0 1 0
+4037 117.3546135 39.0656467 0 0 292.678 0 0 1 0
+4038 117.3546124 39.0656470 0 0 292.678 0 0 1 0
+4039 117.3546114 39.0656474 0 0 292.678 0 0 1 0
+4040 117.3546103 39.0656477 0 0 292.678 0 0 1 0
+4041 117.3546093 39.0656481 0 0 292.678 0 0 1 0
+4042 117.3546082 39.0656484 0 0 292.678 0 0 1 0
+4043 117.3546071 39.0656488 0 0 292.678 0 0 1 0
+4044 117.3546061 39.0656491 0 0 292.678 0 0 1 0
+4045 117.3546050 39.0656495 0 0 292.678 0 0 1 0
+4046 117.3546039 39.0656498 0 0 292.678 0 0 1 0
+4047 117.3546029 39.0656502 0 0 292.678 0 0 1 0
+4048 117.3546018 39.0656505 0 0 292.678 0 0 1 0
+4049 117.3546007 39.0656509 0 0 292.678 0 0 1 0
+4050 117.3545997 39.0656512 0 0 292.678 0 0 1 0
+4051 117.3545986 39.0656516 0 0 292.678 0 0 1 0
+4052 117.3545975 39.0656519 0 0 292.678 0 0 1 0
+4053 117.3545965 39.0656523 0 0 292.678 0 0 1 0
+4054 117.3545954 39.0656526 0 0 292.678 0 0 1 0
+4055 117.3545944 39.0656530 0 0 292.678 0 0 1 0
+4056 117.3545933 39.0656533 0 0 292.678 0 0 1 0
+4057 117.3545922 39.0656537 0 0 292.678 0 0 1 0
+4058 117.3545912 39.0656540 0 0 292.678 0 0 1 0
+4059 117.3545901 39.0656544 0 0 292.678 0 0 1 0
+4060 117.3545890 39.0656547 0 0 292.678 0 0 1 0
+4061 117.3545880 39.0656551 0 0 292.678 0 0 1 0
+4062 117.3545869 39.0656554 0 0 292.678 0 0 1 0
+4063 117.3545858 39.0656558 0 0 292.678 0 0 1 0
+4064 117.3545848 39.0656561 0 0 292.678 0 0 1 0
+4065 117.3545837 39.0656565 0 0 292.678 0 0 1 0
+4066 117.3545826 39.0656568 0 0 292.678 0 0 1 0
+4067 117.3545816 39.0656572 0 0 292.678 0 0 1 0
+4068 117.3545805 39.0656575 0 0 292.678 0 0 1 0
+4069 117.3545794 39.0656579 0 0 292.678 0 0 1 0
+4070 117.3545784 39.0656582 0 0 292.678 0 0 1 0
+4071 117.3545773 39.0656586 0 0 292.678 0 0 1 0
+4072 117.3545763 39.0656589 0 0 292.678 0 0 1 0
+4073 117.3545752 39.0656593 0 0 292.678 0 0 1 0
+4074 117.3545741 39.0656596 0 0 292.678 0 0 1 0
+4075 117.3545731 39.0656600 0 0 292.678 0 0 1 0
+4076 117.3545720 39.0656603 0 0 292.678 0 0 1 0
+4077 117.3545709 39.0656607 0 0 292.678 0 0 1 0
+4078 117.3545699 39.0656610 0 0 292.678 0 0 1 0
+4079 117.3545688 39.0656614 0 0 292.678 0 0 1 0
+4080 117.3545677 39.0656617 0 0 292.678 0 0 1 0
+4081 117.3545667 39.0656621 0 0 292.678 0 0 1 0
+4082 117.3545656 39.0656624 0 0 292.678 0 0 1 0
+4083 117.3545645 39.0656628 0 0 292.678 0 0 1 0
+4084 117.3545635 39.0656631 0 0 292.678 0 0 1 0
+4085 117.3545624 39.0656635 0 0 292.678 0 0 1 0
+4086 117.3545614 39.0656638 0 0 292.678 0 0 1 0
+4087 117.3545603 39.0656642 0 0 292.678 0 0 1 0
+4088 117.3545592 39.0656645 0 0 292.678 0 0 1 0
+4089 117.3545582 39.0656649 0 0 292.678 0 0 1 0
+4090 117.3545571 39.0656652 0 0 292.678 0 0 1 0
+4091 117.3545560 39.0656656 0 0 292.678 0 0 1 0
+4092 117.3545550 39.0656659 0 0 292.678 0 0 1 0
+4093 117.3545539 39.0656663 0 0 292.678 0 0 1 0
+4094 117.3545528 39.0656666 0 0 292.678 0 0 1 0
+4095 117.3545518 39.0656670 0 0 292.678 0 0 1 0
+4096 117.3545507 39.0656673 0 0 292.678 0 0 1 0
+4097 117.3545496 39.0656677 0 0 292.678 0 0 1 0
+4098 117.3545486 39.0656680 0 0 292.678 0 0 1 0
+4099 117.3545475 39.0656684 0 0 292.678 0 0 1 0
+4100 117.3545465 39.0656688 0 0 292.678 0 0 1 0
+4101 117.3545454 39.0656691 0 0 292.678 0 0 1 0
+4102 117.3545443 39.0656695 0 0 292.678 0 0 1 0
+4103 117.3545433 39.0656698 0 0 292.678 0 0 1 0
+4104 117.3545422 39.0656702 0 0 292.678 0 0 1 0
+4105 117.3545411 39.0656705 0 0 292.678 0 0 1 0
+4106 117.3545401 39.0656709 0 0 292.678 0 0 1 0
+4107 117.3545390 39.0656712 0 0 292.678 0 0 1 0
+4108 117.3545379 39.0656716 0 0 292.678 0 0 1 0
+4109 117.3545369 39.0656719 0 0 292.678 0 0 1 0
+4110 117.3545358 39.0656723 0 0 292.678 0 0 1 0
+4111 117.3545347 39.0656726 0 0 292.678 0 0 1 0
+4112 117.3545337 39.0656730 0 0 292.678 0 0 1 0
+4113 117.3545326 39.0656733 0 0 292.678 0 0 1 0
+4114 117.3545316 39.0656737 0 0 292.678 0 0 1 0
+4115 117.3545305 39.0656740 0 0 292.678 0 0 1 0
+4116 117.3545294 39.0656744 0 0 292.678 0 0 1 0
+4117 117.3545284 39.0656747 0 0 292.678 0 0 1 0
+4118 117.3545273 39.0656751 0 0 292.678 0 0 1 0
+4119 117.3545262 39.0656754 0 0 292.678 0 0 1 0
+4120 117.3545252 39.0656758 0 0 292.678 0 0 1 0
+4121 117.3545241 39.0656761 0 0 292.678 0 0 1 0
+4122 117.3545230 39.0656765 0 0 292.678 0 0 1 0
+4123 117.3545220 39.0656768 0 0 292.678 0 0 1 0
+4124 117.3545209 39.0656772 0 0 292.678 0 0 1 0
+4125 117.3545198 39.0656775 0 0 292.678 0 0 1 0
+4126 117.3545188 39.0656779 0 0 292.678 0 0 1 0
+4127 117.3545177 39.0656782 0 0 292.678 0 0 1 0
+4128 117.3545167 39.0656786 0 0 292.678 0 0 1 0
+4129 117.3545156 39.0656789 0 0 292.678 0 0 1 0
+4130 117.3545145 39.0656793 0 0 292.678 0 0 1 0
+4131 117.3545135 39.0656796 0 0 292.678 0 0 1 0
+4132 117.3545124 39.0656800 0 0 292.678 0 0 1 0
+4133 117.3545113 39.0656803 0 0 292.678 0 0 1 0
+4134 117.3545103 39.0656807 0 0 292.678 0 0 1 0
+4135 117.3545092 39.0656810 0 0 292.678 0 0 1 0
+4136 117.3545081 39.0656814 0 0 292.678 0 0 1 0
+4137 117.3545071 39.0656817 0 0 292.678 0 0 1 0
+4138 117.3545060 39.0656821 0 0 292.678 0 0 1 0
+4139 117.3545049 39.0656824 0 0 292.678 0 0 1 0
+4140 117.3545039 39.0656828 0 0 292.678 0 0 1 0
+4141 117.3545028 39.0656831 0 0 292.678 0 0 1 0
+4142 117.3545018 39.0656835 0 0 292.678 0 0 1 0
+4143 117.3545007 39.0656838 0 0 292.678 0 0 1 0
+4144 117.3544996 39.0656842 0 0 292.678 0 0 1 0
+4145 117.3544986 39.0656845 0 0 292.678 0 0 1 0
+4146 117.3544975 39.0656849 0 0 292.678 0 0 1 0
+4147 117.3544964 39.0656852 0 0 292.678 0 0 1 0
+4148 117.3544954 39.0656856 0 0 292.678 0 0 1 0
+4149 117.3544943 39.0656859 0 0 292.678 0 0 1 0
+4150 117.3544932 39.0656863 0 0 292.678 0 0 1 0
+4151 117.3544922 39.0656866 0 0 292.678 0 0 1 0
+4152 117.3544911 39.0656870 0 0 292.678 0 0 1 0
+4153 117.3544900 39.0656873 0 0 292.678 0 0 1 0
+4154 117.3544890 39.0656877 0 0 292.678 0 0 1 0
+4155 117.3544879 39.0656880 0 0 292.678 0 0 1 0
+4156 117.3544869 39.0656884 0 0 292.678 0 0 1 0
+4157 117.3544858 39.0656887 0 0 292.678 0 0 1 0
+4158 117.3544847 39.0656891 0 0 292.678 0 0 1 0
+4159 117.3544837 39.0656894 0 0 292.678 0 0 1 0
+4160 117.3544826 39.0656898 0 0 292.678 0 0 1 0
+4161 117.3544815 39.0656901 0 0 292.678 0 0 1 0
+4162 117.3544805 39.0656905 0 0 292.678 0 0 1 0
+4163 117.3544794 39.0656908 0 0 292.678 0 0 1 0
+4164 117.3544783 39.0656912 0 0 292.678 0 0 1 0
+4165 117.3544773 39.0656915 0 0 292.678 0 0 1 0
+4166 117.3544762 39.0656919 0 0 292.678 0 0 1 0
+4167 117.3544751 39.0656922 0 0 292.678 0 0 1 0
+4168 117.3544741 39.0656926 0 0 292.678 0 0 1 0
+4169 117.3544730 39.0656929 0 0 292.678 0 0 1 0
+4170 117.3544720 39.0656933 0 0 292.678 0 0 1 0
+4171 117.3544709 39.0656936 0 0 292.678 0 0 1 0
+4172 117.3544698 39.0656940 0 0 292.678 0 0 1 0
+4173 117.3544688 39.0656943 0 0 292.678 0 0 1 0
+4174 117.3544677 39.0656947 0 0 292.678 0 0 1 0
+4175 117.3544666 39.0656950 0 0 292.678 0 0 1 0
+4176 117.3544656 39.0656954 0 0 292.678 0 0 1 0
+4177 117.3544645 39.0656957 0 0 292.678 0 0 1 0
+4178 117.3544634 39.0656961 0 0 292.678 0 0 1 0
+4179 117.3544624 39.0656964 0 0 292.678 0 0 1 0
+4180 117.3544613 39.0656968 0 0 292.678 0 0 1 0
+4181 117.3544602 39.0656972 0 0 292.678 0 0 1 0
+4182 117.3544592 39.0656975 0 0 292.678 0 0 1 0
+4183 117.3544581 39.0656979 0 0 292.678 0 0 1 0
+4184 117.3544571 39.0656982 0 0 292.678 0 0 1 0
+4185 117.3544560 39.0656986 0 0 292.678 0 0 1 0
+4186 117.3544549 39.0656989 0 0 292.678 0 0 1 0
+4187 117.3544539 39.0656993 0 0 292.678 0 0 1 0
+4188 117.3544528 39.0656996 0 0 292.678 0 0 1 0
+4189 117.3544517 39.0657000 0 0 292.678 0 0 1 0
+4190 117.3544507 39.0657003 0 0 292.678 0 0 1 0
+4191 117.3544496 39.0657007 0 0 292.678 0 0 1 0
+4192 117.3544485 39.0657010 0 0 292.678 0 0 1 0
+4193 117.3544475 39.0657014 0 0 292.678 0 0 1 0
+4194 117.3544464 39.0657017 0 0 292.678 0 0 1 0
+4195 117.3544453 39.0657021 0 0 292.678 0 0 1 0
+4196 117.3544443 39.0657024 0 0 292.678 0 0 1 0
+4197 117.3544432 39.0657028 0 0 292.678 0 0 1 0
+4198 117.3544422 39.0657031 0 0 292.678 0 0 1 0
+4199 117.3544411 39.0657035 0 0 292.678 0 0 1 0
+4200 117.3544400 39.0657038 0 0 292.678 0 0 1 0
+4201 117.3544390 39.0657042 0 0 292.678 0 0 1 0
+4202 117.3544379 39.0657045 0 0 292.678 0 0 1 0
+4203 117.3544368 39.0657049 0 0 292.678 0 0 1 0
+4204 117.3544358 39.0657052 0 0 292.678 0 0 1 0
+4205 117.3544347 39.0657056 0 0 292.678 0 0 1 0
+4206 117.3544336 39.0657059 0 0 292.678 0 0 1 0
+4207 117.3544326 39.0657063 0 0 292.678 0 0 1 0
+4208 117.3544315 39.0657066 0 0 292.678 0 0 1 0
+4209 117.3544304 39.0657070 0 0 292.678 0 0 1 0
+4210 117.3544294 39.0657073 0 0 292.678 0 0 1 0
+4211 117.3544283 39.0657077 0 0 292.678 0 0 1 0
+4212 117.3544273 39.0657080 0 0 292.678 0 0 1 0
+4213 117.3544262 39.0657084 0 0 292.678 0 0 1 0
+4214 117.3544251 39.0657087 0 0 292.678 0 0 1 0
+4215 117.3544241 39.0657091 0 0 292.678 0 0 1 0
+4216 117.3544230 39.0657094 0 0 292.678 0 0 1 0
+4217 117.3544219 39.0657098 0 0 292.678 0 0 1 0
+4218 117.3544209 39.0657101 0 0 292.678 0 0 1 0
+4219 117.3544198 39.0657105 0 0 292.678 0 0 1 0
+4220 117.3544187 39.0657108 0 0 292.678 0 0 1 0
+4221 117.3544177 39.0657112 0 0 292.678 0 0 1 0
+4222 117.3544166 39.0657115 0 0 292.678 0 0 1 0
+4223 117.3544156 39.0657119 0 0 292.678 0 0 1 0
+4224 117.3544145 39.0657122 0 0 292.678 0 0 1 0
+4225 117.3544134 39.0657126 0 0 292.678 0 0 1 0
+4226 117.3544124 39.0657129 0 0 292.678 0 0 1 0
+4227 117.3544113 39.0657133 0 0 292.678 0 0 1 0
+4228 117.3544102 39.0657136 0 0 292.678 0 0 1 0
+4229 117.3544092 39.0657140 0 0 292.678 0 0 1 0
+4230 117.3544081 39.0657143 0 0 292.678 0 0 1 0
+4231 117.3544070 39.0657147 0 0 292.678 0 0 1 0
+4232 117.3544060 39.0657150 0 0 292.678 0 0 1 0
+4233 117.3544049 39.0657154 0 0 292.678 0 0 1 0
+4234 117.3544038 39.0657157 0 0 292.678 0 0 1 0
+4235 117.3544028 39.0657161 0 0 292.678 0 0 1 0
+4236 117.3544017 39.0657164 0 0 292.678 0 0 1 0
+4237 117.3544007 39.0657168 0 0 292.678 0 0 1 0
+4238 117.3543996 39.0657171 0 0 292.678 0 0 1 0
+4239 117.3543985 39.0657175 0 0 292.678 0 0 1 0
+4240 117.3543975 39.0657178 0 0 292.678 0 0 1 0
+4241 117.3543964 39.0657182 0 0 292.678 0 0 1 0
+4242 117.3543953 39.0657185 0 0 292.678 0 0 1 0
+4243 117.3543943 39.0657189 0 0 292.678 0 0 1 0
+4244 117.3543932 39.0657193 0 0 292.678 0 0 1 0
+4245 117.3543921 39.0657196 0 0 292.678 0 0 1 0
+4246 117.3543911 39.0657200 0 0 292.678 0 0 1 0
+4247 117.3543900 39.0657203 0 0 292.678 0 0 1 0
+4248 117.3543889 39.0657207 0 0 292.678 0 0 1 0
+4249 117.3543879 39.0657210 0 0 292.678 0 0 1 0
+4250 117.3543868 39.0657214 0 0 292.678 0 0 1 0
+4251 117.3543858 39.0657217 0 0 292.678 0 0 1 0
+4252 117.3543847 39.0657221 0 0 292.678 0 0 1 0
+4253 117.3543836 39.0657224 0 0 292.678 0 0 1 0
+4254 117.3543826 39.0657228 0 0 292.678 0 0 1 0
+4255 117.3543815 39.0657231 0 0 292.678 0 0 1 0
+4256 117.3543804 39.0657235 0 0 292.678 0 0 1 0
+4257 117.3543794 39.0657238 0 0 292.678 0 0 1 0
+4258 117.3543783 39.0657242 0 0 292.678 0 0 1 0
+4259 117.3543772 39.0657245 0 0 292.678 0 0 1 0
+4260 117.3543762 39.0657249 0 0 292.678 0 0 1 0
+4261 117.3543751 39.0657252 0 0 292.678 0 0 1 0
+4262 117.3543740 39.0657256 0 0 292.678 0 0 1 0
+4263 117.3543730 39.0657259 0 0 292.678 0 0 1 0
+4264 117.3543719 39.0657263 0 0 292.678 0 0 1 0
+4265 117.3543709 39.0657266 0 0 292.678 0 0 1 0
+4266 117.3543698 39.0657270 0 0 292.678 0 0 1 0
+4267 117.3543687 39.0657273 0 0 292.678 0 0 1 0
+4268 117.3543677 39.0657277 0 0 292.678 0 0 1 0
+4269 117.3543666 39.0657280 0 0 292.678 0 0 1 0
+4270 117.3543655 39.0657284 0 0 292.678 0 0 1 0
+4271 117.3543645 39.0657287 0 0 292.678 0 0 1 0
+4272 117.3543634 39.0657291 0 0 292.678 0 0 1 0
+4273 117.3543623 39.0657294 0 0 292.678 0 0 1 0
+4274 117.3543613 39.0657298 0 0 292.678 0 0 1 0
+4275 117.3543602 39.0657301 0 0 292.678 0 0 1 0
+4276 117.3543592 39.0657305 0 0 292.678 0 0 1 0
+4277 117.3543581 39.0657308 0 0 292.678 0 0 1 0
+4278 117.3543570 39.0657312 0 0 292.678 0 0 1 0
+4279 117.3543560 39.0657315 0 0 292.678 0 0 1 0
+4280 117.3543549 39.0657319 0 0 292.678 0 0 1 0
+4281 117.3543538 39.0657322 0 0 292.678 0 0 1 0
+4282 117.3543528 39.0657326 0 0 292.678 0 0 1 0
+4283 117.3543517 39.0657329 0 0 292.678 0 0 1 0
+4284 117.3543506 39.0657333 0 0 292.678 0 0 1 0
+4285 117.3543496 39.0657336 0 0 292.678 0 0 1 0
+4286 117.3543485 39.0657340 0 0 292.678 0 0 1 0
+4287 117.3543474 39.0657343 0 0 292.678 0 0 1 0
+4288 117.3543464 39.0657347 0 0 292.678 0 0 1 0
+4289 117.3543453 39.0657350 0 0 292.678 0 0 1 0
+4290 117.3543443 39.0657354 0 0 292.678 0 0 1 0
+4291 117.3543432 39.0657357 0 0 292.678 0 0 1 0
+4292 117.3543421 39.0657361 0 0 292.678 0 0 1 0
+4293 117.3543411 39.0657364 0 0 292.678 0 0 1 0
+4294 117.3543400 39.0657368 0 0 292.678 0 0 1 0
+4295 117.3543389 39.0657371 0 0 292.678 0 0 1 0
+4296 117.3543379 39.0657375 0 0 292.678 0 0 1 0
+4297 117.3543368 39.0657379 0 0 292.678 0 0 1 0
+4298 117.3543357 39.0657382 0 0 292.678 0 0 1 0
+4299 117.3543347 39.0657386 0 0 292.678 0 0 1 0
+4300 117.3543336 39.0657389 0 0 292.678 0 0 1 0
+4301 117.3543325 39.0657393 0 0 292.678 0 0 1 0
+4302 117.3543315 39.0657396 0 0 292.678 0 0 1 0
+4303 117.3543304 39.0657400 0 0 292.678 0 0 1 0
+4304 117.3543294 39.0657403 0 0 292.678 0 0 1 0
+4305 117.3543283 39.0657407 0 0 292.678 0 0 1 0
+4306 117.3543272 39.0657410 0 0 292.678 0 0 1 0
+4307 117.3543262 39.0657414 0 0 292.678 0 0 1 0
+4308 117.3543251 39.0657417 0 0 292.678 0 0 1 0
+4309 117.3543240 39.0657421 0 0 292.678 0 0 1 0
+4310 117.3543230 39.0657424 0 0 292.678 0 0 1 0
+4311 117.3543219 39.0657428 0 0 292.678 0 0 1 0
+4312 117.3543208 39.0657431 0 0 292.678 0 0 1 0
+4313 117.3543198 39.0657435 0 0 292.678 0 0 1 0
+4314 117.3543187 39.0657438 0 0 292.678 0 0 1 0
+4315 117.3543177 39.0657442 0 0 292.678 0 0 1 0
+4316 117.3543166 39.0657445 0 0 292.678 0 0 1 0
+4317 117.3543155 39.0657449 0 0 292.678 0 0 1 0
+4318 117.3543145 39.0657452 0 0 292.678 0 0 1 0
+4319 117.3543134 39.0657456 0 0 292.678 0 0 1 0
+4320 117.3543123 39.0657459 0 0 292.678 0 0 1 0
+4321 117.3543113 39.0657463 0 0 292.678 0 0 1 0
+4322 117.3543102 39.0657466 0 0 292.678 0 0 1 0
+4323 117.3543091 39.0657470 0 0 292.678 0 0 1 0
+4324 117.3543081 39.0657473 0 0 292.678 0 0 1 0
+4325 117.3543070 39.0657477 0 0 292.678 0 0 1 0
+4326 117.3543059 39.0657480 0 0 292.678 0 0 1 0
+4327 117.3543049 39.0657484 0 0 292.678 0 0 1 0
+4328 117.3543038 39.0657487 0 0 292.678 0 0 1 0
+4329 117.3543028 39.0657491 0 0 292.678 0 0 1 0
+4330 117.3543017 39.0657494 0 0 292.678 0 0 1 0
+4331 117.3543006 39.0657498 0 0 292.678 0 0 1 0
+4332 117.3542996 39.0657501 0 0 292.678 0 0 1 0
+4333 117.3542985 39.0657505 0 0 292.678 0 0 1 0
+4334 117.3542974 39.0657508 0 0 292.678 0 0 1 0
+4335 117.3542964 39.0657512 0 0 292.678 0 0 1 0
+4336 117.3542953 39.0657515 0 0 292.678 0 0 1 0
+4337 117.3542942 39.0657519 0 0 292.678 0 0 1 0
+4338 117.3542932 39.0657522 0 0 292.678 0 0 1 0
+4339 117.3542921 39.0657526 0 0 292.678 0 0 1 0
+4340 117.3542911 39.0657529 0 0 292.678 0 0 1 0
+4341 117.3542900 39.0657533 0 0 292.678 0 0 1 0
+4342 117.3542889 39.0657537 0 0 292.678 0 0 1 0
+4343 117.3542879 39.0657540 0 0 292.678 0 0 1 0
+4344 117.3542868 39.0657544 0 0 292.678 0 0 1 0
+4345 117.3542857 39.0657547 0 0 292.678 0 0 1 0
+4346 117.3542847 39.0657551 0 0 292.678 0 0 1 0
+4347 117.3542836 39.0657554 0 0 292.678 0 0 1 0
+4348 117.3542825 39.0657558 0 0 292.678 0 0 1 0
+4349 117.3542815 39.0657561 0 0 292.678 0 0 1 0
+4350 117.3542804 39.0657565 0 0 292.678 0 0 1 0
+4351 117.3542793 39.0657568 0 0 292.678 0 0 1 0
+4352 117.3542783 39.0657572 0 0 292.678 0 0 1 0
+4353 117.3542772 39.0657575 0 0 292.678 0 0 1 0
+4354 117.3542762 39.0657579 0 0 292.678 0 0 1 0
+4355 117.3542751 39.0657582 0 0 292.678 0 0 1 0
+4356 117.3542740 39.0657586 0 0 292.678 0 0 1 0
+4357 117.3542730 39.0657589 0 0 292.678 0 0 1 0
+4358 117.3542719 39.0657593 0 0 292.678 0 0 1 0
+4359 117.3542708 39.0657596 0 0 292.678 0 0 1 0
+4360 117.3542698 39.0657600 0 0 292.678 0 0 1 0
+4361 117.3542687 39.0657603 0 0 292.678 0 0 1 0
+4362 117.3542676 39.0657607 0 0 292.678 0 0 1 0
+4363 117.3542666 39.0657610 0 0 292.678 0 0 1 0
+4364 117.3542655 39.0657614 0 0 292.678 0 0 1 0
+4365 117.3542645 39.0657617 0 0 292.678 0 0 1 0
+4366 117.3542634 39.0657621 0 0 292.678 0 0 1 0
+4367 117.3542623 39.0657624 0 0 292.678 0 0 1 0
+4368 117.3542613 39.0657628 0 0 292.678 0 0 1 0
+4369 117.3542602 39.0657631 0 0 292.678 0 0 1 0
+4370 117.3542591 39.0657635 0 0 292.678 0 0 1 0
+4371 117.3542581 39.0657638 0 0 292.678 0 0 1 0
+4372 117.3542570 39.0657642 0 0 292.678 0 0 1 0
+4373 117.3542559 39.0657645 0 0 292.678 0 0 1 0
+4374 117.3542549 39.0657649 0 0 292.678 0 0 1 0
+4375 117.3542538 39.0657652 0 0 292.678 0 0 1 0
+4376 117.3542527 39.0657656 0 0 292.678 0 0 1 0
+4377 117.3542517 39.0657659 0 0 292.678 0 0 1 0
+4378 117.3542506 39.0657663 0 0 292.678 0 0 1 0
+4379 117.3542496 39.0657666 0 0 292.678 0 0 1 0
+4380 117.3542485 39.0657670 0 0 292.678 0 0 1 0
+4381 117.3542474 39.0657673 0 0 292.678 0 0 1 0
+4382 117.3542464 39.0657677 0 0 292.678 0 0 1 0
+4383 117.3542453 39.0657681 0 0 292.678 0 0 1 0
+4384 117.3542442 39.0657684 0 0 292.678 0 0 1 0
+4385 117.3542432 39.0657688 0 0 292.678 0 0 1 0
+4386 117.3542421 39.0657691 0 0 292.678 0 0 1 0
+4387 117.3542410 39.0657695 0 0 292.678 0 0 1 0
+4388 117.3542400 39.0657698 0 0 292.678 0 0 1 0
+4389 117.3542389 39.0657702 0 0 292.678 0 0 1 0
+4390 117.3542379 39.0657705 0 0 292.678 0 0 1 0
+4391 117.3542368 39.0657709 0 0 292.678 0 0 1 0
+4392 117.3542357 39.0657712 0 0 292.678 0 0 1 0
+4393 117.3542347 39.0657716 0 0 292.678 0 0 1 0
+4394 117.3542336 39.0657719 0 0 292.678 0 0 1 0
+4395 117.3542325 39.0657723 0 0 292.678 0 0 1 0
+4396 117.3542315 39.0657726 0 0 292.678 0 0 1 0
+4397 117.3542304 39.0657730 0 0 292.678 0 0 1 0
+4398 117.3542293 39.0657733 0 0 292.678 0 0 1 0
+4399 117.3542283 39.0657737 0 0 292.678 0 0 1 0
+4400 117.3542272 39.0657740 0 0 292.678 0 0 1 0
+4401 117.3542262 39.0657744 0 0 292.678 0 0 1 0
+4402 117.3542251 39.0657747 0 0 292.678 0 0 1 0
+4403 117.3542240 39.0657751 0 0 292.678 0 0 1 0
+4404 117.3542230 39.0657754 0 0 292.678 0 0 1 0
+4405 117.3542219 39.0657758 0 0 292.678 0 0 1 0
+4406 117.3542208 39.0657761 0 0 292.678 0 0 1 0
+4407 117.3542198 39.0657765 0 0 292.678 0 0 1 0
+4408 117.3542187 39.0657768 0 0 292.678 0 0 1 0
+4409 117.3542176 39.0657772 0 0 292.678 0 0 1 0
+4410 117.3542166 39.0657775 0 0 292.678 0 0 1 0
+4411 117.3542155 39.0657779 0 0 292.678 0 0 1 0
+4412 117.3542144 39.0657782 0 0 292.678 0 0 1 0
+4413 117.3542134 39.0657786 0 0 292.678 0 0 1 0
+4414 117.3542123 39.0657789 0 0 292.678 0 0 1 0
+4415 117.3542113 39.0657793 0 0 292.678 0 0 1 0
+4416 117.3542102 39.0657796 0 0 292.678 0 0 1 0
+4417 117.3542091 39.0657800 0 0 292.678 0 0 1 0
+4418 117.3542081 39.0657804 0 0 292.678 0 0 1 0
+4419 117.3542070 39.0657807 0 0 292.678 0 0 1 0
+4420 117.3542059 39.0657811 0 0 292.678 0 0 1 0
+4421 117.3542049 39.0657814 0 0 292.678 0 0 1 0
+4422 117.3542038 39.0657818 0 0 292.678 0 0 1 0
+4423 117.3542027 39.0657821 0 0 292.678 0 0 1 0
+4424 117.3542017 39.0657825 0 0 292.678 0 0 1 0
+4425 117.3542006 39.0657828 0 0 292.678 0 0 1 0
+4426 117.3541996 39.0657832 0 0 292.678 0 0 1 0
+4427 117.3541985 39.0657835 0 0 292.678 0 0 1 0
+4428 117.3541974 39.0657839 0 0 292.678 0 0 1 0
+4429 117.3541964 39.0657842 0 0 292.678 0 0 1 0
+4430 117.3541953 39.0657846 0 0 292.678 0 0 1 0
+4431 117.3541942 39.0657849 0 0 292.678 0 0 1 0
+4432 117.3541932 39.0657853 0 0 292.678 0 0 1 0
+4433 117.3541921 39.0657856 0 0 292.678 0 0 1 0
+4434 117.3541910 39.0657860 0 0 292.678 0 0 1 0
+4435 117.3541910 39.0657860 0 0 292.678 0 0 1 0
+4436 117.3541900 39.0657863 0 0 292.678 0 0 1 0
+4437 117.3541889 39.0657867 0 0 292.678 0 0 1 0
+4438 117.3541879 39.0657870 0 0 292.678 0 0 1 0
+4439 117.3541868 39.0657874 0 0 292.678 0 0 1 0
+4440 117.3541857 39.0657877 0 0 292.678 0 0 1 0
+4441 117.3541847 39.0657881 0 0 292.678 0 0 1 0
+4442 117.3541836 39.0657884 0 0 292.678 0 0 1 0
+4443 117.3541825 39.0657888 0 0 292.678 0 0 1 0
+4444 117.3541815 39.0657891 0 0 292.678 0 0 1 0
+4445 117.3541804 39.0657895 0 0 292.678 0 0 1 0
+4446 117.3541793 39.0657898 0 0 292.678 0 0 1 0
+4447 117.3541783 39.0657902 0 0 292.678 0 0 1 0
+4448 117.3541772 39.0657905 0 0 292.678 0 0 1 0
+4449 117.3541762 39.0657909 0 0 292.678 0 0 1 0
+4450 117.3541751 39.0657913 0 0 292.678 0 0 1 0
+4451 117.3541740 39.0657916 0 0 292.678 0 0 1 0
+4452 117.3541730 39.0657920 0 0 292.678 0 0 1 0
+4453 117.3541719 39.0657923 0 0 292.678 0 0 1 0
+4454 117.3541708 39.0657927 0 0 292.678 0 0 1 0
+4455 117.3541698 39.0657930 0 0 292.678 0 0 1 0
+4456 117.3541687 39.0657934 0 0 292.678 0 0 1 0
+4457 117.3541676 39.0657937 0 0 292.678 0 0 1 0
+4458 117.3541666 39.0657941 0 0 292.678 0 0 1 0
+4459 117.3541655 39.0657944 0 0 292.678 0 0 1 0
+4460 117.3541645 39.0657948 0 0 292.678 0 0 1 0
+4461 117.3541634 39.0657951 0 0 292.678 0 0 1 0
+4462 117.3541623 39.0657955 0 0 292.678 0 0 1 0
+4463 117.3541613 39.0657958 0 0 292.678 0 0 1 0
+4464 117.3541602 39.0657962 0 0 292.678 0 0 1 0
+4465 117.3541591 39.0657965 0 0 292.678 0 0 1 0
+4466 117.3541581 39.0657969 0 0 292.678 0 0 1 0
+4467 117.3541570 39.0657972 0 0 292.678 0 0 1 0
+4468 117.3541559 39.0657976 0 0 292.678 0 0 1 0
+4469 117.3541549 39.0657979 0 0 292.678 0 0 1 0
+4470 117.3541538 39.0657983 0 0 292.678 0 0 1 0
+4471 117.3541528 39.0657986 0 0 292.678 0 0 1 0
+4472 117.3541517 39.0657990 0 0 292.678 0 0 1 0
+4473 117.3541506 39.0657993 0 0 292.678 0 0 1 0
+4474 117.3541496 39.0657997 0 0 292.678 0 0 1 0
+4475 117.3541485 39.0658001 0 0 292.678 0 0 1 0
+4476 117.3541474 39.0658004 0 0 292.678 0 0 1 0
+4477 117.3541464 39.0658008 0 0 292.678 0 0 1 0
+4478 117.3541453 39.0658011 0 0 292.678 0 0 1 0
+4479 117.3541442 39.0658015 0 0 292.678 0 0 1 0
+4480 117.3541432 39.0658018 0 0 292.678 0 0 1 0
+4481 117.3541421 39.0658022 0 0 292.678 0 0 1 0
+4482 117.3541411 39.0658025 0 0 292.678 0 0 1 0
+4483 117.3541400 39.0658029 0 0 292.678 0 0 1 0
+4484 117.3541389 39.0658032 0 0 292.678 0 0 1 0
+4485 117.3541379 39.0658036 0 0 292.678 0 0 1 0
+4486 117.3541368 39.0658039 0 0 292.678 0 0 1 0
+4487 117.3541357 39.0658043 0 0 292.678 0 0 1 0
+4488 117.3541347 39.0658046 0 0 292.678 0 0 1 0
+4489 117.3541336 39.0658050 0 0 292.678 0 0 1 0
+4490 117.3541325 39.0658053 0 0 292.678 0 0 1 0
+4491 117.3541315 39.0658057 0 0 292.678 0 0 1 0
+4492 117.3541304 39.0658060 0 0 292.678 0 0 1 0
+4493 117.3541294 39.0658064 0 0 292.678 0 0 1 0
+4494 117.3541283 39.0658067 0 0 292.678 0 0 1 0
+4495 117.3541272 39.0658071 0 0 292.678 0 0 1 0
+4496 117.3541262 39.0658074 0 0 292.678 0 0 1 0
+4497 117.3541251 39.0658078 0 0 292.678 0 0 1 0
+4498 117.3541240 39.0658081 0 0 292.678 0 0 1 0
+4499 117.3541230 39.0658085 0 0 292.678 0 0 1 0
+4500 117.3541219 39.0658088 0 0 292.678 0 0 1 0
+4501 117.3541208 39.0658092 0 0 292.678 0 0 1 0
+4502 117.3541198 39.0658096 0 0 292.678 0 0 1 0
+4503 117.3541187 39.0658099 0 0 292.678 0 0 1 0
+4504 117.3541177 39.0658103 0 0 292.678 0 0 1 0
+4505 117.3541166 39.0658106 0 0 292.678 0 0 1 0
+4506 117.3541155 39.0658110 0 0 292.678 0 0 1 0
+4507 117.3541145 39.0658113 0 0 292.678 0 0 1 0
+4508 117.3541134 39.0658117 0 0 292.678 0 0 1 0
+4509 117.3541123 39.0658120 0 0 292.678 0 0 1 0
+4510 117.3541113 39.0658124 0 0 292.678 0 0 1 0
+4511 117.3541102 39.0658127 0 0 292.678 0 0 1 0
+4512 117.3541091 39.0658131 0 0 292.678 0 0 1 0
+4513 117.3541081 39.0658134 0 0 292.678 0 0 1 0
+4514 117.3541070 39.0658138 0 0 292.678 0 0 1 0
+4515 117.3541060 39.0658141 0 0 292.678 0 0 1 0
+4516 117.3541049 39.0658145 0 0 292.678 0 0 1 0
+4517 117.3541038 39.0658148 0 0 292.678 0 0 1 0
+4518 117.3541028 39.0658152 0 0 292.678 0 0 1 0
+4519 117.3541017 39.0658155 0 0 292.678 0 0 1 0
+4520 117.3541006 39.0658159 0 0 292.678 0 0 1 0
+4521 117.3540996 39.0658162 0 0 292.678 0 0 1 0
+4522 117.3540985 39.0658166 0 0 292.678 0 0 1 0
+4523 117.3540974 39.0658169 0 0 292.678 0 0 1 0
+4524 117.3540964 39.0658173 0 0 292.678 0 0 1 0
+4525 117.3540953 39.0658176 0 0 292.678 0 0 1 0
+4526 117.3540943 39.0658180 0 0 292.678 0 0 1 0
+4527 117.3540932 39.0658183 0 0 292.678 0 0 1 0
+4528 117.3540921 39.0658187 0 0 292.678 0 0 1 0
+4529 117.3540911 39.0658191 0 0 292.678 0 0 1 0
+4530 117.3540900 39.0658194 0 0 292.678 0 0 1 0
+4531 117.3540889 39.0658198 0 0 292.678 0 0 1 0
+4532 117.3540879 39.0658201 0 0 292.678 0 0 1 0
+4533 117.3540868 39.0658205 0 0 292.678 0 0 1 0
+4534 117.3540857 39.0658208 0 0 292.678 0 0 1 0
+4535 117.3540847 39.0658212 0 0 292.678 0 0 1 0
+4536 117.3540836 39.0658215 0 0 292.678 0 0 1 0
+4537 117.3540826 39.0658219 0 0 292.678 0 0 1 0
+4538 117.3540815 39.0658222 0 0 292.678 0 0 1 0
+4539 117.3540804 39.0658226 0 0 292.678 0 0 1 0
+4540 117.3540794 39.0658229 0 0 292.678 0 0 1 0
+4541 117.3540783 39.0658233 0 0 292.678 0 0 1 0
+4542 117.3540772 39.0658236 0 0 292.678 0 0 1 0
+4543 117.3540762 39.0658240 0 0 292.678 0 0 1 0
+4544 117.3540751 39.0658243 0 0 292.678 0 0 1 0
+4545 117.3540740 39.0658247 0 0 292.678 0 0 1 0
+4546 117.3540730 39.0658250 0 0 292.678 0 0 1 0
+4547 117.3540719 39.0658254 0 0 292.678 0 0 1 0
+4548 117.3540709 39.0658257 0 0 292.678 0 0 1 0
+4549 117.3540698 39.0658261 0 0 292.678 0 0 1 0
+4550 117.3540687 39.0658264 0 0 292.678 0 0 1 0
+4551 117.3540677 39.0658268 0 0 292.678 0 0 1 0
+4552 117.3540666 39.0658271 0 0 292.678 0 0 1 0
+4553 117.3540655 39.0658275 0 0 292.678 0 0 1 0
+4554 117.3540645 39.0658278 0 0 292.678 0 0 1 0
+4555 117.3540634 39.0658282 0 0 292.678 0 0 1 0
+4556 117.3540623 39.0658286 0 0 292.678 0 0 1 0
+4557 117.3540613 39.0658289 0 0 292.678 0 0 1 0
+4558 117.3540602 39.0658293 0 0 292.678 0 0 1 0
+4559 117.3540592 39.0658296 0 0 292.678 0 0 1 0
+4560 117.3540581 39.0658300 0 0 292.678 0 0 1 0
+4561 117.3540570 39.0658303 0 0 292.678 0 0 1 0
+4562 117.3540560 39.0658307 0 0 292.678 0 0 1 0
+4563 117.3540549 39.0658310 0 0 292.678 0 0 1 0
+4564 117.3540538 39.0658314 0 0 292.678 0 0 1 0
+4565 117.3540528 39.0658317 0 0 292.678 0 0 1 0
+4566 117.3540517 39.0658321 0 0 292.678 0 0 1 0
+4567 117.3540506 39.0658324 0 0 292.678 0 0 1 0
+4568 117.3540496 39.0658328 0 0 292.678 0 0 1 0
+4569 117.3540485 39.0658331 0 0 292.678 0 0 1 0
+4570 117.3540475 39.0658335 0 0 292.678 0 0 1 0
+4571 117.3540464 39.0658338 0 0 292.678 0 0 1 0
+4572 117.3540453 39.0658342 0 0 292.678 0 0 1 0
+4573 117.3540443 39.0658345 0 0 292.678 0 0 1 0
+4574 117.3540432 39.0658349 0 0 292.678 0 0 1 0
+4575 117.3540421 39.0658352 0 0 292.678 0 0 1 0
+4576 117.3540411 39.0658356 0 0 292.678 0 0 1 0
+4577 117.3540400 39.0658359 0 0 292.678 0 0 1 0
+4578 117.3540389 39.0658363 0 0 292.678 0 0 1 0
+4579 117.3540379 39.0658366 0 0 292.678 0 0 1 0
+4580 117.3540368 39.0658370 0 0 292.678 0 0 1 0
+4581 117.3540358 39.0658373 0 0 292.678 0 0 1 0
+4582 117.3540347 39.0658377 0 0 292.678 0 0 1 0
+4583 117.3540336 39.0658381 0 0 292.678 0 0 1 0
+4584 117.3540326 39.0658384 0 0 292.678 0 0 1 0
+4585 117.3540315 39.0658388 0 0 292.678 0 0 1 0
+4586 117.3540304 39.0658391 0 0 292.678 0 0 1 0
+4587 117.3540294 39.0658395 0 0 292.678 0 0 1 0
+4588 117.3540283 39.0658398 0 0 292.678 0 0 1 0
+4589 117.3540272 39.0658402 0 0 292.678 0 0 1 0
+4590 117.3540262 39.0658405 0 0 292.678 0 0 1 0
+4591 117.3540251 39.0658409 0 0 292.678 0 0 1 0
+4592 117.3540241 39.0658412 0 0 292.678 0 0 1 0
+4593 117.3540230 39.0658416 0 0 292.678 0 0 1 0
+4594 117.3540209 39.0658423 0 0 292.678 0 0 1 0
+4595 117.3540198 39.0658426 0 0 292.678 0 0 1 0
+4596 117.3540188 39.0658430 0 0 292.678 0 0 1 0
+4597 117.3540177 39.0658434 0 0 292.678 0 0 1 0
+4598 117.3540167 39.0658438 0 0 292.678 0 0 1 0
+4599 117.3540156 39.0658441 0 0 292.678 0 0 1 0
+4600 117.3540145 39.0658445 0 0 292.678 0 0 1 0
+4601 117.3540135 39.0658449 0 0 292.678 0 0 1 0
+4602 117.3540124 39.0658452 0 0 292.678 0 0 1 0
+4603 117.3540114 39.0658456 0 0 292.678 0 0 1 0
+4604 117.3540103 39.0658460 0 0 292.678 0 0 1 0
+4605 117.3540093 39.0658463 0 0 292.678 0 0 1 0
+4606 117.3540082 39.0658467 0 0 292.678 0 0 1 0
+4607 117.3540072 39.0658471 0 0 292.678 0 0 1 0
+4608 117.3540061 39.0658475 0 0 292.678 0 0 1 0
+4609 117.3540051 39.0658478 0 0 292.678 0 0 1 0
+4610 117.3540040 39.0658482 0 0 292.678 0 0 1 0
+4611 117.3540030 39.0658486 0 0 292.678 0 0 1 0
+4612 117.3540019 39.0658489 0 0 292.678 0 0 1 0
+4613 117.3540008 39.0658493 0 0 292.678 0 0 1 0
+4614 117.3539998 39.0658497 0 0 292.678 0 0 1 0
+4615 117.3539987 39.0658500 0 0 292.678 0 0 1 0
+4616 117.3539977 39.0658504 0 0 292.678 0 0 1 0
+4617 117.3539966 39.0658508 0 0 292.678 0 0 1 0
+4618 117.3539956 39.0658511 0 0 292.678 0 0 1 0
+4619 117.3539945 39.0658515 0 0 292.678 0 0 1 0
+4620 117.3539935 39.0658519 0 0 292.678 0 0 1 0
+4621 117.3539924 39.0658523 0 0 292.678 0 0 1 0
+4622 117.3539914 39.0658526 0 0 292.678 0 0 1 0
+4623 117.3539903 39.0658530 0 0 292.678 0 0 1 0
+4624 117.3539892 39.0658534 0 0 292.678 0 0 1 0
+4625 117.3539882 39.0658537 0 0 292.678 0 0 1 0
+4626 117.3539871 39.0658541 0 0 292.678 0 0 1 0
+4627 117.3539861 39.0658545 0 0 292.678 0 0 1 0
+4628 117.3539850 39.0658548 0 0 292.678 0 0 1 0
+4629 117.3539840 39.0658552 0 0 292.678 0 0 1 0
+4630 117.3539829 39.0658556 0 0 292.678 0 0 1 0
+4631 117.3539819 39.0658560 0 0 292.678 0 0 1 0
+4632 117.3539808 39.0658563 0 0 292.678 0 0 1 0
+4633 117.3539798 39.0658567 0 0 292.678 0 0 1 0
+4634 117.3539787 39.0658571 0 0 292.678 0 0 1 0
+4635 117.3539777 39.0658574 0 0 292.678 0 0 1 0
+4636 117.3539766 39.0658578 0 0 292.678 0 0 1 0
+4637 117.3539755 39.0658582 0 0 292.678 0 0 1 0
+4638 117.3539745 39.0658585 0 0 292.678 0 0 1 0
+4639 117.3539734 39.0658589 0 0 292.678 0 0 1 0
+4640 117.3539724 39.0658593 0 0 292.678 0 0 1 0
+4641 117.3539713 39.0658596 0 0 292.678 0 0 1 0
+4642 117.3539703 39.0658600 0 0 292.678 0 0 1 0
+4643 117.3539692 39.0658604 0 0 292.678 0 0 1 0
+4644 117.3539682 39.0658608 0 0 292.678 0 0 1 0
+4645 117.3539671 39.0658611 0 0 292.678 0 0 1 0
+4646 117.3539661 39.0658615 0 0 292.678 0 0 1 0
+4647 117.3539650 39.0658619 0 0 292.678 0 0 1 0
+4648 117.3539640 39.0658622 0 0 292.678 0 0 1 0
+4649 117.3539629 39.0658626 0 0 292.678 0 0 1 0
+4650 117.3539618 39.0658630 0 0 292.678 0 0 1 0
+4651 117.3539608 39.0658633 0 0 292.678 0 0 1 0
+4652 117.3539597 39.0658637 0 0 292.678 0 0 1 0
+4653 117.3539587 39.0658641 0 0 292.678 0 0 1 0
+4654 117.3539576 39.0658645 0 0 292.678 0 0 1 0
+4655 117.3539560 39.0658650 0 0 292.678 0 0 1 0
+4656 117.3539552 39.0658653 0 0 293.422 0 0 1 0
+4657 117.3539544 39.0658656 0 0 294.166 0 0 1 0
+4658 117.3539536 39.0658659 0 0 294.910 0 0 1 0
+4659 117.3539528 39.0658662 0 0 295.655 0 0 1 0
+4660 117.3539520 39.0658666 0 0 296.399 0 0 1 0
+4661 117.3539513 39.0658669 0 0 297.143 0 0 1 0
+4662 117.3539505 39.0658672 0 0 297.887 0 0 1 0
+4663 117.3539498 39.0658676 0 0 298.632 0 0 1 0
+4664 117.3539490 39.0658679 0 0 299.376 0 0 1 0
+4665 117.3539483 39.0658683 0 0 300.120 0 0 1 0
+4666 117.3539475 39.0658686 0 0 300.864 0 0 1 0
+4667 117.3539468 39.0658690 0 0 301.609 0 0 1 0
+4668 117.3539461 39.0658694 0 0 302.353 0 0 1 0
+4669 117.3539454 39.0658698 0 0 303.097 0 0 1 0
+4670 117.3539447 39.0658702 0 0 303.841 0 0 1 0
+4671 117.3539440 39.0658706 0 0 304.586 0 0 1 0
+4672 117.3539433 39.0658710 0 0 305.330 0 0 1 0
+4673 117.3539426 39.0658714 0 0 306.074 0 0 1 0
+4674 117.3539419 39.0658718 0 0 306.818 0 0 1 0
+4675 117.3539412 39.0658722 0 0 307.563 0 0 1 0
+4676 117.3539405 39.0658727 0 0 308.307 0 0 1 0
+4677 117.3539399 39.0658731 0 0 309.051 0 0 1 0
+4678 117.3539392 39.0658736 0 0 309.795 0 0 1 0
+4679 117.3539386 39.0658740 0 0 310.540 0 0 1 0
+4680 117.3539379 39.0658745 0 0 311.284 0 0 1 0
+4681 117.3539373 39.0658750 0 0 312.028 0 0 1 0
+4682 117.3539367 39.0658754 0 0 312.772 0 0 1 0
+4683 117.3539361 39.0658759 0 0 313.517 0 0 1 0
+4684 117.3539355 39.0658764 0 0 314.261 0 0 1 0
+4685 117.3539349 39.0658769 0 0 315.005 0 0 1 0
+4686 117.3539343 39.0658774 0 0 315.749 0 0 1 0
+4687 117.3539337 39.0658779 0 0 316.494 0 0 1 0
+4688 117.3539332 39.0658784 0 0 317.238 0 0 1 0
+4689 117.3539326 39.0658789 0 0 317.982 0 0 1 0
+4690 117.3539320 39.0658794 0 0 318.726 0 0 1 0
+4691 117.3539315 39.0658799 0 0 319.470 0 0 1 0
+4692 117.3539310 39.0658805 0 0 320.215 0 0 1 0
+4693 117.3539304 39.0658810 0 0 320.959 0 0 1 0
+4694 117.3539299 39.0658816 0 0 321.703 0 0 1 0
+4695 117.3539294 39.0658821 0 0 322.447 0 0 1 0
+4696 117.3539289 39.0658826 0 0 323.192 0 0 1 0
+4697 117.3539284 39.0658832 0 0 323.936 0 0 1 0
+4698 117.3539280 39.0658838 0 0 324.680 0 0 1 0
+4699 117.3539275 39.0658843 0 0 325.424 0 0 1 0
+4700 117.3539270 39.0658849 0 0 326.169 0 0 1 0
+4701 117.3539266 39.0658855 0 0 326.913 0 0 1 0
+4702 117.3539261 39.0658860 0 0 327.657 0 0 1 0
+4703 117.3539257 39.0658866 0 0 328.401 0 0 1 0
+4704 117.3539253 39.0658872 0 0 329.146 0 0 1 0
+4705 117.3539249 39.0658878 0 0 329.890 0 0 1 0
+4706 117.3539245 39.0658884 0 0 330.634 0 0 1 0
+4707 117.3539241 39.0658890 0 0 331.378 0 0 1 0
+4708 117.3539237 39.0658896 0 0 332.123 0 0 1 0
+4709 117.3539233 39.0658902 0 0 332.867 0 0 1 0
+4710 117.3539230 39.0658908 0 0 333.611 0 0 1 0
+4711 117.3539226 39.0658914 0 0 334.355 0 0 1 0
+4712 117.3539223 39.0658920 0 0 335.100 0 0 1 0
+4713 117.3539220 39.0658926 0 0 335.844 0 0 1 0
+4714 117.3539216 39.0658933 0 0 336.588 0 0 1 0
+4715 117.3539213 39.0658939 0 0 337.332 0 0 1 0
+4716 117.3539210 39.0658945 0 0 338.077 0 0 1 0
+4717 117.3539208 39.0658951 0 0 338.821 0 0 1 0
+4718 117.3539205 39.0658958 0 0 339.565 0 0 1 0
+4719 117.3539202 39.0658964 0 0 340.309 0 0 1 0
+4720 117.3539200 39.0658970 0 0 341.054 0 0 1 0
+4721 117.3539197 39.0658977 0 0 341.798 0 0 1 0
+4722 117.3539195 39.0658983 0 0 342.542 0 0 1 0
+4723 117.3539193 39.0658990 0 0 343.286 0 0 1 0
+4724 117.3539190 39.0658996 0 0 344.031 0 0 1 0
+4725 117.3539188 39.0659003 0 0 344.775 0 0 1 0
+4726 117.3539187 39.0659009 0 0 345.519 0 0 1 0
+4727 117.3539185 39.0659016 0 0 346.263 0 0 1 0
+4728 117.3539183 39.0659022 0 0 347.008 0 0 1 0
+4729 117.3539182 39.0659029 0 0 347.752 0 0 1 0
+4730 117.3539180 39.0659035 0 0 348.496 0 0 1 0
+4731 117.3539179 39.0659042 0 0 349.240 0 0 1 0
+4732 117.3539178 39.0659048 0 0 349.985 0 0 1 0
+4733 117.3539176 39.0659055 0 0 350.729 0 0 1 0
+4734 117.3539175 39.0659061 0 0 351.473 0 0 1 0
+4735 117.3539174 39.0659068 0 0 352.217 0 0 1 0
+4736 117.3539174 39.0659075 0 0 352.962 0 0 1 0
+4737 117.3539173 39.0659081 0 0 353.706 0 0 1 0
+4738 117.3539172 39.0659088 0 0 354.450 0 0 1 0
+4739 117.3539172 39.0659094 0 0 355.194 0 0 1 0
+4740 117.3539172 39.0659101 0 0 355.939 0 0 1 0
+4741 117.3539171 39.0659108 0 0 356.683 0 0 1 0
+4742 117.3539171 39.0659114 0 0 357.427 0 0 1 0
+4743 117.3539171 39.0659121 0 0 358.171 0 0 1 0
+4744 117.3539171 39.0659127 0 0 358.916 0 0 1 0
+4745 117.3539171 39.0659134 0 0 359.660 0 0 1 0
+4746 117.3539172 39.0659141 0 0 0.404 0 0 1 0
+4747 117.3539172 39.0659147 0 0 1.148 0 0 1 0
+4748 117.3539173 39.0659154 0 0 1.892 0 0 1 0
+4749 117.3539173 39.0659160 0 0 2.637 0 0 1 0
+4750 117.3539174 39.0659167 0 0 3.381 0 0 1 0
+4751 117.3539175 39.0659173 0 0 4.125 0 0 1 0
+4752 117.3539176 39.0659180 0 0 4.869 0 0 1 0
+4753 117.3539177 39.0659186 0 0 5.614 0 0 1 0
+4754 117.3539178 39.0659193 0 0 6.358 0 0 1 0
+4755 117.3539179 39.0659199 0 0 7.102 0 0 1 0
+4756 117.3539181 39.0659206 0 0 7.846 0 0 1 0
+4757 117.3539182 39.0659212 0 0 8.591 0 0 1 0
+4758 117.3539184 39.0659219 0 0 9.335 0 0 1 0
+4759 117.3539186 39.0659225 0 0 10.079 0 0 1 0
+4760 117.3539187 39.0659232 0 0 10.823 0 0 1 0
+4761 117.3539189 39.0659238 0 0 11.568 0 0 1 0
+4762 117.3539191 39.0659244 0 0 12.312 0 0 1 0
+4763 117.3539194 39.0659251 0 0 13.056 0 0 1 0
+4764 117.3539196 39.0659257 0 0 13.800 0 0 1 0
+4765 117.3539198 39.0659263 0 0 14.545 0 0 1 0
+4766 117.3539201 39.0659269 0 0 15.289 0 0 1 0
+4767 117.3539203 39.0659276 0 0 16.033 0 0 1 0
+4768 117.3539206 39.0659282 0 0 16.777 0 0 1 0
+4769 117.3539208 39.0659288 0 0 17.522 0 0 1 0
+4770 117.3539211 39.0659294 0 0 18.266 0 0 1 0
+4771 117.3539214 39.0659300 0 0 19.010 0 0 1 0
+4772 117.3539217 39.0659306 0 0 19.754 0 0 1 0
+4773 117.3539221 39.0659312 0 0 20.499 0 0 1 0
+4774 117.3539224 39.0659318 0 0 21.243 0 0 1 0
+4775 117.3539230 39.0659330 0 0 22.667 0 0 1 0
+4776 117.3539235 39.0659338 0 0 22.667 0 0 1 0
+4777 117.3539240 39.0659346 0 0 22.667 0 0 1 0
+4778 117.3539244 39.0659354 0 0 22.667 0 0 1 0
+4779 117.3539249 39.0659363 0 0 22.667 0 0 1 0
+4780 117.3539254 39.0659371 0 0 22.667 0 0 1 0
+4781 117.3539259 39.0659379 0 0 22.667 0 0 1 0
+4782 117.3539263 39.0659387 0 0 22.667 0 0 1 0
+4783 117.3539268 39.0659396 0 0 22.667 0 0 1 0
+4784 117.3539273 39.0659404 0 0 22.667 0 0 1 0
+4785 117.3539278 39.0659412 0 0 22.667 0 0 1 0
+4786 117.3539282 39.0659420 0 0 22.667 0 0 1 0
+4787 117.3539287 39.0659428 0 0 22.667 0 0 1 0
+4788 117.3539292 39.0659437 0 0 22.667 0 0 1 0
+4789 117.3539297 39.0659445 0 0 22.667 0 0 1 0
+4790 117.3539301 39.0659453 0 0 22.667 0 0 1 0
+4791 117.3539306 39.0659461 0 0 22.667 0 0 1 0
+4792 117.3539311 39.0659470 0 0 22.667 0 0 1 0
+4793 117.3539316 39.0659478 0 0 22.667 0 0 1 0
+4794 117.3539320 39.0659486 0 0 22.667 0 0 1 0
+4795 117.3539325 39.0659494 0 0 22.667 0 0 1 0
+4796 117.3539330 39.0659502 0 0 22.667 0 0 1 0
+4797 117.3539335 39.0659511 0 0 22.667 0 0 1 0
+4798 117.3539339 39.0659519 0 0 22.667 0 0 1 0
+4799 117.3539344 39.0659527 0 0 22.667 0 0 1 0
+4800 117.3539349 39.0659535 0 0 22.667 0 0 1 0
+4801 117.3539354 39.0659543 0 0 22.667 0 0 1 0
+4802 117.3539358 39.0659552 0 0 22.667 0 0 1 0
+4803 117.3539363 39.0659560 0 0 22.667 0 0 1 0
+4804 117.3539368 39.0659568 0 0 22.667 0 0 1 0
+4805 117.3539372 39.0659576 0 0 22.667 0 0 1 0
+4806 117.3539377 39.0659585 0 0 22.667 0 0 1 0
+4807 117.3539382 39.0659593 0 0 22.667 0 0 1 0
+4808 117.3539387 39.0659601 0 0 22.667 0 0 1 0
+4809 117.3539391 39.0659609 0 0 22.667 0 0 1 0
+4810 117.3539396 39.0659617 0 0 22.667 0 0 1 0
+4811 117.3539401 39.0659626 0 0 22.667 0 0 1 0
+4812 117.3539406 39.0659634 0 0 22.667 0 0 1 0
+4813 117.3539410 39.0659642 0 0 22.667 0 0 1 0
+4814 117.3539415 39.0659650 0 0 22.667 0 0 1 0
+4815 117.3539420 39.0659659 0 0 22.667 0 0 1 0
+4816 117.3539425 39.0659667 0 0 22.667 0 0 1 0
+4817 117.3539429 39.0659675 0 0 22.667 0 0 1 0
+4818 117.3539434 39.0659683 0 0 22.667 0 0 1 0
+4819 117.3539439 39.0659691 0 0 22.667 0 0 1 0
+4820 117.3539444 39.0659700 0 0 22.667 0 0 1 0
+4821 117.3539448 39.0659708 0 0 22.667 0 0 1 0
+4822 117.3539453 39.0659716 0 0 22.667 0 0 1 0
+4823 117.3539467 39.0659741 0 0 22.667 0 0 1 0
+4824 117.3539472 39.0659749 0 0 22.667 0 0 1 0
+4825 117.3539476 39.0659758 0 0 22.667 0 0 1 0
+4826 117.3539481 39.0659766 0 0 22.667 0 0 1 0
+4827 117.3539485 39.0659774 0 0 22.667 0 0 1 0
+4828 117.3539490 39.0659783 0 0 22.667 0 0 1 0
+4829 117.3539494 39.0659791 0 0 22.667 0 0 1 0
+4830 117.3539499 39.0659799 0 0 22.667 0 0 1 0
+4831 117.3539503 39.0659808 0 0 22.667 0 0 1 0
+4832 117.3539508 39.0659816 0 0 22.667 0 0 1 0
+4833 117.3539512 39.0659824 0 0 22.667 0 0 1 0
+4834 117.3539517 39.0659832 0 0 22.667 0 0 1 0
+4835 117.3539521 39.0659841 0 0 22.667 0 0 1 0
+4836 117.3539526 39.0659849 0 0 22.667 0 0 1 0
+4837 117.3539530 39.0659857 0 0 22.667 0 0 1 0
+4838 117.3539535 39.0659866 0 0 22.667 0 0 1 0
+4839 117.3539539 39.0659874 0 0 22.667 0 0 1 0
+4840 117.3539544 39.0659882 0 0 22.667 0 0 1 0
+4841 117.3539548 39.0659891 0 0 22.667 0 0 1 0
+4842 117.3539553 39.0659899 0 0 22.667 0 0 1 0
+4843 117.3539557 39.0659907 0 0 22.667 0 0 1 0
+4844 117.3539562 39.0659915 0 0 22.667 0 0 1 0
+4845 117.3539566 39.0659924 0 0 22.667 0 0 1 0
+4846 117.3539571 39.0659932 0 0 22.667 0 0 1 0
+4847 117.3539575 39.0659940 0 0 22.667 0 0 1 0
+4848 117.3539580 39.0659949 0 0 22.667 0 0 1 0
+4849 117.3539584 39.0659957 0 0 22.667 0 0 1 0
+4850 117.3539589 39.0659965 0 0 22.667 0 0 1 0
+4851 117.3539593 39.0659974 0 0 22.667 0 0 1 0
+4852 117.3539598 39.0659982 0 0 22.667 0 0 1 0
+4853 117.3539602 39.0659990 0 0 22.667 0 0 1 0
+4854 117.3539606 39.0659998 0 0 22.667 0 0 1 0
+4855 117.3539611 39.0660007 0 0 22.667 0 0 1 0
+4856 117.3539615 39.0660015 0 0 22.667 0 0 1 0
+4857 117.3539620 39.0660023 0 0 22.667 0 0 1 0
+4858 117.3539624 39.0660032 0 0 22.667 0 0 1 0
+4859 117.3539629 39.0660040 0 0 22.667 0 0 1 0
+4860 117.3539633 39.0660048 0 0 22.667 0 0 1 0
+4861 117.3539638 39.0660057 0 0 22.667 0 0 1 0
+4862 117.3539642 39.0660065 0 0 22.667 0 0 1 0
+4863 117.3539647 39.0660073 0 0 22.667 0 0 1 0
+4864 117.3539651 39.0660081 0 0 22.667 0 0 1 0
+4865 117.3539656 39.0660090 0 0 22.667 0 0 1 0
+4866 117.3539660 39.0660098 0 0 22.667 0 0 1 0
+4867 117.3539665 39.0660106 0 0 22.667 0 0 1 0
+4868 117.3539669 39.0660115 0 0 22.667 0 0 1 0
+4869 117.3539674 39.0660123 0 0 22.667 0 0 1 0
+4870 117.3539678 39.0660131 0 0 22.667 0 0 1 0
+4871 117.3539683 39.0660140 0 0 22.667 0 0 1 0
+4872 117.3539687 39.0660148 0 0 22.667 0 0 1 0
+4873 117.3539692 39.0660156 0 0 22.667 0 0 1 0
+4874 117.3539696 39.0660164 0 0 22.667 0 0 1 0
+4875 117.3539701 39.0660173 0 0 22.667 0 0 1 0
+4876 117.3539705 39.0660181 0 0 22.667 0 0 1 0
+4877 117.3539710 39.0660189 0 0 22.667 0 0 1 0
+4878 117.3539714 39.0660198 0 0 22.667 0 0 1 0
+4879 117.3539719 39.0660206 0 0 22.667 0 0 1 0
+4880 117.3539723 39.0660214 0 0 22.667 0 0 1 0
+4881 117.3539728 39.0660223 0 0 22.667 0 0 1 0
+4882 117.3539732 39.0660231 0 0 22.667 0 0 1 0
+4883 117.3539737 39.0660239 0 0 22.667 0 0 1 0
+4884 117.3539741 39.0660247 0 0 22.667 0 0 1 0
+4885 117.3539746 39.0660256 0 0 22.667 0 0 1 0
+4886 117.3539750 39.0660264 0 0 22.667 0 0 1 0
+4887 117.3539755 39.0660272 0 0 22.667 0 0 1 0
+4888 117.3539759 39.0660281 0 0 22.667 0 0 1 0
+4889 117.3539764 39.0660289 0 0 22.667 0 0 1 0
+4890 117.3539768 39.0660297 0 0 22.667 0 0 1 0
+4891 117.3539773 39.0660305 0 0 22.667 0 0 1 0
+4892 117.3539777 39.0660314 0 0 22.667 0 0 1 0
+4893 117.3539782 39.0660322 0 0 22.667 0 0 1 0
+4894 117.3539786 39.0660330 0 0 22.667 0 0 1 0
+4895 117.3539791 39.0660339 0 0 22.667 0 0 1 0
+4896 117.3539795 39.0660347 0 0 22.667 0 0 1 0
+4897 117.3539800 39.0660355 0 0 22.667 0 0 1 0
+4898 117.3539804 39.0660364 0 0 22.667 0 0 1 0
+4899 117.3539809 39.0660372 0 0 22.667 0 0 1 0
+4900 117.3539813 39.0660380 0 0 22.667 0 0 1 0
+4901 117.3539818 39.0660388 0 0 22.667 0 0 1 0
+4902 117.3539822 39.0660397 0 0 22.667 0 0 1 0
+4903 117.3539827 39.0660405 0 0 22.667 0 0 1 0
+4904 117.3539831 39.0660413 0 0 22.667 0 0 1 0
+4905 117.3539836 39.0660422 0 0 22.667 0 0 1 0
+4906 117.3539840 39.0660430 0 0 22.667 0 0 1 0
+4907 117.3539845 39.0660438 0 0 22.667 0 0 1 0
+4908 117.3539849 39.0660447 0 0 22.667 0 0 1 0
+4909 117.3539854 39.0660455 0 0 22.667 0 0 1 0
+4910 117.3539858 39.0660463 0 0 22.667 0 0 1 0
+4911 117.3539863 39.0660471 0 0 22.667 0 0 1 0
+4912 117.3539867 39.0660480 0 0 22.667 0 0 1 0
+4913 117.3539872 39.0660488 0 0 22.667 0 0 1 0
+4914 117.3539876 39.0660496 0 0 22.667 0 0 1 0
+4915 117.3539881 39.0660505 0 0 22.667 0 0 1 0
+4916 117.3539885 39.0660513 0 0 22.667 0 0 1 0
+4917 117.3539890 39.0660521 0 0 22.667 0 0 1 0
+4918 117.3539894 39.0660530 0 0 22.667 0 0 1 0
+4919 117.3539899 39.0660538 0 0 22.667 0 0 1 0
+4920 117.3539903 39.0660546 0 0 22.667 0 0 1 0
+4921 117.3539908 39.0660554 0 0 22.667 0 0 1 0
+4922 117.3539912 39.0660563 0 0 22.667 0 0 1 0
+4923 117.3539917 39.0660571 0 0 22.667 0 0 1 0
+4924 117.3539921 39.0660579 0 0 22.667 0 0 1 0
+4925 117.3539926 39.0660588 0 0 22.667 0 0 1 0
+4926 117.3539930 39.0660596 0 0 22.667 0 0 1 0
+4927 117.3539935 39.0660604 0 0 22.667 0 0 1 0
+4928 117.3539939 39.0660613 0 0 22.667 0 0 1 0
+4929 117.3539943 39.0660621 0 0 22.667 0 0 1 0
+4930 117.3539948 39.0660629 0 0 22.667 0 0 1 0
+4931 117.3539952 39.0660637 0 0 22.667 0 0 1 0
+4932 117.3539957 39.0660646 0 0 22.667 0 0 1 0
+4933 117.3539961 39.0660654 0 0 22.667 0 0 1 0
+4934 117.3539966 39.0660662 0 0 22.667 0 0 1 0
+4935 117.3539970 39.0660671 0 0 22.667 0 0 1 0
+4936 117.3539975 39.0660679 0 0 22.667 0 0 1 0
+4937 117.3539979 39.0660687 0 0 22.667 0 0 1 0
+4938 117.3539984 39.0660696 0 0 22.667 0 0 1 0
+4939 117.3539988 39.0660704 0 0 22.667 0 0 1 0
+4940 117.3539993 39.0660712 0 0 22.667 0 0 1 0
+4941 117.3539997 39.0660720 0 0 22.667 0 0 1 0
+4942 117.3540002 39.0660729 0 0 22.667 0 0 1 0
+4943 117.3540006 39.0660737 0 0 22.667 0 0 1 0
+4944 117.3540011 39.0660745 0 0 22.667 0 0 1 0
+4945 117.3540015 39.0660754 0 0 22.667 0 0 1 0
+4946 117.3540020 39.0660762 0 0 22.667 0 0 1 0
+4947 117.3540024 39.0660770 0 0 22.667 0 0 1 0
+4948 117.3540029 39.0660778 0 0 22.667 0 0 1 0
+4949 117.3540033 39.0660787 0 0 22.667 0 0 1 0
+4950 117.3540038 39.0660795 0 0 22.667 0 0 1 0
+4951 117.3540042 39.0660803 0 0 22.667 0 0 1 0
+4952 117.3540047 39.0660812 0 0 22.667 0 0 1 0
+4953 117.3540051 39.0660820 0 0 22.667 0 0 1 0
+4954 117.3540056 39.0660828 0 0 22.667 0 0 1 0
+4955 117.3540060 39.0660837 0 0 22.667 0 0 1 0
+4956 117.3540065 39.0660845 0 0 22.667 0 0 1 0
+4957 117.3540069 39.0660853 0 0 22.667 0 0 1 0
+4958 117.3540074 39.0660861 0 0 22.667 0 0 1 0
+4959 117.3540078 39.0660870 0 0 22.667 0 0 1 0
+4960 117.3540083 39.0660878 0 0 22.667 0 0 1 0
+4961 117.3540087 39.0660886 0 0 22.667 0 0 1 0
+4962 117.3540092 39.0660895 0 0 22.667 0 0 1 0
+4963 117.3540096 39.0660903 0 0 22.667 0 0 1 0
+4964 117.3540101 39.0660911 0 0 22.667 0 0 1 0
+4965 117.3540105 39.0660920 0 0 22.667 0 0 1 0
+4966 117.3540110 39.0660928 0 0 22.667 0 0 1 0
+4967 117.3540114 39.0660936 0 0 22.667 0 0 1 0
+4968 117.3540119 39.0660944 0 0 22.667 0 0 1 0
+4969 117.3540123 39.0660953 0 0 22.667 0 0 1 0
+4970 117.3540128 39.0660961 0 0 22.667 0 0 1 0
+4971 117.3540132 39.0660969 0 0 22.667 0 0 1 0
+4972 117.3540137 39.0660978 0 0 22.667 0 0 1 0
+4973 117.3540141 39.0660986 0 0 22.667 0 0 1 0
+4974 117.3540146 39.0660994 0 0 22.667 0 0 1 0
+4975 117.3540150 39.0661003 0 0 22.667 0 0 1 0
+4976 117.3540155 39.0661011 0 0 22.667 0 0 1 0
+4977 117.3540159 39.0661019 0 0 22.667 0 0 1 0
+4978 117.3540164 39.0661027 0 0 22.667 0 0 1 0
+4979 117.3540168 39.0661036 0 0 22.667 0 0 1 0
+4980 117.3540173 39.0661044 0 0 22.667 0 0 1 0
+4981 117.3540177 39.0661052 0 0 22.667 0 0 1 0
+4982 117.3540182 39.0661061 0 0 22.667 0 0 1 0
+4983 117.3540186 39.0661069 0 0 22.667 0 0 1 0
+4984 117.3540191 39.0661077 0 0 22.667 0 0 1 0
+4985 117.3540195 39.0661086 0 0 22.667 0 0 1 0
+4986 117.3540200 39.0661094 0 0 22.667 0 0 1 0
+4987 117.3540204 39.0661102 0 0 22.667 0 0 1 0
+4988 117.3540209 39.0661110 0 0 22.667 0 0 1 0
+4989 117.3540213 39.0661119 0 0 22.667 0 0 1 0
+4990 117.3540218 39.0661127 0 0 22.667 0 0 1 0
+4991 117.3540222 39.0661135 0 0 22.667 0 0 1 0
+4992 117.3540227 39.0661144 0 0 22.667 0 0 1 0
+4993 117.3540231 39.0661152 0 0 22.667 0 0 1 0
+4994 117.3540236 39.0661160 0 0 22.667 0 0 1 0
+4995 117.3540240 39.0661169 0 0 22.667 0 0 1 0
+4996 117.3540245 39.0661177 0 0 22.667 0 0 1 0
+4997 117.3540249 39.0661185 0 0 22.667 0 0 1 0
+4998 117.3540254 39.0661193 0 0 22.667 0 0 1 0
+4999 117.3540258 39.0661202 0 0 22.667 0 0 1 0
+5000 117.3540263 39.0661210 0 0 22.667 0 0 1 0
+5001 117.3540267 39.0661218 0 0 22.667 0 0 1 0
+5002 117.3540272 39.0661227 0 0 22.667 0 0 1 0
+5003 117.3540276 39.0661235 0 0 22.667 0 0 1 0
+5004 117.3540281 39.0661243 0 0 22.667 0 0 1 0
+5005 117.3540285 39.0661251 0 0 22.667 0 0 1 0
+5006 117.3540289 39.0661260 0 0 22.667 0 0 1 0
+5007 117.3540294 39.0661268 0 0 22.667 0 0 1 0
+5008 117.3540298 39.0661276 0 0 22.667 0 0 1 0
+5009 117.3540303 39.0661285 0 0 22.667 0 0 1 0
+5010 117.3540307 39.0661293 0 0 22.667 0 0 1 0
+5011 117.3540312 39.0661301 0 0 22.667 0 0 1 0
+5012 117.3540316 39.0661310 0 0 22.667 0 0 1 0
+5013 117.3540321 39.0661318 0 0 22.667 0 0 1 0
+5014 117.3540325 39.0661326 0 0 22.667 0 0 1 0
+5015 117.3540330 39.0661334 0 0 22.667 0 0 1 0
+5016 117.3540334 39.0661343 0 0 22.667 0 0 1 0
+5017 117.3540339 39.0661351 0 0 22.667 0 0 1 0
+5018 117.3540343 39.0661359 0 0 22.667 0 0 1 0
+5019 117.3540348 39.0661368 0 0 22.667 0 0 1 0
+5020 117.3540352 39.0661376 0 0 22.667 0 0 1 0
+5021 117.3540357 39.0661384 0 0 22.667 0 0 1 0
+5022 117.3540361 39.0661393 0 0 22.667 0 0 1 0
+5023 117.3540366 39.0661401 0 0 22.667 0 0 1 0
+5024 117.3540370 39.0661409 0 0 22.667 0 0 1 0
+5025 117.3540375 39.0661417 0 0 22.667 0 0 1 0
+5026 117.3540379 39.0661426 0 0 22.667 0 0 1 0
+5027 117.3540384 39.0661434 0 0 22.667 0 0 1 0
+5028 117.3540388 39.0661442 0 0 22.667 0 0 1 0
+5029 117.3540393 39.0661451 0 0 22.667 0 0 1 0
+5030 117.3540397 39.0661459 0 0 22.667 0 0 1 0
+5031 117.3540402 39.0661467 0 0 22.667 0 0 1 0
+5032 117.3540406 39.0661476 0 0 22.667 0 0 1 0
+5033 117.3540411 39.0661484 0 0 22.667 0 0 1 0
+5034 117.3540415 39.0661492 0 0 22.667 0 0 1 0
+5035 117.3540420 39.0661500 0 0 22.667 0 0 1 0
+5036 117.3540424 39.0661509 0 0 22.667 0 0 1 0
+5037 117.3540429 39.0661517 0 0 22.667 0 0 1 0
+5038 117.3540433 39.0661525 0 0 22.667 0 0 1 0
+5039 117.3540438 39.0661534 0 0 22.667 0 0 1 0
+5040 117.3540442 39.0661542 0 0 22.667 0 0 1 0
+5041 117.3540447 39.0661550 0 0 22.667 0 0 1 0
+5042 117.3540451 39.0661559 0 0 22.667 0 0 1 0
+5043 117.3540456 39.0661567 0 0 22.667 0 0 1 0
+5044 117.3540460 39.0661575 0 0 22.667 0 0 1 0
+5045 117.3540465 39.0661583 0 0 22.667 0 0 1 0
+5046 117.3540469 39.0661592 0 0 22.667 0 0 1 0
+5047 117.3540474 39.0661600 0 0 22.667 0 0 1 0
+5048 117.3540478 39.0661608 0 0 22.667 0 0 1 0
+5049 117.3540483 39.0661617 0 0 22.667 0 0 1 0
+5050 117.3540487 39.0661625 0 0 22.667 0 0 1 0
+5051 117.3540492 39.0661633 0 0 22.667 0 0 1 0
+5052 117.3540496 39.0661642 0 0 22.667 0 0 1 0
+5053 117.3540501 39.0661650 0 0 22.667 0 0 1 0
+5054 117.3540505 39.0661658 0 0 22.667 0 0 1 0
+5055 117.3540510 39.0661666 0 0 22.667 0 0 1 0
+5056 117.3540514 39.0661675 0 0 22.667 0 0 1 0
+5057 117.3540519 39.0661683 0 0 22.667 0 0 1 0
+5058 117.3540523 39.0661691 0 0 22.667 0 0 1 0
+5059 117.3540528 39.0661700 0 0 22.667 0 0 1 0
+5060 117.3540532 39.0661708 0 0 22.667 0 0 1 0
+5061 117.3540537 39.0661716 0 0 22.667 0 0 1 0
+5062 117.3540541 39.0661724 0 0 22.667 0 0 1 0
+5063 117.3540546 39.0661733 0 0 22.667 0 0 1 0
+5064 117.3540550 39.0661741 0 0 22.667 0 0 1 0
+5065 117.3540555 39.0661749 0 0 22.667 0 0 1 0
+5066 117.3540559 39.0661758 0 0 22.667 0 0 1 0
+5067 117.3540564 39.0661766 0 0 22.667 0 0 1 0
+5068 117.3540568 39.0661774 0 0 22.667 0 0 1 0
+5069 117.3540573 39.0661783 0 0 22.667 0 0 1 0
+5070 117.3540577 39.0661791 0 0 22.667 0 0 1 0
+5071 117.3540582 39.0661799 0 0 22.667 0 0 1 0
+5072 117.3540586 39.0661807 0 0 22.667 0 0 1 0
+5073 117.3540591 39.0661816 0 0 22.667 0 0 1 0
+5074 117.3540595 39.0661824 0 0 22.667 0 0 1 0
+5075 117.3540600 39.0661832 0 0 22.667 0 0 1 0
+5076 117.3540604 39.0661841 0 0 22.667 0 0 1 0
+5077 117.3540609 39.0661849 0 0 22.667 0 0 1 0
+5078 117.3540613 39.0661857 0 0 22.667 0 0 1 0
+5079 117.3540618 39.0661866 0 0 22.667 0 0 1 0
+5080 117.3540622 39.0661874 0 0 22.667 0 0 1 0
+5081 117.3540627 39.0661882 0 0 22.667 0 0 1 0
+5082 117.3540631 39.0661890 0 0 22.667 0 0 1 0
+5083 117.3540636 39.0661899 0 0 22.667 0 0 1 0
+5084 117.3540640 39.0661907 0 0 22.667 0 0 1 0
+5085 117.3540644 39.0661915 0 0 22.667 0 0 1 0
+5086 117.3540649 39.0661924 0 0 22.667 0 0 1 0
+5087 117.3540653 39.0661932 0 0 22.667 0 0 1 0
+5088 117.3540658 39.0661940 0 0 22.667 0 0 1 0
+5089 117.3540662 39.0661949 0 0 22.667 0 0 1 0
+5090 117.3540667 39.0661957 0 0 22.667 0 0 1 0
+5091 117.3540671 39.0661965 0 0 22.667 0 0 1 0
+5092 117.3540676 39.0661973 0 0 22.667 0 0 1 0
+5093 117.3540680 39.0661982 0 0 22.667 0 0 1 0
+5094 117.3540685 39.0661990 0 0 22.667 0 0 1 0
+5095 117.3540689 39.0661998 0 0 22.667 0 0 1 0
+5096 117.3540694 39.0662007 0 0 22.667 0 0 1 0
+5097 117.3540698 39.0662015 0 0 22.667 0 0 1 0
+5098 117.3540703 39.0662023 0 0 22.667 0 0 1 0
+5099 117.3540707 39.0662032 0 0 22.667 0 0 1 0
+5100 117.3540712 39.0662040 0 0 22.667 0 0 1 0
+5101 117.3540716 39.0662048 0 0 22.667 0 0 1 0
+5102 117.3540721 39.0662056 0 0 22.667 0 0 1 0
+5103 117.3540725 39.0662065 0 0 22.667 0 0 1 0
+5104 117.3540730 39.0662073 0 0 22.667 0 0 1 0
+5105 117.3540734 39.0662081 0 0 22.667 0 0 1 0
+5106 117.3540739 39.0662090 0 0 22.667 0 0 1 0
+5107 117.3540743 39.0662098 0 0 22.667 0 0 1 0
+5108 117.3540748 39.0662106 0 0 22.667 0 0 1 0
+5109 117.3540752 39.0662115 0 0 22.667 0 0 1 0
+5110 117.3540757 39.0662123 0 0 22.667 0 0 1 0
+5111 117.3540761 39.0662131 0 0 22.667 0 0 1 0
+5112 117.3540766 39.0662139 0 0 22.667 0 0 1 0
+5113 117.3540770 39.0662148 0 0 22.667 0 0 1 0
+5114 117.3540775 39.0662156 0 0 22.667 0 0 1 0
+5115 117.3540779 39.0662164 0 0 22.667 0 0 1 0
+5116 117.3540784 39.0662173 0 0 22.667 0 0 1 0
+5117 117.3540788 39.0662181 0 0 22.667 0 0 1 0
+5118 117.3540793 39.0662189 0 0 22.667 0 0 1 0
+5119 117.3540797 39.0662197 0 0 22.667 0 0 1 0
+5120 117.3540802 39.0662206 0 0 22.667 0 0 1 0
+5121 117.3540806 39.0662214 0 0 22.667 0 0 1 0
+5122 117.3540811 39.0662222 0 0 22.667 0 0 1 0
+5123 117.3540815 39.0662231 0 0 22.667 0 0 1 0
+5124 117.3540820 39.0662239 0 0 22.667 0 0 1 0
+5125 117.3540824 39.0662247 0 0 22.667 0 0 1 0
+5126 117.3540829 39.0662256 0 0 22.667 0 0 1 0
+5127 117.3540833 39.0662264 0 0 22.667 0 0 1 0
+5128 117.3540838 39.0662272 0 0 22.667 0 0 1 0
+5129 117.3540842 39.0662280 0 0 22.667 0 0 1 0
+5130 117.3540847 39.0662289 0 0 22.667 0 0 1 0
+5131 117.3540851 39.0662297 0 0 22.667 0 0 1 0
+5132 117.3540856 39.0662305 0 0 22.667 0 0 1 0
+5133 117.3540860 39.0662314 0 0 22.667 0 0 1 0
+5134 117.3540865 39.0662322 0 0 22.667 0 0 1 0
+5135 117.3540869 39.0662330 0 0 22.667 0 0 1 0
+5136 117.3540874 39.0662339 0 0 22.667 0 0 1 0
+5137 117.3540878 39.0662347 0 0 22.667 0 0 1 0
+5138 117.3540883 39.0662355 0 0 22.667 0 0 1 0
+5139 117.3540887 39.0662363 0 0 22.667 0 0 1 0
+5140 117.3540892 39.0662372 0 0 22.667 0 0 1 0
+5141 117.3540896 39.0662380 0 0 22.667 0 0 1 0
+5142 117.3540901 39.0662388 0 0 22.667 0 0 1 0
+5143 117.3540905 39.0662397 0 0 22.667 0 0 1 0
+5144 117.3540910 39.0662405 0 0 22.667 0 0 1 0
+5145 117.3540914 39.0662413 0 0 22.667 0 0 1 0
+5146 117.3540919 39.0662422 0 0 22.667 0 0 1 0
+5147 117.3540923 39.0662430 0 0 22.667 0 0 1 0
+5148 117.3540928 39.0662438 0 0 22.667 0 0 1 0
+5149 117.3540932 39.0662446 0 0 22.667 0 0 1 0
+5150 117.3540937 39.0662455 0 0 22.667 0 0 1 0
+5151 117.3540941 39.0662463 0 0 22.667 0 0 1 0
+5152 117.3540946 39.0662471 0 0 22.667 0 0 1 0
+5153 117.3540950 39.0662480 0 0 22.667 0 0 1 0
+5154 117.3540955 39.0662488 0 0 22.667 0 0 1 0
+5155 117.3540959 39.0662496 0 0 22.667 0 0 1 0
+5156 117.3540964 39.0662505 0 0 22.667 0 0 1 0
+5157 117.3540968 39.0662513 0 0 22.667 0 0 1 0
+5158 117.3540973 39.0662521 0 0 22.667 0 0 1 0
+5159 117.3540977 39.0662529 0 0 22.667 0 0 1 0
+5160 117.3540982 39.0662538 0 0 22.667 0 0 1 0
+5161 117.3540986 39.0662546 0 0 22.667 0 0 1 0
+5162 117.3540991 39.0662554 0 0 22.667 0 0 1 0
+5163 117.3540995 39.0662563 0 0 22.667 0 0 1 0
+5164 117.3541000 39.0662571 0 0 22.667 0 0 1 0
+5165 117.3541004 39.0662579 0 0 22.667 0 0 1 0
+5166 117.3541009 39.0662588 0 0 22.667 0 0 1 0
+5167 117.3541013 39.0662596 0 0 22.667 0 0 1 0
+5168 117.3541017 39.0662604 0 0 22.667 0 0 1 0
+5169 117.3541022 39.0662612 0 0 22.667 0 0 1 0
+5170 117.3541026 39.0662621 0 0 22.667 0 0 1 0
+5171 117.3541031 39.0662629 0 0 22.667 0 0 1 0
+5172 117.3541035 39.0662637 0 0 22.667 0 0 1 0
+5173 117.3541040 39.0662646 0 0 22.667 0 0 1 0
+5174 117.3541044 39.0662654 0 0 22.667 0 0 1 0
+5175 117.3541049 39.0662662 0 0 22.667 0 0 1 0
+5176 117.3541053 39.0662670 0 0 22.667 0 0 1 0
+5177 117.3541058 39.0662679 0 0 22.667 0 0 1 0
+5178 117.3541062 39.0662687 0 0 22.667 0 0 1 0
+5179 117.3541067 39.0662695 0 0 22.667 0 0 1 0
+5180 117.3541071 39.0662704 0 0 22.667 0 0 1 0
+5181 117.3541076 39.0662712 0 0 22.667 0 0 1 0
+5182 117.3541080 39.0662720 0 0 22.667 0 0 1 0
+5183 117.3541085 39.0662729 0 0 22.667 0 0 1 0
+5184 117.3541089 39.0662737 0 0 22.667 0 0 1 0
+5185 117.3541094 39.0662745 0 0 22.667 0 0 1 0
+5186 117.3541098 39.0662753 0 0 22.667 0 0 1 0
+5187 117.3541103 39.0662762 0 0 22.667 0 0 1 0
+5188 117.3541107 39.0662770 0 0 22.667 0 0 1 0
+5189 117.3541112 39.0662778 0 0 22.667 0 0 1 0
+5190 117.3541116 39.0662787 0 0 22.667 0 0 1 0
+5191 117.3541121 39.0662795 0 0 22.667 0 0 1 0
+5192 117.3541125 39.0662803 0 0 22.667 0 0 1 0
+5193 117.3541130 39.0662812 0 0 22.667 0 0 1 0
+5194 117.3541134 39.0662820 0 0 22.667 0 0 1 0
+5195 117.3541139 39.0662828 0 0 22.667 0 0 1 0
+5196 117.3541143 39.0662836 0 0 22.667 0 0 1 0
+5197 117.3541148 39.0662845 0 0 22.667 0 0 1 0
+5198 117.3541152 39.0662853 0 0 22.667 0 0 1 0
+5199 117.3541157 39.0662861 0 0 22.667 0 0 1 0
+5200 117.3541161 39.0662870 0 0 22.667 0 0 1 0
+5201 117.3541166 39.0662878 0 0 22.667 0 0 1 0
+5202 117.3541170 39.0662886 0 0 22.667 0 0 1 0
+5203 117.3541175 39.0662895 0 0 22.667 0 0 1 0
+5204 117.3541179 39.0662903 0 0 22.667 0 0 1 0
+5205 117.3541184 39.0662911 0 0 22.667 0 0 1 0
+5206 117.3541188 39.0662919 0 0 22.667 0 0 1 0
+5207 117.3541193 39.0662928 0 0 22.667 0 0 1 0
+5208 117.3541197 39.0662936 0 0 22.667 0 0 1 0
+5209 117.3541202 39.0662944 0 0 22.667 0 0 1 0
+5210 117.3541206 39.0662953 0 0 22.667 0 0 1 0
+5211 117.3541211 39.0662961 0 0 22.667 0 0 1 0
+5212 117.3541215 39.0662969 0 0 22.667 0 0 1 0
+5213 117.3541220 39.0662978 0 0 22.667 0 0 1 0
+5214 117.3541224 39.0662986 0 0 22.667 0 0 1 0
+5215 117.3541229 39.0662994 0 0 22.667 0 0 1 0
+5216 117.3541233 39.0663002 0 0 22.667 0 0 1 0
+5217 117.3541238 39.0663011 0 0 22.667 0 0 1 0
+5218 117.3541242 39.0663019 0 0 22.667 0 0 1 0
+5219 117.3541247 39.0663027 0 0 22.667 0 0 1 0
+5220 117.3541251 39.0663036 0 0 22.667 0 0 1 0
+5221 117.3541256 39.0663044 0 0 22.667 0 0 1 0
+5222 117.3541260 39.0663052 0 0 22.667 0 0 1 0
+5223 117.3541265 39.0663060 0 0 22.667 0 0 1 0
+5224 117.3541269 39.0663069 0 0 22.667 0 0 1 0
+5225 117.3541274 39.0663077 0 0 22.667 0 0 1 0
+5226 117.3541278 39.0663085 0 0 22.667 0 0 1 0
+5227 117.3541283 39.0663094 0 0 22.667 0 0 1 0
+5228 117.3541287 39.0663102 0 0 22.667 0 0 1 0
+5229 117.3541292 39.0663110 0 0 22.667 0 0 1 0
+5230 117.3541296 39.0663119 0 0 22.667 0 0 1 0
+5231 117.3541301 39.0663127 0 0 22.667 0 0 1 0
+5232 117.3541305 39.0663135 0 0 22.667 0 0 1 0
+5233 117.3541310 39.0663143 0 0 22.667 0 0 1 0
+5234 117.3541314 39.0663152 0 0 22.667 0 0 1 0
+5235 117.3541319 39.0663160 0 0 22.667 0 0 1 0
+5236 117.3541323 39.0663168 0 0 22.667 0 0 1 0
+5237 117.3541328 39.0663177 0 0 22.667 0 0 1 0
+5238 117.3541332 39.0663185 0 0 22.667 0 0 1 0
+5239 117.3541337 39.0663193 0 0 22.667 0 0 1 0
+5240 117.3541341 39.0663202 0 0 22.667 0 0 1 0
+5241 117.3541346 39.0663210 0 0 22.667 0 0 1 0
+5242 117.3541350 39.0663218 0 0 22.667 0 0 1 0
+5243 117.3541355 39.0663226 0 0 22.667 0 0 1 0
+5244 117.3541359 39.0663235 0 0 22.667 0 0 1 0
+5245 117.3541364 39.0663243 0 0 22.667 0 0 1 0
+5246 117.3541368 39.0663251 0 0 22.667 0 0 1 0
+5247 117.3541373 39.0663260 0 0 22.667 0 0 1 0
+5248 117.3541377 39.0663268 0 0 22.667 0 0 1 0
+5249 117.3541382 39.0663276 0 0 22.667 0 0 1 0
+5250 117.3541386 39.0663285 0 0 22.667 0 0 1 0
+5251 117.3541391 39.0663293 0 0 22.667 0 0 1 0
+5252 117.3541395 39.0663301 0 0 22.667 0 0 1 0
+5253 117.3541400 39.0663309 0 0 22.667 0 0 1 0
+5254 117.3541404 39.0663318 0 0 22.667 0 0 1 0
+5255 117.3541408 39.0663326 0 0 22.667 0 0 1 0
+5256 117.3541413 39.0663334 0 0 22.667 0 0 1 0
+5257 117.3541417 39.0663343 0 0 22.667 0 0 1 0
+5258 117.3541422 39.0663351 0 0 22.667 0 0 1 0
+5259 117.3541426 39.0663359 0 0 22.667 0 0 1 0
+5260 117.3541431 39.0663368 0 0 22.667 0 0 1 0
+5261 117.3541435 39.0663376 0 0 22.667 0 0 1 0
+5262 117.3541440 39.0663384 0 0 22.667 0 0 1 0
+5263 117.3541444 39.0663392 0 0 22.667 0 0 1 0
+5264 117.3541449 39.0663401 0 0 22.667 0 0 1 0
+5265 117.3541453 39.0663409 0 0 22.667 0 0 1 0
+5266 117.3541458 39.0663417 0 0 22.667 0 0 1 0
+5267 117.3541462 39.0663426 0 0 22.667 0 0 1 0
+5268 117.3541467 39.0663434 0 0 22.667 0 0 1 0
+5269 117.3541471 39.0663442 0 0 22.667 0 0 1 0
+5270 117.3541476 39.0663451 0 0 22.667 0 0 1 0
+5271 117.3541480 39.0663459 0 0 22.667 0 0 1 0
+5272 117.3541485 39.0663467 0 0 22.667 0 0 1 0
+5273 117.3541489 39.0663475 0 0 22.667 0 0 1 0
+5274 117.3541494 39.0663484 0 0 22.667 0 0 1 0
+5275 117.3541498 39.0663492 0 0 22.667 0 0 1 0
+5276 117.3541503 39.0663500 0 0 22.667 0 0 1 0
+5277 117.3541507 39.0663509 0 0 22.667 0 0 1 0
+5278 117.3541512 39.0663517 0 0 22.667 0 0 1 0
+5279 117.3541516 39.0663525 0 0 22.667 0 0 1 0
+5280 117.3541521 39.0663533 0 0 22.667 0 0 1 0
+5281 117.3541525 39.0663542 0 0 22.667 0 0 1 0
+5282 117.3541530 39.0663550 0 0 22.667 0 0 1 0
+5283 117.3541534 39.0663558 0 0 22.667 0 0 1 0
+5284 117.3541539 39.0663567 0 0 22.667 0 0 1 0
+5285 117.3541543 39.0663575 0 0 22.667 0 0 1 0
+5286 117.3541548 39.0663583 0 0 22.667 0 0 1 0
+5287 117.3541552 39.0663592 0 0 22.667 0 0 1 0
+5288 117.3541557 39.0663600 0 0 22.667 0 0 1 0
+5289 117.3541561 39.0663608 0 0 22.667 0 0 1 0
+5290 117.3541566 39.0663616 0 0 22.667 0 0 1 0
+5291 117.3541570 39.0663625 0 0 22.667 0 0 1 0
+5292 117.3541575 39.0663633 0 0 22.667 0 0 1 0
+5293 117.3541579 39.0663641 0 0 22.667 0 0 1 0
+5294 117.3541584 39.0663650 0 0 22.667 0 0 1 0
+5295 117.3541588 39.0663658 0 0 22.667 0 0 1 0
+5296 117.3541593 39.0663666 0 0 22.667 0 0 1 0
+5297 117.3541597 39.0663675 0 0 22.667 0 0 1 0
+5298 117.3541602 39.0663683 0 0 22.667 0 0 1 0
+5299 117.3541606 39.0663691 0 0 22.667 0 0 1 0
+5300 117.3541611 39.0663699 0 0 22.667 0 0 1 0
+5301 117.3541615 39.0663708 0 0 22.667 0 0 1 0
+5302 117.3541620 39.0663716 0 0 22.667 0 0 1 0
+5303 117.3541624 39.0663724 0 0 22.667 0 0 1 0
+5304 117.3541629 39.0663733 0 0 22.667 0 0 1 0
+5305 117.3541633 39.0663741 0 0 22.667 0 0 1 0
+5306 117.3541638 39.0663749 0 0 22.667 0 0 1 0
+5307 117.3541642 39.0663758 0 0 22.667 0 0 1 0
+5308 117.3541647 39.0663766 0 0 22.667 0 0 1 0
+5309 117.3541651 39.0663774 0 0 22.667 0 0 1 0
+5310 117.3541656 39.0663782 0 0 22.667 0 0 1 0
+5311 117.3541660 39.0663791 0 0 22.667 0 0 1 0
+5312 117.3541665 39.0663799 0 0 22.667 0 0 1 0
+5313 117.3541669 39.0663807 0 0 22.667 0 0 1 0
+5314 117.3541674 39.0663816 0 0 22.667 0 0 1 0
+5315 117.3541678 39.0663824 0 0 22.667 0 0 1 0
+5316 117.3541683 39.0663832 0 0 22.667 0 0 1 0
+5317 117.3541687 39.0663841 0 0 22.667 0 0 1 0
+5318 117.3541692 39.0663849 0 0 22.667 0 0 1 0
+5319 117.3541696 39.0663857 0 0 22.667 0 0 1 0
+5320 117.3541701 39.0663865 0 0 22.667 0 0 1 0
+5321 117.3541705 39.0663874 0 0 22.667 0 0 1 0
+5322 117.3541710 39.0663882 0 0 22.667 0 0 1 0
+5323 117.3541714 39.0663890 0 0 22.667 0 0 1 0
+5324 117.3541719 39.0663899 0 0 22.667 0 0 1 0
+5325 117.3541723 39.0663907 0 0 22.667 0 0 1 0
+5326 117.3541728 39.0663915 0 0 22.667 0 0 1 0
+5327 117.3541732 39.0663923 0 0 22.667 0 0 1 0
+5328 117.3541737 39.0663932 0 0 22.667 0 0 1 0
+5329 117.3541741 39.0663940 0 0 22.667 0 0 1 0
+5330 117.3541746 39.0663948 0 0 22.667 0 0 1 0
+5331 117.3541750 39.0663957 0 0 22.667 0 0 1 0
+5332 117.3541755 39.0663965 0 0 22.667 0 0 1 0
+5333 117.3541759 39.0663973 0 0 22.667 0 0 1 0
+5334 117.3541764 39.0663982 0 0 22.667 0 0 1 0
+5335 117.3541768 39.0663990 0 0 22.667 0 0 1 0
+5336 117.3541773 39.0663998 0 0 22.667 0 0 1 0
+5337 117.3541777 39.0664006 0 0 22.667 0 0 1 0
+5338 117.3541782 39.0664015 0 0 22.667 0 0 1 0
+5339 117.3541786 39.0664023 0 0 22.667 0 0 1 0
+5340 117.3541791 39.0664031 0 0 22.667 0 0 1 0
+5341 117.3541795 39.0664040 0 0 22.667 0 0 1 0
+5342 117.3541800 39.0664048 0 0 22.667 0 0 1 0
+5343 117.3541804 39.0664056 0 0 22.667 0 0 1 0
+5344 117.3541809 39.0664065 0 0 22.667 0 0 1 0
+5345 117.3541813 39.0664073 0 0 22.667 0 0 1 0
+5346 117.3541818 39.0664081 0 0 22.667 0 0 1 0
+5347 117.3541822 39.0664089 0 0 22.667 0 0 1 0
+5348 117.3541827 39.0664098 0 0 22.667 0 0 1 0
+5349 117.3541831 39.0664106 0 0 22.667 0 0 1 0
+5350 117.3541835 39.0664114 0 0 22.667 0 0 1 0
+5351 117.3541840 39.0664123 0 0 22.667 0 0 1 0
+5352 117.3541844 39.0664131 0 0 22.667 0 0 1 0
+5353 117.3541849 39.0664139 0 0 22.667 0 0 1 0
+5354 117.3541853 39.0664148 0 0 22.667 0 0 1 0
+5355 117.3541858 39.0664156 0 0 22.667 0 0 1 0
+5356 117.3541862 39.0664164 0 0 22.667 0 0 1 0
+5357 117.3541867 39.0664172 0 0 22.667 0 0 1 0
+5358 117.3541871 39.0664181 0 0 22.667 0 0 1 0
+5359 117.3541876 39.0664189 0 0 22.667 0 0 1 0
+5360 117.3541880 39.0664197 0 0 22.667 0 0 1 0
+5361 117.3541885 39.0664206 0 0 22.667 0 0 1 0
+5362 117.3541889 39.0664214 0 0 22.667 0 0 1 0
+5363 117.3541894 39.0664222 0 0 22.667 0 0 1 0
+5364 117.3541898 39.0664231 0 0 22.667 0 0 1 0
+5365 117.3541903 39.0664239 0 0 22.667 0 0 1 0
+5366 117.3541907 39.0664247 0 0 22.667 0 0 1 0
+5367 117.3541912 39.0664255 0 0 22.667 0 0 1 0
+5368 117.3541916 39.0664264 0 0 22.667 0 0 1 0
+5369 117.3541921 39.0664272 0 0 22.667 0 0 1 0
+5370 117.3541925 39.0664280 0 0 22.667 0 0 1 0
+5371 117.3541930 39.0664289 0 0 22.667 0 0 1 0
+5372 117.3541934 39.0664297 0 0 22.667 0 0 1 0
+5373 117.3541939 39.0664305 0 0 22.667 0 0 1 0
+5374 117.3541943 39.0664313 0 0 22.667 0 0 1 0
+5375 117.3541948 39.0664322 0 0 22.667 0 0 1 0
+5376 117.3541952 39.0664330 0 0 22.667 0 0 1 0
+5377 117.3541957 39.0664338 0 0 22.667 0 0 1 0
+5378 117.3541961 39.0664347 0 0 22.667 0 0 1 0
+5379 117.3541966 39.0664355 0 0 22.667 0 0 1 0
+5380 117.3541970 39.0664363 0 0 22.667 0 0 1 0
+5381 117.3541975 39.0664372 0 0 22.667 0 0 1 0
+5382 117.3541979 39.0664380 0 0 22.667 0 0 1 0
+5383 117.3541984 39.0664388 0 0 22.667 0 0 1 0
+5384 117.3541988 39.0664396 0 0 22.667 0 0 1 0
+5385 117.3541993 39.0664405 0 0 22.667 0 0 1 0
+5386 117.3541997 39.0664413 0 0 22.667 0 0 1 0
+5387 117.3542002 39.0664421 0 0 22.667 0 0 1 0
+5388 117.3542006 39.0664430 0 0 22.667 0 0 1 0
+5389 117.3542011 39.0664438 0 0 22.667 0 0 1 0
+5390 117.3542015 39.0664446 0 0 22.667 0 0 1 0
+5391 117.3542020 39.0664455 0 0 22.667 0 0 1 0
+5392 117.3542024 39.0664463 0 0 22.667 0 0 1 0
+5393 117.3542029 39.0664471 0 0 22.667 0 0 1 0
+5394 117.3542033 39.0664479 0 0 22.667 0 0 1 0
+5395 117.3542038 39.0664488 0 0 22.667 0 0 1 0
+5396 117.3542042 39.0664496 0 0 22.667 0 0 1 0
+5397 117.3542047 39.0664504 0 0 22.667 0 0 1 0
+5398 117.3542051 39.0664513 0 0 22.667 0 0 1 0
+5399 117.3542056 39.0664521 0 0 22.667 0 0 1 0
+5400 117.3542060 39.0664529 0 0 22.667 0 0 1 0
+5401 117.3542065 39.0664538 0 0 22.667 0 0 1 0
+5402 117.3542069 39.0664546 0 0 22.667 0 0 1 0
+5403 117.3542074 39.0664554 0 0 22.667 0 0 1 0
+5404 117.3542078 39.0664562 0 0 22.667 0 0 1 0
+5405 117.3542083 39.0664571 0 0 22.667 0 0 1 0
+5406 117.3542087 39.0664579 0 0 22.667 0 0 1 0
+5407 117.3542092 39.0664587 0 0 22.667 0 0 1 0
+5408 117.3542096 39.0664596 0 0 22.667 0 0 1 0
+5409 117.3542101 39.0664604 0 0 22.667 0 0 1 0
+5410 117.3542105 39.0664612 0 0 22.667 0 0 1 0
+5411 117.3542110 39.0664621 0 0 22.667 0 0 1 0
+5412 117.3542114 39.0664629 0 0 22.667 0 0 1 0
+5413 117.3542119 39.0664637 0 0 22.667 0 0 1 0
+5414 117.3542123 39.0664645 0 0 22.667 0 0 1 0
+5415 117.3542128 39.0664654 0 0 22.667 0 0 1 0
+5416 117.3542132 39.0664662 0 0 22.667 0 0 1 0
+5417 117.3542137 39.0664670 0 0 22.667 0 0 1 0
+5418 117.3542141 39.0664679 0 0 22.667 0 0 1 0
+5419 117.3542146 39.0664687 0 0 22.667 0 0 1 0
+5420 117.3542150 39.0664695 0 0 22.667 0 0 1 0
+5421 117.3542155 39.0664703 0 0 22.667 0 0 1 0
+5422 117.3542159 39.0664712 0 0 22.667 0 0 1 0
+5423 117.3542164 39.0664720 0 0 22.667 0 0 1 0
+5424 117.3542168 39.0664728 0 0 22.667 0 0 1 0
+5425 117.3542173 39.0664737 0 0 22.667 0 0 1 0
+5426 117.3542177 39.0664745 0 0 22.667 0 0 1 0
+5427 117.3542182 39.0664753 0 0 22.667 0 0 1 0
+5428 117.3542186 39.0664762 0 0 22.667 0 0 1 0
+5429 117.3542191 39.0664770 0 0 22.667 0 0 1 0
+5430 117.3542195 39.0664778 0 0 22.667 0 0 1 0
+5431 117.3542200 39.0664786 0 0 22.667 0 0 1 0
+5432 117.3542204 39.0664795 0 0 22.667 0 0 1 0
+5433 117.3542209 39.0664803 0 0 22.667 0 0 1 0
+5434 117.3542213 39.0664811 0 0 22.667 0 0 1 0
+5435 117.3542218 39.0664820 0 0 22.667 0 0 1 0
+5436 117.3542222 39.0664828 0 0 22.667 0 0 1 0
+5437 117.3542227 39.0664836 0 0 22.667 0 0 1 0
+5438 117.3542231 39.0664845 0 0 22.667 0 0 1 0
+5439 117.3542236 39.0664853 0 0 22.667 0 0 1 0
+5440 117.3542240 39.0664861 0 0 22.667 0 0 1 0
+5441 117.3542245 39.0664869 0 0 22.667 0 0 1 0
+5442 117.3542249 39.0664878 0 0 22.667 0 0 1 0
+5443 117.3542254 39.0664886 0 0 22.667 0 0 1 0
+5444 117.3542258 39.0664894 0 0 22.667 0 0 1 0
+5445 117.3542263 39.0664903 0 0 22.667 0 0 1 0
+5446 117.3542267 39.0664911 0 0 22.667 0 0 1 0
+5447 117.3542272 39.0664919 0 0 22.667 0 0 1 0
+5448 117.3542276 39.0664928 0 0 22.667 0 0 1 0
+5449 117.3542281 39.0664936 0 0 22.667 0 0 1 0
+5450 117.3542285 39.0664944 0 0 22.667 0 0 1 0
+5451 117.3542290 39.0664952 0 0 22.667 0 0 1 0
+5452 117.3542294 39.0664961 0 0 22.667 0 0 1 0
+5453 117.3542299 39.0664969 0 0 22.667 0 0 1 0
+5454 117.3542303 39.0664977 0 0 22.667 0 0 1 0
+5455 117.3542308 39.0664986 0 0 22.667 0 0 1 0
+5456 117.3542312 39.0664994 0 0 22.667 0 0 1 0
+5457 117.3542316 39.0665002 0 0 22.667 0 0 1 0
+5458 117.3542321 39.0665010 0 0 22.667 0 0 1 0
+5459 117.3542325 39.0665019 0 0 22.667 0 0 1 0
+5460 117.3542330 39.0665027 0 0 22.667 0 0 1 0
+5461 117.3542334 39.0665035 0 0 22.667 0 0 1 0
+5462 117.3542339 39.0665044 0 0 22.667 0 0 1 0
+5463 117.3542343 39.0665052 0 0 22.667 0 0 1 0
+5464 117.3542348 39.0665060 0 0 22.667 0 0 1 0
+5465 117.3542352 39.0665069 0 0 22.667 0 0 1 0
+5466 117.3542357 39.0665077 0 0 22.667 0 0 1 0
+5467 117.3542361 39.0665085 0 0 22.667 0 0 1 0
+5468 117.3542366 39.0665093 0 0 22.667 0 0 1 0
+5469 117.3542370 39.0665102 0 0 22.667 0 0 1 0
+5470 117.3542375 39.0665110 0 0 22.667 0 0 1 0
+5471 117.3542379 39.0665118 0 0 22.667 0 0 1 0
+5472 117.3542384 39.0665127 0 0 22.667 0 0 1 0
+5473 117.3542388 39.0665135 0 0 22.667 0 0 1 0
+5474 117.3542393 39.0665143 0 0 22.667 0 0 1 0
+5475 117.3542397 39.0665152 0 0 22.667 0 0 1 0
+5476 117.3542402 39.0665160 0 0 22.667 0 0 1 0
+5477 117.3542406 39.0665168 0 0 22.667 0 0 1 0
+5478 117.3542411 39.0665176 0 0 22.667 0 0 1 0
+5479 117.3542415 39.0665185 0 0 22.667 0 0 1 0
+5480 117.3542420 39.0665193 0 0 22.667 0 0 1 0
+5481 117.3542424 39.0665201 0 0 22.667 0 0 1 0
+5482 117.3542429 39.0665210 0 0 22.667 0 0 1 0
+5483 117.3542433 39.0665218 0 0 22.667 0 0 1 0
+5484 117.3542438 39.0665226 0 0 22.667 0 0 1 0
+5485 117.3542442 39.0665235 0 0 22.667 0 0 1 0
+5486 117.3542447 39.0665243 0 0 22.667 0 0 1 0
+5487 117.3542451 39.0665251 0 0 22.667 0 0 1 0
+5488 117.3542456 39.0665259 0 0 22.667 0 0 1 0
+5489 117.3542460 39.0665268 0 0 22.667 0 0 1 0
+5490 117.3542465 39.0665276 0 0 22.667 0 0 1 0
+5491 117.3542469 39.0665284 0 0 22.667 0 0 1 0
+5492 117.3542474 39.0665293 0 0 22.667 0 0 1 0
+5493 117.3542478 39.0665301 0 0 22.667 0 0 1 0
+5494 117.3542483 39.0665309 0 0 22.667 0 0 1 0
+5495 117.3542487 39.0665317 0 0 22.667 0 0 1 0
+5496 117.3542492 39.0665326 0 0 22.667 0 0 1 0
+5497 117.3542496 39.0665334 0 0 22.667 0 0 1 0
+5498 117.3542501 39.0665342 0 0 22.667 0 0 1 0
+5499 117.3542505 39.0665351 0 0 22.667 0 0 1 0
+5500 117.3542510 39.0665359 0 0 22.667 0 0 1 0
+5501 117.3542514 39.0665367 0 0 22.667 0 0 1 0
+5502 117.3542519 39.0665376 0 0 22.667 0 0 1 0
+5503 117.3542523 39.0665384 0 0 22.667 0 0 1 0
+5504 117.3542528 39.0665392 0 0 22.667 0 0 1 0
+5505 117.3542532 39.0665400 0 0 22.667 0 0 1 0
+5506 117.3542537 39.0665409 0 0 22.667 0 0 1 0
+5507 117.3542541 39.0665417 0 0 22.667 0 0 1 0
+5508 117.3542546 39.0665425 0 0 22.667 0 0 1 0
+5509 117.3542550 39.0665434 0 0 22.667 0 0 1 0
+5510 117.3542555 39.0665442 0 0 22.667 0 0 1 0
+5511 117.3542559 39.0665450 0 0 22.667 0 0 1 0
+5512 117.3542564 39.0665459 0 0 22.667 0 0 1 0
+5513 117.3542568 39.0665467 0 0 22.667 0 0 1 0
+5514 117.3542573 39.0665475 0 0 22.667 0 0 1 0
+5515 117.3542577 39.0665483 0 0 22.667 0 0 1 0
+5516 117.3542582 39.0665492 0 0 22.667 0 0 1 0
+5517 117.3542586 39.0665500 0 0 22.806 0 0 1 0
+5518 117.3542591 39.0665508 0 0 22.806 0 0 1 0
+5519 117.3542596 39.0665516 0 0 22.806 0 0 1 0
+5520 117.3542600 39.0665525 0 0 22.806 0 0 1 0
+5521 117.3542605 39.0665533 0 0 22.806 0 0 1 0
+5522 117.3542609 39.0665541 0 0 22.806 0 0 1 0
+5523 117.3542614 39.0665549 0 0 22.806 0 0 1 0
+5524 117.3542619 39.0665558 0 0 22.806 0 0 1 0
+5525 117.3542623 39.0665566 0 0 22.806 0 0 1 0
+5526 117.3542628 39.0665574 0 0 22.806 0 0 1 0
+5527 117.3542632 39.0665582 0 0 22.806 0 0 1 0
+5528 117.3542637 39.0665591 0 0 22.806 0 0 1 0
+5529 117.3542642 39.0665599 0 0 22.806 0 0 1 0
+5530 117.3542646 39.0665607 0 0 22.806 0 0 1 0
+5531 117.3542651 39.0665616 0 0 22.806 0 0 1 0
+5532 117.3542655 39.0665624 0 0 22.806 0 0 1 0
+5533 117.3542660 39.0665632 0 0 22.806 0 0 1 0
+5534 117.3542665 39.0665640 0 0 22.806 0 0 1 0
+5535 117.3542669 39.0665649 0 0 22.806 0 0 1 0
+5536 117.3542674 39.0665657 0 0 22.806 0 0 1 0
+5537 117.3542678 39.0665665 0 0 22.806 0 0 1 0
+5538 117.3542683 39.0665673 0 0 22.806 0 0 1 0
+5539 117.3542688 39.0665682 0 0 22.806 0 0 1 0
+5540 117.3542692 39.0665690 0 0 22.806 0 0 1 0
+5541 117.3542697 39.0665698 0 0 22.806 0 0 1 0
+5542 117.3542702 39.0665706 0 0 22.806 0 0 1 0
+5543 117.3542706 39.0665715 0 0 22.806 0 0 1 0
+5544 117.3542711 39.0665723 0 0 22.806 0 0 1 0
+5545 117.3542715 39.0665731 0 0 22.806 0 0 1 0
+5546 117.3542720 39.0665739 0 0 22.806 0 0 1 0
+5547 117.3542725 39.0665748 0 0 22.806 0 0 1 0
+5548 117.3542729 39.0665756 0 0 22.806 0 0 1 0
+5549 117.3542734 39.0665764 0 0 22.806 0 0 1 0
+5550 117.3542738 39.0665772 0 0 22.806 0 0 1 0
+5551 117.3542743 39.0665781 0 0 22.806 0 0 1 0
+5552 117.3542748 39.0665789 0 0 22.806 0 0 1 0
+5553 117.3542752 39.0665797 0 0 22.806 0 0 1 0
+5554 117.3542757 39.0665805 0 0 22.806 0 0 1 0
+5555 117.3542761 39.0665814 0 0 22.806 0 0 1 0
+5556 117.3542766 39.0665822 0 0 22.806 0 0 1 0
+5557 117.3542771 39.0665830 0 0 22.806 0 0 1 0
+5558 117.3542775 39.0665839 0 0 22.806 0 0 1 0
+5559 117.3542780 39.0665847 0 0 22.806 0 0 1 0
+5560 117.3542784 39.0665855 0 0 22.806 0 0 1 0
+5561 117.3542789 39.0665863 0 0 22.806 0 0 1 0
+5562 117.3542794 39.0665872 0 0 22.806 0 0 1 0
+5563 117.3542798 39.0665880 0 0 22.806 0 0 1 0
+5564 117.3542803 39.0665888 0 0 22.806 0 0 1 0
+5565 117.3542808 39.0665896 0 0 22.806 0 0 1 0
+5566 117.3542812 39.0665905 0 0 22.806 0 0 1 0
+5567 117.3542817 39.0665913 0 0 22.806 0 0 1 0
+5568 117.3542821 39.0665921 0 0 22.806 0 0 1 0
+5569 117.3542826 39.0665929 0 0 22.806 0 0 1 0
+5570 117.3542831 39.0665938 0 0 22.806 0 0 1 0
+5571 117.3542835 39.0665946 0 0 22.806 0 0 1 0
+5572 117.3542840 39.0665954 0 0 22.806 0 0 1 0
+5573 117.3542844 39.0665962 0 0 22.806 0 0 1 0
+5574 117.3542849 39.0665971 0 0 22.806 0 0 1 0
+5575 117.3542854 39.0665979 0 0 22.806 0 0 1 0
+5576 117.3542858 39.0665987 0 0 22.806 0 0 1 0
+5577 117.3542863 39.0665995 0 0 22.806 0 0 1 0
+5578 117.3542867 39.0666004 0 0 22.806 0 0 1 0
+5579 117.3542872 39.0666012 0 0 22.806 0 0 1 0
+5580 117.3542877 39.0666020 0 0 22.806 0 0 1 0
+5581 117.3542881 39.0666029 0 0 22.806 0 0 1 0
+5582 117.3542886 39.0666037 0 0 22.806 0 0 1 0
+5583 117.3542890 39.0666045 0 0 22.806 0 0 1 0
+5584 117.3542895 39.0666053 0 0 22.806 0 0 1 0
+5585 117.3542900 39.0666062 0 0 22.806 0 0 1 0
+5586 117.3542904 39.0666070 0 0 22.806 0 0 1 0
+5587 117.3542909 39.0666078 0 0 22.806 0 0 1 0
+5588 117.3542914 39.0666086 0 0 22.806 0 0 1 0
+5589 117.3542918 39.0666095 0 0 22.806 0 0 1 0
+5590 117.3542923 39.0666103 0 0 22.806 0 0 1 0
+5591 117.3542927 39.0666111 0 0 22.806 0 0 1 0
+5592 117.3542932 39.0666119 0 0 22.806 0 0 1 0
+5593 117.3542937 39.0666128 0 0 22.806 0 0 1 0
+5594 117.3542941 39.0666136 0 0 22.806 0 0 1 0
+5595 117.3542946 39.0666144 0 0 22.806 0 0 1 0
+5596 117.3542950 39.0666152 0 0 22.806 0 0 1 0
+5597 117.3542955 39.0666161 0 0 22.806 0 0 1 0
+5598 117.3542960 39.0666169 0 0 22.806 0 0 1 0
+5599 117.3542964 39.0666177 0 0 22.806 0 0 1 0
+5600 117.3542969 39.0666185 0 0 22.806 0 0 1 0
+5601 117.3542973 39.0666194 0 0 22.806 0 0 1 0
+5602 117.3542978 39.0666202 0 0 22.806 0 0 1 0
+5603 117.3542983 39.0666210 0 0 22.806 0 0 1 0
+5604 117.3542987 39.0666219 0 0 22.806 0 0 1 0
+5605 117.3542992 39.0666227 0 0 22.806 0 0 1 0
+5606 117.3542996 39.0666235 0 0 22.806 0 0 1 0
+5607 117.3543001 39.0666243 0 0 22.806 0 0 1 0
+5608 117.3543006 39.0666252 0 0 22.806 0 0 1 0
+5609 117.3543010 39.0666260 0 0 22.806 0 0 1 0
+5610 117.3543015 39.0666268 0 0 22.806 0 0 1 0
+5611 117.3543020 39.0666276 0 0 22.806 0 0 1 0
+5612 117.3543024 39.0666285 0 0 22.806 0 0 1 0
+5613 117.3543029 39.0666293 0 0 22.806 0 0 1 0
+5614 117.3543033 39.0666301 0 0 22.806 0 0 1 0
+5615 117.3543038 39.0666309 0 0 22.806 0 0 1 0
+5616 117.3543043 39.0666318 0 0 22.806 0 0 1 0
+5617 117.3543047 39.0666326 0 0 22.806 0 0 1 0
+5618 117.3543052 39.0666334 0 0 22.806 0 0 1 0
+5619 117.3543056 39.0666342 0 0 22.806 0 0 1 0
+5620 117.3543061 39.0666351 0 0 22.806 0 0 1 0
+5621 117.3543066 39.0666359 0 0 22.806 0 0 1 0
+5622 117.3543070 39.0666367 0 0 22.806 0 0 1 0
+5623 117.3543075 39.0666375 0 0 22.806 0 0 1 0
+5624 117.3543079 39.0666384 0 0 22.806 0 0 1 0
+5625 117.3543084 39.0666392 0 0 22.806 0 0 1 0
+5626 117.3543089 39.0666400 0 0 22.806 0 0 1 0
+5627 117.3543093 39.0666408 0 0 22.806 0 0 1 0
+5628 117.3543098 39.0666417 0 0 22.806 0 0 1 0
+5629 117.3543102 39.0666425 0 0 22.806 0 0 1 0
+5630 117.3543107 39.0666433 0 0 22.806 0 0 1 0
+5631 117.3543112 39.0666442 0 0 22.806 0 0 1 0
+5632 117.3543116 39.0666450 0 0 22.806 0 0 1 0
+5633 117.3543121 39.0666458 0 0 22.806 0 0 1 0
+5634 117.3543126 39.0666466 0 0 22.806 0 0 1 0
+5635 117.3543130 39.0666475 0 0 22.806 0 0 1 0
+5636 117.3543135 39.0666483 0 0 22.806 0 0 1 0
+5637 117.3543139 39.0666491 0 0 22.806 0 0 1 0
+5638 117.3543144 39.0666499 0 0 22.806 0 0 1 0
+5639 117.3543149 39.0666508 0 0 22.806 0 0 1 0
+5640 117.3543153 39.0666516 0 0 22.806 0 0 1 0
+5641 117.3543158 39.0666524 0 0 22.806 0 0 1 0
+5642 117.3543162 39.0666532 0 0 22.806 0 0 1 0
+5643 117.3543167 39.0666541 0 0 22.806 0 0 1 0
+5644 117.3543172 39.0666549 0 0 22.806 0 0 1 0
+5645 117.3543176 39.0666557 0 0 22.806 0 0 1 0
+5646 117.3543181 39.0666565 0 0 22.806 0 0 1 0
+5647 117.3543185 39.0666574 0 0 22.806 0 0 1 0
+5648 117.3543190 39.0666582 0 0 22.806 0 0 1 0
+5649 117.3543195 39.0666590 0 0 22.806 0 0 1 0
+5650 117.3543199 39.0666598 0 0 22.806 0 0 1 0
+5651 117.3543204 39.0666607 0 0 22.806 0 0 1 0
+5652 117.3543209 39.0666615 0 0 22.806 0 0 1 0
+5653 117.3543213 39.0666623 0 0 22.806 0 0 1 0
+5654 117.3543218 39.0666632 0 0 22.806 0 0 1 0
+5655 117.3543222 39.0666640 0 0 22.806 0 0 1 0
+5656 117.3543227 39.0666648 0 0 22.806 0 0 1 0
+5657 117.3543232 39.0666656 0 0 22.806 0 0 1 0
+5658 117.3543236 39.0666665 0 0 22.806 0 0 1 0
+5659 117.3543241 39.0666673 0 0 22.806 0 0 1 0
+5660 117.3543245 39.0666681 0 0 22.806 0 0 1 0
+5661 117.3543250 39.0666689 0 0 22.806 0 0 1 0
+5662 117.3543255 39.0666698 0 0 22.806 0 0 1 0
+5663 117.3543259 39.0666706 0 0 22.806 0 0 1 0
+5664 117.3543264 39.0666714 0 0 22.806 0 0 1 0
+5665 117.3543268 39.0666722 0 0 22.806 0 0 1 0
+5666 117.3543273 39.0666731 0 0 22.806 0 0 1 0
+5667 117.3543278 39.0666739 0 0 22.806 0 0 1 0
+5668 117.3543282 39.0666747 0 0 22.806 0 0 1 0
+5669 117.3543287 39.0666755 0 0 22.806 0 0 1 0
+5670 117.3543291 39.0666764 0 0 22.806 0 0 1 0
+5671 117.3543296 39.0666772 0 0 22.806 0 0 1 0
+5672 117.3543301 39.0666780 0 0 22.806 0 0 1 0
+5673 117.3543305 39.0666788 0 0 22.806 0 0 1 0
+5674 117.3543310 39.0666797 0 0 22.806 0 0 1 0
+5675 117.3543315 39.0666805 0 0 22.806 0 0 1 0
+5676 117.3543319 39.0666813 0 0 22.806 0 0 1 0
+5677 117.3543324 39.0666821 0 0 22.806 0 0 1 0
+5678 117.3543328 39.0666830 0 0 22.806 0 0 1 0
+5679 117.3543333 39.0666838 0 0 22.806 0 0 1 0
+5680 117.3543338 39.0666846 0 0 22.806 0 0 1 0
+5681 117.3543342 39.0666855 0 0 22.806 0 0 1 0
+5682 117.3543347 39.0666863 0 0 22.806 0 0 1 0
+5683 117.3543351 39.0666871 0 0 22.806 0 0 1 0
+5684 117.3543356 39.0666879 0 0 22.806 0 0 1 0
+5685 117.3543361 39.0666888 0 0 22.806 0 0 1 0
+5686 117.3543365 39.0666896 0 0 22.806 0 0 1 0
+5687 117.3543370 39.0666904 0 0 22.806 0 0 1 0
+5688 117.3543374 39.0666912 0 0 22.806 0 0 1 0
+5689 117.3543379 39.0666921 0 0 22.806 0 0 1 0
+5690 117.3543384 39.0666929 0 0 22.806 0 0 1 0
+5691 117.3543388 39.0666937 0 0 22.806 0 0 1 0
+5692 117.3543393 39.0666945 0 0 22.806 0 0 1 0
+5693 117.3543397 39.0666954 0 0 22.806 0 0 1 0
+5694 117.3543402 39.0666962 0 0 22.806 0 0 1 0
+5695 117.3543407 39.0666970 0 0 22.806 0 0 1 0
+5696 117.3543411 39.0666978 0 0 22.806 0 0 1 0
+5697 117.3543416 39.0666987 0 0 22.806 0 0 1 0
+5698 117.3543421 39.0666995 0 0 22.806 0 0 1 0
+5699 117.3543425 39.0667003 0 0 22.806 0 0 1 0
+5700 117.3543430 39.0667011 0 0 22.806 0 0 1 0
+5701 117.3543434 39.0667020 0 0 22.806 0 0 1 0
+5702 117.3543439 39.0667028 0 0 22.806 0 0 1 0
+5703 117.3543444 39.0667036 0 0 22.806 0 0 1 0
+5704 117.3543448 39.0667045 0 0 22.806 0 0 1 0
+5705 117.3543453 39.0667053 0 0 22.806 0 0 1 0
+5706 117.3543457 39.0667061 0 0 22.806 0 0 1 0
+5707 117.3543462 39.0667069 0 0 22.806 0 0 1 0
+5708 117.3543467 39.0667078 0 0 22.806 0 0 1 0
+5709 117.3543471 39.0667086 0 0 22.806 0 0 1 0
+5710 117.3543476 39.0667094 0 0 22.806 0 0 1 0
+5711 117.3543480 39.0667102 0 0 22.806 0 0 1 0
+5712 117.3543485 39.0667111 0 0 22.806 0 0 1 0
+5713 117.3543490 39.0667119 0 0 22.806 0 0 1 0
+5714 117.3543494 39.0667127 0 0 22.806 0 0 1 0
+5715 117.3543499 39.0667135 0 0 22.806 0 0 1 0
+5716 117.3543503 39.0667144 0 0 22.806 0 0 1 0
+5717 117.3543508 39.0667152 0 0 22.806 0 0 1 0
+5718 117.3543513 39.0667160 0 0 22.806 0 0 1 0
+5719 117.3543517 39.0667168 0 0 22.806 0 0 1 0
+5720 117.3543522 39.0667177 0 0 22.806 0 0 1 0
+5721 117.3543527 39.0667185 0 0 22.806 0 0 1 0
+5722 117.3543531 39.0667193 0 0 22.806 0 0 1 0
+5723 117.3543537 39.0667203 0 0 22.743 0 0 1 0
+5724 117.3543541 39.0667212 0 0 22.743 0 0 1 0
+5725 117.3543546 39.0667220 0 0 22.743 0 0 1 0
+5726 117.3543550 39.0667228 0 0 22.743 0 0 1 0
+5727 117.3543555 39.0667236 0 0 22.743 0 0 1 0
+5728 117.3543559 39.0667245 0 0 22.743 0 0 1 0
+5729 117.3543564 39.0667253 0 0 22.743 0 0 1 0
+5730 117.3543568 39.0667261 0 0 22.743 0 0 1 0
+5731 117.3543573 39.0667270 0 0 22.743 0 0 1 0
+5732 117.3543577 39.0667278 0 0 22.743 0 0 1 0
+5733 117.3543582 39.0667286 0 0 22.743 0 0 1 0
+5734 117.3543586 39.0667295 0 0 22.743 0 0 1 0
+5735 117.3543591 39.0667303 0 0 22.743 0 0 1 0
+5736 117.3543595 39.0667311 0 0 22.743 0 0 1 0
+5737 117.3543600 39.0667319 0 0 22.743 0 0 1 0
+5738 117.3543604 39.0667328 0 0 22.743 0 0 1 0
+5739 117.3543609 39.0667336 0 0 22.743 0 0 1 0
+5740 117.3543613 39.0667344 0 0 22.743 0 0 1 0
+5741 117.3543618 39.0667353 0 0 22.743 0 0 1 0
+5742 117.3543622 39.0667361 0 0 22.743 0 0 1 0
+5743 117.3543627 39.0667369 0 0 22.743 0 0 1 0
+5744 117.3543631 39.0667377 0 0 22.743 0 0 1 0
+5745 117.3543636 39.0667386 0 0 22.743 0 0 1 0
+5746 117.3543640 39.0667394 0 0 22.743 0 0 1 0
+5747 117.3543645 39.0667402 0 0 22.743 0 0 1 0
+5748 117.3543649 39.0667411 0 0 22.743 0 0 1 0
+5749 117.3543654 39.0667419 0 0 22.743 0 0 1 0
+5750 117.3543658 39.0667427 0 0 22.743 0 0 1 0
+5751 117.3543663 39.0667435 0 0 22.743 0 0 1 0
+5752 117.3543668 39.0667444 0 0 22.743 0 0 1 0
+5753 117.3543672 39.0667452 0 0 22.743 0 0 1 0
+5754 117.3543677 39.0667460 0 0 22.743 0 0 1 0
+5755 117.3543681 39.0667469 0 0 22.743 0 0 1 0
+5756 117.3543686 39.0667477 0 0 22.743 0 0 1 0
+5757 117.3543690 39.0667485 0 0 22.743 0 0 1 0
+5758 117.3543695 39.0667493 0 0 22.743 0 0 1 0
+5759 117.3543699 39.0667502 0 0 22.743 0 0 1 0
+5760 117.3543704 39.0667510 0 0 22.743 0 0 1 0
+5761 117.3543708 39.0667518 0 0 22.743 0 0 1 0
+5762 117.3543713 39.0667527 0 0 22.743 0 0 1 0
+5763 117.3543717 39.0667535 0 0 22.743 0 0 1 0
+5764 117.3543722 39.0667543 0 0 22.743 0 0 1 0
+5765 117.3543726 39.0667552 0 0 22.743 0 0 1 0
+5766 117.3543731 39.0667560 0 0 22.743 0 0 1 0
+5767 117.3543735 39.0667568 0 0 22.743 0 0 1 0
+5768 117.3543740 39.0667576 0 0 22.743 0 0 1 0
+5769 117.3543744 39.0667585 0 0 22.743 0 0 1 0
+5770 117.3543749 39.0667593 0 0 22.743 0 0 1 0
+5771 117.3543753 39.0667601 0 0 22.743 0 0 1 0
+5772 117.3543758 39.0667610 0 0 22.743 0 0 1 0
+5773 117.3543762 39.0667618 0 0 22.743 0 0 1 0
+5774 117.3543767 39.0667626 0 0 22.743 0 0 1 0
+5775 117.3543772 39.0667634 0 0 22.743 0 0 1 0
+5776 117.3543776 39.0667643 0 0 22.743 0 0 1 0
+5777 117.3543781 39.0667651 0 0 22.743 0 0 1 0
+5778 117.3543785 39.0667659 0 0 22.743 0 0 1 0
+5779 117.3543790 39.0667668 0 0 22.743 0 0 1 0
+5780 117.3543794 39.0667676 0 0 22.743 0 0 1 0
+5781 117.3543799 39.0667684 0 0 22.743 0 0 1 0
+5782 117.3543803 39.0667692 0 0 22.743 0 0 1 0
+5783 117.3543808 39.0667701 0 0 22.743 0 0 1 0
+5784 117.3543812 39.0667709 0 0 22.743 0 0 1 0
+5785 117.3543817 39.0667717 0 0 22.743 0 0 1 0
+5786 117.3543821 39.0667726 0 0 22.743 0 0 1 0
+5787 117.3543826 39.0667734 0 0 22.743 0 0 1 0
+5788 117.3543830 39.0667742 0 0 22.743 0 0 1 0
+5789 117.3543835 39.0667750 0 0 22.743 0 0 1 0
+5790 117.3543840 39.0667759 0 0 22.743 0 0 1 0
+5791 117.3543844 39.0667767 0 0 22.743 0 0 1 0
+5792 117.3543849 39.0667775 0 0 22.743 0 0 1 0
+5793 117.3543853 39.0667784 0 0 22.743 0 0 1 0
+5794 117.3543858 39.0667792 0 0 22.743 0 0 1 0
+5795 117.3543862 39.0667800 0 0 22.743 0 0 1 0
+5796 117.3543867 39.0667808 0 0 22.743 0 0 1 0
+5797 117.3543871 39.0667817 0 0 22.743 0 0 1 0
+5798 117.3543876 39.0667825 0 0 22.743 0 0 1 0
+5799 117.3543880 39.0667833 0 0 22.743 0 0 1 0
+5800 117.3543885 39.0667842 0 0 22.743 0 0 1 0
+5801 117.3543889 39.0667850 0 0 22.743 0 0 1 0
+5802 117.3543894 39.0667858 0 0 22.743 0 0 1 0
+5803 117.3543899 39.0667866 0 0 22.743 0 0 1 0
+5804 117.3543903 39.0667875 0 0 22.743 0 0 1 0
+5805 117.3543908 39.0667883 0 0 22.743 0 0 1 0
+5806 117.3543912 39.0667891 0 0 22.743 0 0 1 0
+5807 117.3543917 39.0667899 0 0 22.743 0 0 1 0
+5808 117.3543921 39.0667908 0 0 22.743 0 0 1 0
+5809 117.3543926 39.0667916 0 0 22.743 0 0 1 0
+5810 117.3543930 39.0667924 0 0 22.743 0 0 1 0
+5811 117.3543935 39.0667933 0 0 22.743 0 0 1 0
+5812 117.3543939 39.0667941 0 0 22.743 0 0 1 0
+5813 117.3543944 39.0667949 0 0 22.743 0 0 1 0
+5814 117.3543949 39.0667957 0 0 22.743 0 0 1 0
+5815 117.3543953 39.0667966 0 0 22.743 0 0 1 0
+5816 117.3543958 39.0667974 0 0 22.743 0 0 1 0
+5817 117.3543962 39.0667982 0 0 22.743 0 0 1 0
+5818 117.3543967 39.0667991 0 0 22.743 0 0 1 0
+5819 117.3543971 39.0667999 0 0 22.743 0 0 1 0
+5820 117.3543976 39.0668007 0 0 22.743 0 0 1 0
+5821 117.3543980 39.0668015 0 0 22.743 0 0 1 0
+5822 117.3543985 39.0668024 0 0 22.743 0 0 1 0
+5823 117.3543989 39.0668032 0 0 22.743 0 0 1 0
+5824 117.3543994 39.0668040 0 0 22.743 0 0 1 0
+5825 117.3543999 39.0668049 0 0 22.743 0 0 1 0
+5826 117.3544003 39.0668057 0 0 22.743 0 0 1 0
+5827 117.3544008 39.0668065 0 0 22.743 0 0 1 0
+5828 117.3544012 39.0668073 0 0 22.743 0 0 1 0
+5829 117.3544017 39.0668082 0 0 22.743 0 0 1 0
+5830 117.3544021 39.0668090 0 0 22.743 0 0 1 0
+5831 117.3544026 39.0668098 0 0 22.743 0 0 1 0
+5832 117.3544030 39.0668106 0 0 22.743 0 0 1 0
+5833 117.3544035 39.0668115 0 0 22.743 0 0 1 0
+5834 117.3544040 39.0668123 0 0 22.743 0 0 1 0
+5835 117.3544044 39.0668131 0 0 22.743 0 0 1 0
+5836 117.3544049 39.0668140 0 0 22.743 0 0 1 0
+5837 117.3544053 39.0668148 0 0 22.743 0 0 1 0
+5838 117.3544058 39.0668156 0 0 22.743 0 0 1 0
+5839 117.3544062 39.0668164 0 0 22.743 0 0 1 0
+5840 117.3544067 39.0668173 0 0 22.743 0 0 1 0
+5841 117.3544072 39.0668181 0 0 22.743 0 0 1 0
+5842 117.3544076 39.0668189 0 0 22.743 0 0 1 0
+5843 117.3544081 39.0668197 0 0 22.743 0 0 1 0
+5844 117.3544085 39.0668206 0 0 22.743 0 0 1 0
+5845 117.3544090 39.0668214 0 0 22.743 0 0 1 0
+5846 117.3544094 39.0668222 0 0 22.743 0 0 1 0
+5847 117.3544099 39.0668231 0 0 22.743 0 0 1 0
+5848 117.3544103 39.0668239 0 0 22.743 0 0 1 0
+5849 117.3544108 39.0668247 0 0 22.743 0 0 1 0
+5850 117.3544113 39.0668255 0 0 22.743 0 0 1 0
+5851 117.3544117 39.0668264 0 0 22.743 0 0 1 0
+5852 117.3544122 39.0668272 0 0 22.743 0 0 1 0
+5853 117.3544126 39.0668280 0 0 22.743 0 0 1 0
+5854 117.3544131 39.0668289 0 0 22.743 0 0 1 0
+5855 117.3544135 39.0668297 0 0 22.743 0 0 1 0
+5856 117.3544140 39.0668305 0 0 22.743 0 0 1 0
+5857 117.3544145 39.0668313 0 0 22.743 0 0 1 0
+5858 117.3544149 39.0668322 0 0 22.743 0 0 1 0
+5859 117.3544154 39.0668330 0 0 22.743 0 0 1 0
+5860 117.3544158 39.0668338 0 0 22.743 0 0 1 0
+5861 117.3544163 39.0668346 0 0 22.743 0 0 1 0
+5862 117.3544168 39.0668355 0 0 22.743 0 0 1 0
+5863 117.3544172 39.0668363 0 0 22.743 0 0 1 0
+5864 117.3544177 39.0668371 0 0 22.743 0 0 1 0
+5865 117.3544181 39.0668379 0 0 22.743 0 0 1 0
+5866 117.3544186 39.0668388 0 0 22.743 0 0 1 0
+5867 117.3544190 39.0668396 0 0 22.743 0 0 1 0
+5868 117.3544195 39.0668404 0 0 22.743 0 0 1 0
+5869 117.3544200 39.0668413 0 0 22.743 0 0 1 0
+5870 117.3544204 39.0668421 0 0 22.743 0 0 1 0
+5871 117.3544209 39.0668429 0 0 22.743 0 0 1 0
+5872 117.3544213 39.0668437 0 0 22.743 0 0 1 0
+5873 117.3544218 39.0668446 0 0 22.743 0 0 1 0
+5874 117.3544223 39.0668454 0 0 22.743 0 0 1 0
+5875 117.3544227 39.0668462 0 0 22.743 0 0 1 0
+5876 117.3544232 39.0668470 0 0 22.743 0 0 1 0
+5877 117.3544236 39.0668479 0 0 22.743 0 0 1 0
+5878 117.3544241 39.0668487 0 0 22.743 0 0 1 0
+5879 117.3544245 39.0668495 0 0 22.743 0 0 1 0
+5880 117.3544250 39.0668503 0 0 22.743 0 0 1 0
+5881 117.3544255 39.0668512 0 0 22.743 0 0 1 0
+5882 117.3544259 39.0668520 0 0 22.743 0 0 1 0
+5883 117.3544264 39.0668528 0 0 22.743 0 0 1 0
+5884 117.3544268 39.0668537 0 0 22.743 0 0 1 0
+5885 117.3544275 39.0668549 0 0 22.737 0 0 1 0
+5886 117.3544279 39.0668557 0 0 22.737 0 0 1 0
+5887 117.3544284 39.0668565 0 0 22.737 0 0 1 0
+5888 117.3544288 39.0668573 0 0 22.737 0 0 1 0
+5889 117.3544293 39.0668582 0 0 22.737 0 0 1 0
+5890 117.3544297 39.0668590 0 0 22.737 0 0 1 0
+5891 117.3544302 39.0668598 0 0 22.737 0 0 1 0
+5892 117.3544306 39.0668607 0 0 22.737 0 0 1 0
+5893 117.3544311 39.0668615 0 0 22.737 0 0 1 0
+5894 117.3544315 39.0668623 0 0 22.737 0 0 1 0
+5895 117.3544320 39.0668632 0 0 22.737 0 0 1 0
+5896 117.3544324 39.0668640 0 0 22.737 0 0 1 0
+5897 117.3544329 39.0668648 0 0 22.737 0 0 1 0
+5898 117.3544333 39.0668656 0 0 22.737 0 0 1 0
+5899 117.3544338 39.0668665 0 0 22.737 0 0 1 0
+5900 117.3544342 39.0668673 0 0 22.737 0 0 1 0
+5901 117.3544347 39.0668681 0 0 22.737 0 0 1 0
+5902 117.3544351 39.0668690 0 0 22.737 0 0 1 0
+5903 117.3544356 39.0668698 0 0 22.737 0 0 1 0
+5904 117.3544360 39.0668706 0 0 22.737 0 0 1 0
+5905 117.3544365 39.0668714 0 0 22.737 0 0 1 0
+5906 117.3544369 39.0668723 0 0 22.737 0 0 1 0
+5907 117.3544374 39.0668731 0 0 22.737 0 0 1 0
+5908 117.3544378 39.0668739 0 0 22.737 0 0 1 0
+5909 117.3544383 39.0668748 0 0 22.737 0 0 1 0
+5910 117.3544387 39.0668756 0 0 22.737 0 0 1 0
+5911 117.3544392 39.0668764 0 0 22.737 0 0 1 0
+5912 117.3544396 39.0668773 0 0 22.737 0 0 1 0
+5913 117.3544401 39.0668781 0 0 22.737 0 0 1 0
+5914 117.3544405 39.0668789 0 0 22.737 0 0 1 0
+5915 117.3544410 39.0668797 0 0 22.737 0 0 1 0
+5916 117.3544414 39.0668806 0 0 22.737 0 0 1 0
+5917 117.3544419 39.0668814 0 0 22.737 0 0 1 0
+5918 117.3544423 39.0668822 0 0 22.737 0 0 1 0
+5919 117.3544428 39.0668831 0 0 22.737 0 0 1 0
+5920 117.3544432 39.0668839 0 0 22.737 0 0 1 0
+5921 117.3544437 39.0668847 0 0 22.737 0 0 1 0
+5922 117.3544441 39.0668855 0 0 22.737 0 0 1 0
+5923 117.3544446 39.0668864 0 0 22.737 0 0 1 0
+5924 117.3544450 39.0668872 0 0 22.737 0 0 1 0
+5925 117.3544455 39.0668880 0 0 22.737 0 0 1 0
+5926 117.3544459 39.0668889 0 0 22.737 0 0 1 0
+5927 117.3544464 39.0668897 0 0 22.737 0 0 1 0
+5928 117.3544468 39.0668905 0 0 22.737 0 0 1 0
+5929 117.3544473 39.0668914 0 0 22.737 0 0 1 0
+5930 117.3544477 39.0668922 0 0 22.737 0 0 1 0
+5931 117.3544482 39.0668930 0 0 22.737 0 0 1 0
+5932 117.3544486 39.0668938 0 0 22.737 0 0 1 0
+5933 117.3544491 39.0668947 0 0 22.737 0 0 1 0
+5934 117.3544495 39.0668955 0 0 22.737 0 0 1 0
+5935 117.3544500 39.0668963 0 0 22.737 0 0 1 0
+5936 117.3544504 39.0668972 0 0 22.737 0 0 1 0
+5937 117.3544509 39.0668980 0 0 22.737 0 0 1 0
+5938 117.3544513 39.0668988 0 0 22.737 0 0 1 0
+5939 117.3544518 39.0668997 0 0 22.737 0 0 1 0
+5940 117.3544522 39.0669005 0 0 22.737 0 0 1 0
+5941 117.3544527 39.0669013 0 0 22.737 0 0 1 0
+5942 117.3544531 39.0669021 0 0 22.737 0 0 1 0
+5943 117.3544536 39.0669030 0 0 22.737 0 0 1 0
+5944 117.3544541 39.0669038 0 0 22.737 0 0 1 0
+5945 117.3544545 39.0669046 0 0 22.737 0 0 1 0
+5946 117.3544550 39.0669055 0 0 22.737 0 0 1 0
+5947 117.3544554 39.0669063 0 0 22.737 0 0 1 0
+5948 117.3544559 39.0669071 0 0 22.737 0 0 1 0
+5949 117.3544563 39.0669079 0 0 22.737 0 0 1 0
+5950 117.3544568 39.0669088 0 0 22.737 0 0 1 0
+5951 117.3544572 39.0669096 0 0 22.737 0 0 1 0
+5952 117.3544577 39.0669104 0 0 22.737 0 0 1 0
+5953 117.3544581 39.0669113 0 0 22.737 0 0 1 0
+5954 117.3544586 39.0669121 0 0 22.737 0 0 1 0
+5955 117.3544590 39.0669129 0 0 22.737 0 0 1 0
+5956 117.3544595 39.0669138 0 0 22.737 0 0 1 0
+5957 117.3544599 39.0669146 0 0 22.737 0 0 1 0
+5958 117.3544604 39.0669154 0 0 22.737 0 0 1 0
+5959 117.3544608 39.0669162 0 0 22.737 0 0 1 0
+5960 117.3544613 39.0669171 0 0 22.737 0 0 1 0
+5961 117.3544617 39.0669179 0 0 22.737 0 0 1 0
+5962 117.3544622 39.0669187 0 0 22.737 0 0 1 0
+5963 117.3544626 39.0669196 0 0 22.737 0 0 1 0
+5964 117.3544631 39.0669204 0 0 22.737 0 0 1 0
+5965 117.3544635 39.0669212 0 0 22.737 0 0 1 0
+5966 117.3544640 39.0669221 0 0 22.737 0 0 1 0
+5967 117.3544644 39.0669229 0 0 22.737 0 0 1 0
+5968 117.3544649 39.0669237 0 0 22.737 0 0 1 0
+5969 117.3544653 39.0669245 0 0 22.737 0 0 1 0
+5970 117.3544658 39.0669254 0 0 22.737 0 0 1 0
+5971 117.3544662 39.0669262 0 0 22.737 0 0 1 0
+5972 117.3544667 39.0669270 0 0 22.737 0 0 1 0
+5973 117.3544671 39.0669279 0 0 22.737 0 0 1 0
+5974 117.3544676 39.0669287 0 0 22.737 0 0 1 0
+5975 117.3544680 39.0669295 0 0 22.737 0 0 1 0
+5976 117.3544685 39.0669303 0 0 22.737 0 0 1 0
+5977 117.3544689 39.0669312 0 0 22.737 0 0 1 0
+5978 117.3544694 39.0669320 0 0 22.737 0 0 1 0
+5979 117.3544698 39.0669328 0 0 22.737 0 0 1 0
+5980 117.3544703 39.0669337 0 0 22.737 0 0 1 0
+5981 117.3544707 39.0669345 0 0 22.737 0 0 1 0
+5982 117.3544712 39.0669353 0 0 22.737 0 0 1 0
+5983 117.3544716 39.0669362 0 0 22.737 0 0 1 0
+5984 117.3544721 39.0669370 0 0 22.737 0 0 1 0
+5985 117.3544725 39.0669378 0 0 22.737 0 0 1 0
+5986 117.3544730 39.0669386 0 0 22.737 0 0 1 0
+5987 117.3544734 39.0669395 0 0 22.737 0 0 1 0
+5988 117.3544739 39.0669403 0 0 22.737 0 0 1 0
+5989 117.3544743 39.0669411 0 0 22.737 0 0 1 0
+5990 117.3544748 39.0669420 0 0 22.737 0 0 1 0
+5991 117.3544752 39.0669428 0 0 22.737 0 0 1 0
+5992 117.3544757 39.0669436 0 0 22.737 0 0 1 0
+5993 117.3544761 39.0669445 0 0 22.737 0 0 1 0
+5994 117.3544766 39.0669453 0 0 22.737 0 0 1 0
+5995 117.3544770 39.0669461 0 0 22.737 0 0 1 0
+5996 117.3544775 39.0669469 0 0 22.737 0 0 1 0
+5997 117.3544779 39.0669478 0 0 22.737 0 0 1 0
+5998 117.3544784 39.0669486 0 0 22.737 0 0 1 0
+5999 117.3544788 39.0669494 0 0 22.737 0 0 1 0
+6000 117.3544793 39.0669503 0 0 22.737 0 0 1 0
+6001 117.3544797 39.0669511 0 0 22.737 0 0 1 0
+6002 117.3544802 39.0669519 0 0 22.737 0 0 1 0
+6003 117.3544806 39.0669527 0 0 22.737 0 0 1 0
+6004 117.3544811 39.0669536 0 0 22.737 0 0 1 0
+6005 117.3544815 39.0669544 0 0 22.737 0 0 1 0
+6006 117.3544820 39.0669552 0 0 22.737 0 0 1 0
+6007 117.3544824 39.0669561 0 0 22.737 0 0 1 0
+6008 117.3544829 39.0669569 0 0 22.737 0 0 1 0
+6009 117.3544833 39.0669577 0 0 22.737 0 0 1 0
+6010 117.3544838 39.0669586 0 0 22.737 0 0 1 0
+6011 117.3544842 39.0669594 0 0 22.737 0 0 1 0
+6012 117.3544847 39.0669602 0 0 22.737 0 0 1 0
+6013 117.3544851 39.0669610 0 0 22.737 0 0 1 0
+6014 117.3544856 39.0669619 0 0 22.737 0 0 1 0
+6015 117.3544860 39.0669627 0 0 22.737 0 0 1 0
+6016 117.3544865 39.0669635 0 0 22.737 0 0 1 0
+6017 117.3544869 39.0669644 0 0 22.737 0 0 1 0
+6018 117.3544874 39.0669652 0 0 22.737 0 0 1 0
+6019 117.3544878 39.0669660 0 0 22.737 0 0 1 0
+6020 117.3544883 39.0669668 0 0 22.737 0 0 1 0
+6021 117.3544887 39.0669677 0 0 22.737 0 0 1 0
+6022 117.3544892 39.0669685 0 0 22.737 0 0 1 0
+6023 117.3544896 39.0669693 0 0 22.737 0 0 1 0
+6024 117.3544901 39.0669702 0 0 22.737 0 0 1 0
+6025 117.3544905 39.0669710 0 0 22.737 0 0 1 0
+6026 117.3544910 39.0669718 0 0 22.737 0 0 1 0
+6027 117.3544914 39.0669727 0 0 22.737 0 0 1 0
+6028 117.3544919 39.0669735 0 0 22.737 0 0 1 0
+6029 117.3544923 39.0669743 0 0 22.737 0 0 1 0
+6030 117.3544928 39.0669751 0 0 22.737 0 0 1 0
+6031 117.3544932 39.0669760 0 0 22.737 0 0 1 0
+6032 117.3544937 39.0669768 0 0 22.737 0 0 1 0
+6033 117.3544941 39.0669776 0 0 22.737 0 0 1 0
+6034 117.3544946 39.0669785 0 0 22.737 0 0 1 0
+6035 117.3544950 39.0669793 0 0 22.737 0 0 1 0
+6036 117.3544955 39.0669801 0 0 22.737 0 0 1 0
+6037 117.3544959 39.0669810 0 0 22.737 0 0 1 0
+6038 117.3544964 39.0669818 0 0 22.737 0 0 1 0
+6039 117.3544968 39.0669826 0 0 22.737 0 0 1 0
+6040 117.3544973 39.0669834 0 0 22.737 0 0 1 0
+6041 117.3544977 39.0669843 0 0 22.737 0 0 1 0
+6042 117.3544982 39.0669851 0 0 22.737 0 0 1 0
+6043 117.3544986 39.0669859 0 0 22.737 0 0 1 0
+6044 117.3544991 39.0669868 0 0 22.737 0 0 1 0
+6045 117.3544995 39.0669876 0 0 22.737 0 0 1 0
+6046 117.3545000 39.0669884 0 0 22.737 0 0 1 0
+6047 117.3545004 39.0669892 0 0 22.737 0 0 1 0
+6048 117.3545009 39.0669901 0 0 22.737 0 0 1 0
+6049 117.3545013 39.0669909 0 0 22.737 0 0 1 0
+6050 117.3545018 39.0669917 0 0 22.737 0 0 1 0
+6051 117.3545022 39.0669926 0 0 22.737 0 0 1 0
+6052 117.3545027 39.0669934 0 0 22.737 0 0 1 0
+6053 117.3545031 39.0669942 0 0 22.737 0 0 1 0
+6054 117.3545036 39.0669951 0 0 22.737 0 0 1 0
+6055 117.3545040 39.0669959 0 0 22.737 0 0 1 0
+6056 117.3545045 39.0669967 0 0 22.737 0 0 1 0
+6057 117.3545049 39.0669975 0 0 22.737 0 0 1 0
+6058 117.3545054 39.0669984 0 0 22.737 0 0 1 0
+6059 117.3545058 39.0669992 0 0 22.737 0 0 1 0
+6060 117.3545063 39.0670000 0 0 22.737 0 0 1 0
+6061 117.3545067 39.0670009 0 0 22.737 0 0 1 0
+6062 117.3545072 39.0670017 0 0 22.737 0 0 1 0
+6063 117.3545076 39.0670025 0 0 22.737 0 0 1 0
+6064 117.3545081 39.0670034 0 0 22.737 0 0 1 0
+6065 117.3545085 39.0670042 0 0 22.737 0 0 1 0
+6066 117.3545090 39.0670050 0 0 22.737 0 0 1 0
+6067 117.3545094 39.0670058 0 0 22.737 0 0 1 0
+6068 117.3545099 39.0670067 0 0 22.737 0 0 1 0
+6069 117.3545103 39.0670075 0 0 22.737 0 0 1 0
+6070 117.3545108 39.0670083 0 0 22.737 0 0 1 0
+6071 117.3545112 39.0670092 0 0 22.737 0 0 1 0
+6072 117.3545117 39.0670100 0 0 22.737 0 0 1 0
+6073 117.3545121 39.0670108 0 0 22.737 0 0 1 0
+6074 117.3545126 39.0670116 0 0 22.737 0 0 1 0
+6075 117.3545130 39.0670125 0 0 22.737 0 0 1 0
+6076 117.3545135 39.0670133 0 0 22.737 0 0 1 0
+6077 117.3545139 39.0670141 0 0 22.737 0 0 1 0
+6078 117.3545144 39.0670150 0 0 22.737 0 0 1 0
+6079 117.3545148 39.0670158 0 0 22.737 0 0 1 0
+6080 117.3545153 39.0670166 0 0 22.737 0 0 1 0
+6081 117.3545157 39.0670175 0 0 22.737 0 0 1 0
+6082 117.3545162 39.0670183 0 0 22.737 0 0 1 0
+6083 117.3545166 39.0670191 0 0 22.737 0 0 1 0
+6084 117.3545171 39.0670199 0 0 22.737 0 0 1 0
+6085 117.3545175 39.0670208 0 0 22.737 0 0 1 0
+6086 117.3545180 39.0670216 0 0 22.737 0 0 1 0
+6087 117.3545184 39.0670224 0 0 22.737 0 0 1 0
+6088 117.3545189 39.0670233 0 0 22.737 0 0 1 0
+6089 117.3545193 39.0670241 0 0 22.737 0 0 1 0
+6090 117.3545198 39.0670249 0 0 22.737 0 0 1 0
+6091 117.3545202 39.0670258 0 0 22.737 0 0 1 0
+6092 117.3545207 39.0670266 0 0 22.737 0 0 1 0
+6093 117.3545211 39.0670274 0 0 22.737 0 0 1 0
+6094 117.3545216 39.0670282 0 0 22.737 0 0 1 0
+6095 117.3545220 39.0670291 0 0 22.737 0 0 1 0
+6096 117.3545225 39.0670299 0 0 22.737 0 0 1 0
+6097 117.3545233 39.0670315 0 0 22.845 0 0 1 0
+6098 117.3545238 39.0670323 0 0 22.845 0 0 1 0
+6099 117.3545242 39.0670331 0 0 22.845 0 0 1 0
+6100 117.3545247 39.0670340 0 0 22.845 0 0 1 0
+6101 117.3545251 39.0670348 0 0 22.845 0 0 1 0
+6102 117.3545256 39.0670356 0 0 22.845 0 0 1 0
+6103 117.3545260 39.0670365 0 0 22.845 0 0 1 0
+6104 117.3545265 39.0670373 0 0 22.845 0 0 1 0
+6105 117.3545270 39.0670381 0 0 22.845 0 0 1 0
+6106 117.3545274 39.0670389 0 0 22.845 0 0 1 0
+6107 117.3545279 39.0670398 0 0 22.845 0 0 1 0
+6108 117.3545283 39.0670406 0 0 22.845 0 0 1 0
+6109 117.3545288 39.0670414 0 0 22.845 0 0 1 0
+6110 117.3545292 39.0670423 0 0 22.845 0 0 1 0
+6111 117.3545297 39.0670431 0 0 22.845 0 0 1 0
+6112 117.3545301 39.0670439 0 0 22.845 0 0 1 0
+6113 117.3545306 39.0670447 0 0 22.845 0 0 1 0
+6114 117.3545310 39.0670456 0 0 22.845 0 0 1 0
+6115 117.3545315 39.0670464 0 0 22.845 0 0 1 0
+6116 117.3545319 39.0670472 0 0 22.845 0 0 1 0
+6117 117.3545324 39.0670481 0 0 22.845 0 0 1 0
+6118 117.3545328 39.0670489 0 0 22.845 0 0 1 0
+6119 117.3545333 39.0670497 0 0 22.845 0 0 1 0
+6120 117.3545337 39.0670505 0 0 22.845 0 0 1 0
+6121 117.3545342 39.0670514 0 0 22.845 0 0 1 0
+6122 117.3545346 39.0670522 0 0 22.845 0 0 1 0
+6123 117.3545351 39.0670530 0 0 22.845 0 0 1 0
+6124 117.3545356 39.0670539 0 0 22.845 0 0 1 0
+6125 117.3545360 39.0670547 0 0 22.845 0 0 1 0
+6126 117.3545365 39.0670555 0 0 22.845 0 0 1 0
+6127 117.3545369 39.0670563 0 0 22.845 0 0 1 0
+6128 117.3545374 39.0670572 0 0 22.845 0 0 1 0
+6129 117.3545378 39.0670580 0 0 22.845 0 0 1 0
+6130 117.3545383 39.0670588 0 0 22.845 0 0 1 0
+6131 117.3545387 39.0670597 0 0 22.845 0 0 1 0
+6132 117.3545392 39.0670605 0 0 22.845 0 0 1 0
+6133 117.3545396 39.0670613 0 0 22.845 0 0 1 0
+6134 117.3545401 39.0670621 0 0 22.845 0 0 1 0
+6135 117.3545405 39.0670630 0 0 22.845 0 0 1 0
+6136 117.3545410 39.0670638 0 0 22.845 0 0 1 0
+6137 117.3545414 39.0670646 0 0 22.845 0 0 1 0
+6138 117.3545419 39.0670655 0 0 22.845 0 0 1 0
+6139 117.3545423 39.0670663 0 0 22.845 0 0 1 0
+6140 117.3545428 39.0670671 0 0 22.845 0 0 1 0
+6141 117.3545432 39.0670680 0 0 22.845 0 0 1 0
+6142 117.3545437 39.0670688 0 0 22.845 0 0 1 0
+6143 117.3545442 39.0670696 0 0 22.845 0 0 1 0
+6144 117.3545446 39.0670704 0 0 22.845 0 0 1 0
+6145 117.3545451 39.0670713 0 0 22.845 0 0 1 0
+6146 117.3545455 39.0670721 0 0 22.845 0 0 1 0
+6147 117.3545460 39.0670729 0 0 22.845 0 0 1 0
+6148 117.3545464 39.0670738 0 0 22.845 0 0 1 0
+6149 117.3545469 39.0670746 0 0 22.845 0 0 1 0
+6150 117.3545473 39.0670754 0 0 22.845 0 0 1 0
+6151 117.3545478 39.0670762 0 0 22.845 0 0 1 0
+6152 117.3545482 39.0670771 0 0 22.845 0 0 1 0
+6153 117.3545487 39.0670779 0 0 22.845 0 0 1 0
+6154 117.3545491 39.0670787 0 0 22.845 0 0 1 0
+6155 117.3545496 39.0670796 0 0 22.845 0 0 1 0
+6156 117.3545500 39.0670804 0 0 22.845 0 0 1 0
+6157 117.3545505 39.0670812 0 0 22.845 0 0 1 0
+6158 117.3545509 39.0670820 0 0 22.845 0 0 1 0
+6159 117.3545514 39.0670829 0 0 22.845 0 0 1 0
+6160 117.3545518 39.0670837 0 0 22.845 0 0 1 0
+6161 117.3545523 39.0670845 0 0 22.845 0 0 1 0
+6162 117.3545528 39.0670854 0 0 22.845 0 0 1 0
+6163 117.3545532 39.0670862 0 0 22.845 0 0 1 0
+6164 117.3545537 39.0670870 0 0 22.845 0 0 1 0
+6165 117.3545541 39.0670878 0 0 22.845 0 0 1 0
+6166 117.3545546 39.0670887 0 0 22.845 0 0 1 0
+6167 117.3545550 39.0670895 0 0 22.845 0 0 1 0
+6168 117.3545555 39.0670903 0 0 22.845 0 0 1 0
+6169 117.3545559 39.0670912 0 0 22.845 0 0 1 0
+6170 117.3545564 39.0670920 0 0 22.845 0 0 1 0
+6171 117.3545568 39.0670928 0 0 22.845 0 0 1 0
+6172 117.3545573 39.0670936 0 0 22.845 0 0 1 0
+6173 117.3545577 39.0670945 0 0 22.845 0 0 1 0
+6174 117.3545582 39.0670953 0 0 22.845 0 0 1 0
+6175 117.3545586 39.0670961 0 0 22.845 0 0 1 0
+6176 117.3545591 39.0670970 0 0 22.845 0 0 1 0
+6177 117.3545595 39.0670978 0 0 22.845 0 0 1 0
+6178 117.3545600 39.0670986 0 0 22.845 0 0 1 0
+6179 117.3545605 39.0670994 0 0 22.845 0 0 1 0
+6180 117.3545609 39.0671003 0 0 22.845 0 0 1 0
+6181 117.3545614 39.0671011 0 0 22.845 0 0 1 0
+6182 117.3545618 39.0671019 0 0 22.845 0 0 1 0
+6183 117.3545623 39.0671028 0 0 22.845 0 0 1 0
+6184 117.3545627 39.0671036 0 0 22.845 0 0 1 0
+6185 117.3545632 39.0671044 0 0 22.845 0 0 1 0
+6186 117.3545636 39.0671052 0 0 22.845 0 0 1 0
+6187 117.3545641 39.0671061 0 0 22.845 0 0 1 0
+6188 117.3545645 39.0671069 0 0 22.845 0 0 1 0
+6189 117.3545650 39.0671077 0 0 22.845 0 0 1 0
+6190 117.3545654 39.0671086 0 0 22.845 0 0 1 0
+6191 117.3545659 39.0671094 0 0 22.845 0 0 1 0
+6192 117.3545663 39.0671102 0 0 22.845 0 0 1 0
+6193 117.3545668 39.0671110 0 0 22.845 0 0 1 0
+6194 117.3545672 39.0671119 0 0 22.845 0 0 1 0
+6195 117.3545677 39.0671127 0 0 22.845 0 0 1 0
+6196 117.3545681 39.0671135 0 0 22.845 0 0 1 0
+6197 117.3545686 39.0671144 0 0 22.845 0 0 1 0
+6198 117.3545691 39.0671152 0 0 22.845 0 0 1 0
+6199 117.3545695 39.0671160 0 0 22.845 0 0 1 0
+6200 117.3545700 39.0671168 0 0 22.845 0 0 1 0
+6201 117.3545704 39.0671177 0 0 22.845 0 0 1 0
+6202 117.3545709 39.0671185 0 0 22.845 0 0 1 0
+6203 117.3545713 39.0671193 0 0 22.845 0 0 1 0
+6204 117.3545718 39.0671202 0 0 22.845 0 0 1 0
+6205 117.3545722 39.0671210 0 0 22.845 0 0 1 0
+6206 117.3545727 39.0671218 0 0 22.845 0 0 1 0
+6207 117.3545731 39.0671226 0 0 22.845 0 0 1 0
+6208 117.3545736 39.0671235 0 0 22.845 0 0 1 0
+6209 117.3545740 39.0671243 0 0 22.845 0 0 1 0
+6210 117.3545745 39.0671251 0 0 22.845 0 0 1 0
+6211 117.3545749 39.0671260 0 0 22.845 0 0 1 0
+6212 117.3545754 39.0671268 0 0 22.845 0 0 1 0
+6213 117.3545758 39.0671276 0 0 22.845 0 0 1 0
+6214 117.3545763 39.0671284 0 0 22.845 0 0 1 0
+6215 117.3545767 39.0671293 0 0 22.845 0 0 1 0
+6216 117.3545772 39.0671301 0 0 22.845 0 0 1 0
+6217 117.3545777 39.0671309 0 0 22.845 0 0 1 0
+6218 117.3545781 39.0671318 0 0 22.845 0 0 1 0
+6219 117.3545786 39.0671326 0 0 22.845 0 0 1 0
+6220 117.3545790 39.0671334 0 0 22.845 0 0 1 0
+6221 117.3545795 39.0671342 0 0 22.845 0 0 1 0
+6222 117.3545799 39.0671351 0 0 22.845 0 0 1 0
+6223 117.3545804 39.0671359 0 0 22.845 0 0 1 0
+6224 117.3545808 39.0671367 0 0 22.845 0 0 1 0
+6225 117.3545813 39.0671376 0 0 22.845 0 0 1 0
+6226 117.3545817 39.0671384 0 0 22.845 0 0 1 0
+6227 117.3545822 39.0671392 0 0 22.845 0 0 1 0
+6228 117.3545826 39.0671401 0 0 22.845 0 0 1 0
+6229 117.3545831 39.0671409 0 0 22.845 0 0 1 0
+6230 117.3545835 39.0671417 0 0 22.845 0 0 1 0
+6231 117.3545840 39.0671425 0 0 22.845 0 0 1 0
+6232 117.3545844 39.0671434 0 0 22.845 0 0 1 0
+6233 117.3545849 39.0671442 0 0 22.845 0 0 1 0
+6234 117.3545853 39.0671450 0 0 22.845 0 0 1 0
+6235 117.3545858 39.0671459 0 0 22.845 0 0 1 0
+6236 117.3545863 39.0671467 0 0 22.845 0 0 1 0
+6237 117.3545867 39.0671475 0 0 22.845 0 0 1 0
+6238 117.3545872 39.0671483 0 0 22.845 0 0 1 0
+6239 117.3545876 39.0671492 0 0 22.845 0 0 1 0
+6240 117.3545881 39.0671500 0 0 22.845 0 0 1 0
+6241 117.3545885 39.0671508 0 0 22.845 0 0 1 0
+6242 117.3545890 39.0671517 0 0 22.845 0 0 1 0
+6243 117.3545894 39.0671525 0 0 22.845 0 0 1 0
+6244 117.3545899 39.0671533 0 0 22.845 0 0 1 0
+6245 117.3545903 39.0671541 0 0 22.845 0 0 1 0
+6246 117.3545908 39.0671550 0 0 22.845 0 0 1 0
+6247 117.3545912 39.0671558 0 0 22.845 0 0 1 0
+6248 117.3545917 39.0671566 0 0 22.845 0 0 1 0
+6249 117.3545921 39.0671575 0 0 22.845 0 0 1 0
+6250 117.3545926 39.0671583 0 0 22.845 0 0 1 0
+6251 117.3545930 39.0671591 0 0 22.845 0 0 1 0
+6252 117.3545935 39.0671599 0 0 22.845 0 0 1 0
+6253 117.3545939 39.0671608 0 0 22.845 0 0 1 0
+6254 117.3545944 39.0671616 0 0 22.845 0 0 1 0
+6255 117.3545949 39.0671624 0 0 22.845 0 0 1 0
+6256 117.3545953 39.0671633 0 0 22.845 0 0 1 0
+6257 117.3545958 39.0671641 0 0 22.845 0 0 1 0
+6258 117.3545962 39.0671649 0 0 22.845 0 0 1 0
+6259 117.3545967 39.0671657 0 0 22.845 0 0 1 0
+6260 117.3545971 39.0671666 0 0 22.845 0 0 1 0
+6261 117.3545976 39.0671674 0 0 22.845 0 0 1 0
+6262 117.3545980 39.0671682 0 0 22.845 0 0 1 0
+6263 117.3545985 39.0671691 0 0 22.845 0 0 1 0
+6264 117.3545989 39.0671699 0 0 22.845 0 0 1 0
+6265 117.3545994 39.0671707 0 0 22.845 0 0 1 0
+6266 117.3545998 39.0671715 0 0 22.845 0 0 1 0
+6267 117.3546003 39.0671724 0 0 22.845 0 0 1 0
+6268 117.3546007 39.0671732 0 0 22.845 0 0 1 0
+6269 117.3546012 39.0671740 0 0 22.845 0 0 1 0
+6270 117.3546016 39.0671749 0 0 22.845 0 0 1 0
+6271 117.3546021 39.0671757 0 0 22.845 0 0 1 0
+6272 117.3546026 39.0671765 0 0 22.845 0 0 1 0
+6273 117.3546030 39.0671773 0 0 22.845 0 0 1 0
+6274 117.3546035 39.0671782 0 0 22.845 0 0 1 0
+6275 117.3546039 39.0671790 0 0 22.845 0 0 1 0
+6276 117.3546044 39.0671798 0 0 22.845 0 0 1 0
+6277 117.3546048 39.0671807 0 0 22.845 0 0 1 0
+6278 117.3546053 39.0671815 0 0 22.845 0 0 1 0
+6279 117.3546057 39.0671823 0 0 22.845 0 0 1 0
+6280 117.3546062 39.0671831 0 0 22.845 0 0 1 0
+6281 117.3546066 39.0671840 0 0 22.845 0 0 1 0
+6282 117.3546071 39.0671848 0 0 22.845 0 0 1 0
+6283 117.3546075 39.0671856 0 0 22.845 0 0 1 0
+6284 117.3546080 39.0671865 0 0 22.845 0 0 1 0
+6285 117.3546084 39.0671873 0 0 22.845 0 0 1 0
+6286 117.3546089 39.0671881 0 0 22.845 0 0 1 0
+6287 117.3546093 39.0671889 0 0 22.845 0 0 1 0
+6288 117.3546098 39.0671898 0 0 22.845 0 0 1 0
+6289 117.3546102 39.0671906 0 0 22.845 0 0 1 0
+6290 117.3546107 39.0671914 0 0 22.845 0 0 1 0
+6291 117.3546112 39.0671923 0 0 22.845 0 0 1 0
+6292 117.3546116 39.0671931 0 0 22.845 0 0 1 0
+6293 117.3546121 39.0671939 0 0 22.845 0 0 1 0
+6294 117.3546125 39.0671947 0 0 22.845 0 0 1 0
+6295 117.3546130 39.0671956 0 0 22.845 0 0 1 0
+6296 117.3546134 39.0671964 0 0 22.845 0 0 1 0
+6297 117.3546139 39.0671972 0 0 22.845 0 0 1 0
+6298 117.3546143 39.0671981 0 0 22.845 0 0 1 0
+6299 117.3546148 39.0671989 0 0 22.845 0 0 1 0
+6300 117.3546152 39.0671997 0 0 22.845 0 0 1 0
+6301 117.3546157 39.0672005 0 0 22.845 0 0 1 0
+6302 117.3546161 39.0672014 0 0 22.845 0 0 1 0
+6303 117.3546166 39.0672022 0 0 22.845 0 0 1 0
+6304 117.3546170 39.0672030 0 0 22.845 0 0 1 0
+6305 117.3546175 39.0672039 0 0 22.845 0 0 1 0
+6306 117.3546179 39.0672047 0 0 22.845 0 0 1 0
+6307 117.3546184 39.0672055 0 0 22.845 0 0 1 0
+6308 117.3546188 39.0672063 0 0 22.845 0 0 1 0
+6309 117.3546193 39.0672072 0 0 22.845 0 0 1 0
+6310 117.3546198 39.0672080 0 0 22.845 0 0 1 0
+6311 117.3546202 39.0672088 0 0 22.845 0 0 1 0
+6312 117.3546207 39.0672097 0 0 22.845 0 0 1 0
+6313 117.3546211 39.0672105 0 0 22.845 0 0 1 0
+6314 117.3546216 39.0672113 0 0 22.845 0 0 1 0
+6315 117.3546220 39.0672121 0 0 22.845 0 0 1 0
+6316 117.3546225 39.0672130 0 0 22.845 0 0 1 0
+6317 117.3546229 39.0672138 0 0 22.845 0 0 1 0
+6318 117.3546234 39.0672146 0 0 22.845 0 0 1 0
+6319 117.3546238 39.0672155 0 0 22.845 0 0 1 0
+6320 117.3546243 39.0672163 0 0 22.845 0 0 1 0
+6321 117.3546247 39.0672171 0 0 22.845 0 0 1 0
+6322 117.3546252 39.0672180 0 0 22.845 0 0 1 0
+6323 117.3546256 39.0672188 0 0 22.845 0 0 1 0
+6324 117.3546261 39.0672196 0 0 22.845 0 0 1 0
+6325 117.3546265 39.0672204 0 0 22.845 0 0 1 0
+6326 117.3546270 39.0672213 0 0 22.845 0 0 1 0
+6327 117.3546275 39.0672221 0 0 22.845 0 0 1 0
+6328 117.3546279 39.0672229 0 0 22.845 0 0 1 0
+6329 117.3546284 39.0672238 0 0 22.845 0 0 1 0
+6330 117.3546288 39.0672246 0 0 22.845 0 0 1 0
+6331 117.3546293 39.0672254 0 0 22.845 0 0 1 0
+6332 117.3546297 39.0672262 0 0 22.845 0 0 1 0
+6333 117.3546302 39.0672271 0 0 22.845 0 0 1 0
+6334 117.3546306 39.0672279 0 0 22.845 0 0 1 0
+6335 117.3546311 39.0672287 0 0 22.845 0 0 1 0
+6336 117.3546315 39.0672296 0 0 22.845 0 0 1 0
+6337 117.3546320 39.0672304 0 0 22.845 0 0 1 0
+6338 117.3546324 39.0672312 0 0 22.845 0 0 1 0
+6339 117.3546329 39.0672320 0 0 22.845 0 0 1 0
+6340 117.3546333 39.0672329 0 0 22.845 0 0 1 0
+6341 117.3546338 39.0672337 0 0 22.845 0 0 1 0
+6342 117.3546342 39.0672345 0 0 22.845 0 0 1 0
+6343 117.3546347 39.0672354 0 0 22.845 0 0 1 0
+6344 117.3546351 39.0672362 0 0 22.845 0 0 1 0
+6345 117.3546356 39.0672370 0 0 22.845 0 0 1 0
+6346 117.3546361 39.0672378 0 0 22.845 0 0 1 0
+6347 117.3546365 39.0672387 0 0 22.845 0 0 1 0
+6348 117.3546370 39.0672395 0 0 22.845 0 0 1 0
+6349 117.3546374 39.0672403 0 0 22.845 0 0 1 0
+6350 117.3546379 39.0672412 0 0 22.845 0 0 1 0
+6351 117.3546383 39.0672420 0 0 22.845 0 0 1 0
+6352 117.3546388 39.0672428 0 0 22.845 0 0 1 0
+6353 117.3546392 39.0672436 0 0 22.845 0 0 1 0
+6354 117.3546397 39.0672445 0 0 22.845 0 0 1 0
+6355 117.3546401 39.0672453 0 0 22.845 0 0 1 0
+6356 117.3546406 39.0672461 0 0 22.845 0 0 1 0
+6357 117.3546410 39.0672470 0 0 22.845 0 0 1 0
+6358 117.3546415 39.0672478 0 0 22.845 0 0 1 0
+6359 117.3546419 39.0672486 0 0 22.845 0 0 1 0
+6360 117.3546424 39.0672494 0 0 22.845 0 0 1 0
+6361 117.3546428 39.0672503 0 0 22.845 0 0 1 0
+6362 117.3546433 39.0672511 0 0 22.845 0 0 1 0
+6363 117.3546437 39.0672519 0 0 22.845 0 0 1 0
+6364 117.3546442 39.0672528 0 0 22.845 0 0 1 0
+6365 117.3546447 39.0672536 0 0 22.845 0 0 1 0
+6366 117.3546451 39.0672544 0 0 22.845 0 0 1 0
+6367 117.3546456 39.0672552 0 0 22.845 0 0 1 0
+6368 117.3546460 39.0672561 0 0 22.845 0 0 1 0
+6369 117.3546465 39.0672569 0 0 22.845 0 0 1 0
+6370 117.3546469 39.0672577 0 0 22.845 0 0 1 0
+6371 117.3546474 39.0672586 0 0 22.845 0 0 1 0
+6372 117.3546478 39.0672594 0 0 22.845 0 0 1 0
+6373 117.3546483 39.0672602 0 0 22.845 0 0 1 0
+6374 117.3546487 39.0672610 0 0 22.845 0 0 1 0
+6375 117.3546492 39.0672619 0 0 22.845 0 0 1 0
+6376 117.3546496 39.0672627 0 0 22.845 0 0 1 0
+6377 117.3546501 39.0672635 0 0 22.845 0 0 1 0
+6378 117.3546505 39.0672644 0 0 22.845 0 0 1 0
+6379 117.3546510 39.0672652 0 0 22.845 0 0 1 0
+6380 117.3546514 39.0672660 0 0 22.845 0 0 1 0
+6381 117.3546519 39.0672668 0 0 22.845 0 0 1 0
+6382 117.3546524 39.0672677 0 0 22.845 0 0 1 0
+6383 117.3546528 39.0672685 0 0 22.845 0 0 1 0
+6384 117.3546533 39.0672693 0 0 22.845 0 0 1 0
+6385 117.3546537 39.0672702 0 0 22.845 0 0 1 0
+6386 117.3546542 39.0672710 0 0 22.845 0 0 1 0
+6387 117.3546546 39.0672718 0 0 22.845 0 0 1 0
+6388 117.3546551 39.0672726 0 0 22.845 0 0 1 0
+6389 117.3546555 39.0672735 0 0 22.845 0 0 1 0
+6390 117.3546560 39.0672743 0 0 22.845 0 0 1 0
+6391 117.3546564 39.0672751 0 0 22.845 0 0 1 0
+6392 117.3546569 39.0672760 0 0 22.845 0 0 1 0
+6393 117.3546573 39.0672768 0 0 22.845 0 0 1 0
+6394 117.3546578 39.0672776 0 0 22.845 0 0 1 0
+6395 117.3546582 39.0672784 0 0 22.845 0 0 1 0
+6396 117.3546587 39.0672793 0 0 22.845 0 0 1 0
+6397 117.3546591 39.0672801 0 0 22.845 0 0 1 0
+6398 117.3546596 39.0672809 0 0 22.845 0 0 1 0
+6399 117.3546600 39.0672818 0 0 22.845 0 0 1 0
+6400 117.3546605 39.0672826 0 0 22.845 0 0 1 0
+6401 117.3546610 39.0672834 0 0 22.845 0 0 1 0
+6402 117.3546614 39.0672842 0 0 22.845 0 0 1 0
+6403 117.3546619 39.0672851 0 0 22.845 0 0 1 0
+6404 117.3546623 39.0672859 0 0 22.845 0 0 1 0
+6405 117.3546628 39.0672867 0 0 22.845 0 0 1 0
+6406 117.3546632 39.0672876 0 0 22.845 0 0 1 0
+6407 117.3546637 39.0672884 0 0 22.845 0 0 1 0
+6408 117.3546641 39.0672892 0 0 22.845 0 0 1 0
+6409 117.3546646 39.0672900 0 0 22.845 0 0 1 0
+6410 117.3546650 39.0672909 0 0 22.845 0 0 1 0
+6411 117.3546655 39.0672917 0 0 22.845 0 0 1 0
+6412 117.3546659 39.0672925 0 0 22.845 0 0 1 0
+6413 117.3546664 39.0672934 0 0 22.845 0 0 1 0
+6414 117.3546668 39.0672942 0 0 22.845 0 0 1 0
+6415 117.3546673 39.0672950 0 0 22.845 0 0 1 0
+6416 117.3546677 39.0672958 0 0 22.845 0 0 1 0
+6417 117.3546682 39.0672967 0 0 22.845 0 0 1 0
+6418 117.3546687 39.0672975 0 0 22.845 0 0 1 0
+6419 117.3546691 39.0672983 0 0 22.845 0 0 1 0
+6420 117.3546696 39.0672992 0 0 22.845 0 0 1 0
+6421 117.3546700 39.0673000 0 0 22.845 0 0 1 0
+6422 117.3546705 39.0673008 0 0 22.845 0 0 1 0
+6423 117.3546709 39.0673016 0 0 22.845 0 0 1 0
+6424 117.3546714 39.0673025 0 0 22.845 0 0 1 0
+6425 117.3546718 39.0673033 0 0 22.845 0 0 1 0
+6426 117.3546723 39.0673041 0 0 22.845 0 0 1 0
+6427 117.3546727 39.0673050 0 0 22.845 0 0 1 0
+6428 117.3546732 39.0673058 0 0 22.845 0 0 1 0
+6429 117.3546736 39.0673066 0 0 22.845 0 0 1 0
+6430 117.3546741 39.0673075 0 0 22.845 0 0 1 0
+6431 117.3546745 39.0673083 0 0 22.845 0 0 1 0
+6432 117.3546750 39.0673091 0 0 22.845 0 0 1 0
+6433 117.3546754 39.0673099 0 0 22.845 0 0 1 0
+6434 117.3546759 39.0673108 0 0 22.845 0 0 1 0
+6435 117.3546764 39.0673116 0 0 22.845 0 0 1 0
+6436 117.3546768 39.0673124 0 0 22.845 0 0 1 0
+6437 117.3546773 39.0673133 0 0 22.845 0 0 1 0
+6438 117.3546777 39.0673141 0 0 22.845 0 0 1 0
+6439 117.3546782 39.0673149 0 0 22.845 0 0 1 0
+6440 117.3546786 39.0673157 0 0 22.845 0 0 1 0
+6441 117.3546791 39.0673166 0 0 22.845 0 0 1 0
+6442 117.3546795 39.0673174 0 0 22.845 0 0 1 0
+6443 117.3546800 39.0673182 0 0 22.845 0 0 1 0
+6444 117.3546804 39.0673191 0 0 22.845 0 0 1 0
+6445 117.3546809 39.0673199 0 0 22.845 0 0 1 0
+6446 117.3546813 39.0673207 0 0 22.845 0 0 1 0
+6447 117.3546818 39.0673215 0 0 22.845 0 0 1 0
+6448 117.3546822 39.0673224 0 0 22.845 0 0 1 0
+6449 117.3546827 39.0673232 0 0 22.845 0 0 1 0
+6450 117.3546831 39.0673240 0 0 22.845 0 0 1 0
+6451 117.3546836 39.0673249 0 0 22.845 0 0 1 0
+6452 117.3546840 39.0673257 0 0 22.845 0 0 1 0
+6453 117.3546845 39.0673265 0 0 22.845 0 0 1 0
+6454 117.3546850 39.0673273 0 0 22.845 0 0 1 0
+6455 117.3546854 39.0673282 0 0 22.845 0 0 1 0
+6456 117.3546859 39.0673290 0 0 22.845 0 0 1 0
+6457 117.3546863 39.0673298 0 0 22.845 0 0 1 0
+6458 117.3546868 39.0673307 0 0 22.845 0 0 1 0
+6459 117.3546872 39.0673315 0 0 22.845 0 0 1 0
+6460 117.3546877 39.0673323 0 0 22.845 0 0 1 0
+6461 117.3546881 39.0673331 0 0 22.845 0 0 1 0
+6462 117.3546886 39.0673340 0 0 22.845 0 0 1 0
+6463 117.3546890 39.0673348 0 0 22.845 0 0 1 0
+6464 117.3546895 39.0673356 0 0 22.845 0 0 1 0
+6465 117.3546899 39.0673365 0 0 22.845 0 0 1 0
+6466 117.3546904 39.0673373 0 0 22.845 0 0 1 0
+6467 117.3546908 39.0673381 0 0 22.845 0 0 1 0
+6468 117.3546913 39.0673389 0 0 22.845 0 0 1 0
+6469 117.3546917 39.0673398 0 0 22.845 0 0 1 0
+6470 117.3546922 39.0673406 0 0 22.845 0 0 1 0
+6471 117.3546927 39.0673414 0 0 22.845 0 0 1 0
+6472 117.3546931 39.0673423 0 0 22.845 0 0 1 0
+6473 117.3546936 39.0673431 0 0 22.845 0 0 1 0
+6474 117.3546940 39.0673439 0 0 22.845 0 0 1 0
+6475 117.3546945 39.0673447 0 0 22.845 0 0 1 0
+6476 117.3546949 39.0673456 0 0 22.845 0 0 1 0
+6477 117.3546954 39.0673464 0 0 22.845 0 0 1 0
+6478 117.3546958 39.0673472 0 0 22.845 0 0 1 0
+6479 117.3546963 39.0673481 0 0 22.845 0 0 1 0
+6480 117.3546967 39.0673489 0 0 22.845 0 0 1 0
+6481 117.3546972 39.0673497 0 0 22.845 0 0 1 0
+6482 117.3546976 39.0673505 0 0 22.845 0 0 1 0
+6483 117.3546981 39.0673514 0 0 22.845 0 0 1 0
+6484 117.3546985 39.0673522 0 0 22.845 0 0 1 0
+6485 117.3546990 39.0673530 0 0 22.845 0 0 1 0
+6486 117.3546994 39.0673539 0 0 22.845 0 0 1 0
+6487 117.3546999 39.0673547 0 0 22.845 0 0 1 0
+6488 117.3547004 39.0673555 0 0 22.845 0 0 1 0
+6489 117.3547008 39.0673563 0 0 22.845 0 0 1 0
+6490 117.3547013 39.0673572 0 0 22.845 0 0 1 0
+6491 117.3547017 39.0673580 0 0 22.845 0 0 1 0
+6492 117.3547022 39.0673588 0 0 22.845 0 0 1 0
+6493 117.3547026 39.0673597 0 0 22.845 0 0 1 0
+6494 117.3547031 39.0673605 0 0 22.845 0 0 1 0
+6495 117.3547035 39.0673613 0 0 22.845 0 0 1 0
+6496 117.3547040 39.0673621 0 0 22.845 0 0 1 0
+6497 117.3547044 39.0673630 0 0 22.845 0 0 1 0
+6498 117.3547049 39.0673638 0 0 22.845 0 0 1 0
+6499 117.3547053 39.0673646 0 0 22.845 0 0 1 0
+6500 117.3547058 39.0673655 0 0 22.845 0 0 1 0
+6501 117.3547062 39.0673663 0 0 22.845 0 0 1 0
+6502 117.3547067 39.0673671 0 0 22.845 0 0 1 0
+6503 117.3547071 39.0673679 0 0 22.845 0 0 1 0
+6504 117.3547076 39.0673688 0 0 22.845 0 0 1 0
+6505 117.3547080 39.0673696 0 0 22.845 0 0 1 0
+6506 117.3547085 39.0673704 0 0 22.845 0 0 1 0
+6507 117.3547090 39.0673713 0 0 22.845 0 0 1 0
+6508 117.3547094 39.0673721 0 0 22.845 0 0 1 0
+6509 117.3547099 39.0673729 0 0 22.845 0 0 1 0
+6510 117.3547103 39.0673737 0 0 22.845 0 0 1 0
+6511 117.3547108 39.0673746 0 0 22.845 0 0 1 0
+6512 117.3547112 39.0673754 0 0 22.845 0 0 1 0
+6513 117.3547117 39.0673762 0 0 22.845 0 0 1 0
+6514 117.3547121 39.0673771 0 0 22.845 0 0 1 0
+6515 117.3547126 39.0673779 0 0 22.845 0 0 1 0
+6516 117.3547130 39.0673787 0 0 22.845 0 0 1 0
+6517 117.3547135 39.0673795 0 0 22.845 0 0 1 0
+6518 117.3547139 39.0673804 0 0 22.845 0 0 1 0
+6519 117.3547144 39.0673812 0 0 22.845 0 0 1 0
+6520 117.3547148 39.0673820 0 0 22.845 0 0 1 0
+6521 117.3547153 39.0673829 0 0 22.845 0 0 1 0
+6522 117.3547157 39.0673837 0 0 22.845 0 0 1 0
+6523 117.3547162 39.0673845 0 0 22.845 0 0 1 0
+6524 117.3547167 39.0673853 0 0 22.845 0 0 1 0
+6525 117.3547171 39.0673862 0 0 22.845 0 0 1 0
+6526 117.3547176 39.0673870 0 0 22.845 0 0 1 0
+6527 117.3547180 39.0673878 0 0 22.845 0 0 1 0
+6528 117.3547185 39.0673887 0 0 22.845 0 0 1 0
+6529 117.3547189 39.0673895 0 0 22.845 0 0 1 0
+6530 117.3547194 39.0673903 0 0 22.845 0 0 1 0
+6531 117.3547198 39.0673911 0 0 22.845 0 0 1 0
+6532 117.3547203 39.0673920 0 0 22.845 0 0 1 0
+6533 117.3547207 39.0673928 0 0 22.845 0 0 1 0
+6534 117.3547212 39.0673936 0 0 22.845 0 0 1 0
+6535 117.3547216 39.0673945 0 0 22.845 0 0 1 0
+6536 117.3547221 39.0673953 0 0 22.845 0 0 1 0
+6537 117.3547225 39.0673961 0 0 22.845 0 0 1 0
+6538 117.3547230 39.0673969 0 0 22.845 0 0 1 0
+6539 117.3547234 39.0673978 0 0 22.845 0 0 1 0
+6540 117.3547239 39.0673986 0 0 22.845 0 0 1 0
+6541 117.3547244 39.0673994 0 0 22.845 0 0 1 0
+6542 117.3547248 39.0674003 0 0 22.845 0 0 1 0
+6543 117.3547253 39.0674011 0 0 22.845 0 0 1 0
+6544 117.3547257 39.0674019 0 0 22.845 0 0 1 0
+6545 117.3547262 39.0674027 0 0 22.845 0 0 1 0
+6546 117.3547266 39.0674036 0 0 22.845 0 0 1 0
+6547 117.3547271 39.0674044 0 0 22.845 0 0 1 0
+6548 117.3547275 39.0674052 0 0 22.845 0 0 1 0
+6549 117.3547280 39.0674061 0 0 22.845 0 0 1 0
+6550 117.3547284 39.0674069 0 0 22.845 0 0 1 0
+6551 117.3547289 39.0674077 0 0 22.845 0 0 1 0
+6552 117.3547293 39.0674085 0 0 22.845 0 0 1 0
@@ -0,0 +1,12 @@
+1主楼 117.3537089 39.0670905
+2EMC 117.3588944 39.0658633
+3碰撞1 117.3581309 39.0637176
+3碰撞2 117.3580963 39.0637293
+3碰撞3 117.3582208 39.0638846
+3碰撞4 117.3581863 39.0639014
+4跑道 117.3572350 39.0628067
+5网联楼 117.3548637 39.0644184
+6风洞 117.3535495 39.0647477
+7软测 117.3536904 39.0654975
+7软测新 117.3535756 39.0652627
+7软测对 117.3534841 39.0652500
+3碰撞1 117.3581233 39.0637171
+3碰撞2 117.3580910 39.0637262
+3碰撞3 117.3581815 39.0638142
+3碰撞4 117.3581377 39.0638216
@@ -8,31 +8,32 @@ if [ ! $check_result ];then
app_name=(
-######controller##
-controller_midcar
-######decition####
-decition_brain
######driver######
driver_lidar_rs16
-#driver_lidar_vlp16
-#driver_gps_hcp2
-#driver_radio_p900
+driver_gps_hcp2
driver_can_nvidia_agx
-#driver_can_kvaser
-#driver_can_vci
driver_map_trace
driver_map_xodrload
driver_rpc_server
driver_cloud_grpc_client
+driver_grpc_server
+driver_rpc_server
+driver_group_grpc_client
######detection#####
-detection_lidar_cnn_segmentation
+detection_lidar_PointPillars_MultiHead
detection_radar_delphi_esr
-detection_gps_hcp2
+######fusion#####
+lidar_radar_fusion_cnn
+######controller######
+controller_hapo
+######decition######
+decition_brain_sf
######tools########
@@ -42,10 +43,10 @@ IVSysMan
ivmapmake
view_ivlog
tool_querymsg
-ui_ads_hmi
tool_xodrobj
ivlog_record
adciv_record
+ui_ads_hmi
for x in ${app_name[@]}
@@ -54,7 +55,6 @@ do
cp ./bin/${x} ./
./deploy.sh $x
if [ $? == 1 ];then
- echo "build $x faile"
echo "build $x faile"
exit 1
@@ -83,13 +83,19 @@ do
-echo "creat IVSysMan.xml"
-cp ./other/$CONFIG_IVSysMan ./deploy/app/IVSysMan.xml
-cp ./other/ADS_decision.xml ./deploy/app/ADS_decision.xml
-sed -i "s|xxxxxx|$PRO_DIR/deploy/app|g" ./deploy/app/IVSysMan.xml
+qt_com=`arch`
+if [ $qt_com = "aarch64" ];then
+cp -r /usr/lib/aarch64-linux-gnu/nss/* ./deploy/app/lib/
+else
+cp -r /usr/lib/x86_64-linux-gnu/nss/* ./deploy/app/lib/
+fi
+cp ./sh/BaiDuMap.html ./deploy/app/
+cp ./sh/car.png ./deploy/app/
+cp ./sh/asphalt.jpg ./deploy/app/
echo ""
echo "***************"
echo "*** done! ***"
@@ -1,19 +1,18 @@
+#qt_com=$(arch)
+qtmake="/usr/lib/aarch64-linux-gnu/qt5/bin/qmake"
+qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
-#qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
-#qtmake=/usr/bin/qmake
-#qtmake="/usr/lib/aarch64-linux-gnu/qt5/bin/qmake"
-if [ ! $qtmake ];then
- echo -e "\e[33m qtmake not set, auto find it\e[0m"
- qtmake=`find /opt -name "qmake" 2>/dev/null | grep 'gcc_64'`
+if [ $(uname -m) == "x86_64" ]; then
+ qtmake="/usr/lib/x86_64-linux-gnu/qt5/bin/qmake"
if [ ! $qtmake ];then
- echo -e "\e[33m qtmake not ,may be agx, auto find it\e[0m"
- if [ -d '/usr/lib/aarch64-linux-gnu/qt5' ]; then
- qtmake='/usr/lib/aarch64-linux-gnu/qt5/bin/qmake'
- else
- echo "if NVIDIA,please sudo apt install qt"
- fi
+ echo -e "\e[33m qtmake not set, auto find it\e[0m"
+ qtmake=`find /opt -name "qmake" 2>/dev/null | grep 'gcc_64'`
@@ -34,37 +33,6 @@ check_result()
-function checkOS_TYPE(){
- if [[ ! -z "`uname | grep Darwin`" ]];then
- OS_TYPE=osx
- install_path=/Applications
- elif [[ ! -z "`uname | grep Linux`" ]];then
- OS_TYPE=linux
- install_path=/usr/lib
- echo "Unsupported operating systems!"
- exit 1
- echo "The current operating system is"
- echo $OS_TYPE
-}
-function checkos(){
- if [[ -f /etc/redhat-release ]];then
- OS=Centos
- elif [[ ! -z "`cat /etc/issue | grep bian`" ]];then
- OS=Debian
- elif [[ ! -z "`cat /etc/issue | grep Ubuntu`" ]];then
- OS=Ubuntu
- echo "Unknow!!!"
- echo $OS
-checkOS_TYPE
-checkos
MAKEOPT=-j8
mkdir bin
@@ -164,7 +132,7 @@ rm .qmake.stash
- controller_midcar
+ controller_hapo
for x in ${controller_app_name[@]}
@@ -182,7 +150,7 @@ do
decition_app_name=(
- decition_brain
+ decition_brain_sf
#decition_brain_ge3
#decition_brain_qingyuan
#decition_brain_vv7
@@ -210,6 +178,9 @@ driver_app_name=(
+ driver_grpc_server
+ driver_rpc_server
+ driver_group_grpc_client
for x in ${driver_app_name[@]}
@@ -227,9 +198,8 @@ do
- detection_lidar_cnn_segmentation
+ detection_lidar_PointPillars_MultiHead
- detection_gps_hcp2
@@ -247,6 +217,25 @@ do
@@ -1,14 +1,14 @@
<xml>
- <module app="driver_can_nvidia_agx" dir="/home/nvidia/app" args=" " autostart="true" group="Driver"/>
- <module app="driver_rpc_client" dir="/home/nvidia/app" args=" " autostart="true" group="Driver"/>
- <module app="driver_rpc_server" dir="/home/nvidia/app" args=" " autostart="true" group="Driver"/>
- <module app="detection_radar_delphi_srr" dir="/home/nvidia/app" args=" " autostart="true" group="Detection"/>
- <module app="detection_mobileye" dir="/home/nvidia/app" args=" " autostart="true" group="Detection"/>
- <module app="detection_ultra_forvision" dir="/home/nvidia/app" args=" " autostart="true" group="Detection"/>
- <module app="fusion_radar_merge" dir="/home/nvidia/app" args=" " autostart="true" group="Fusion"/>
- <module app="view_ivlog" dir="/home/nvidia/app" args=" " autostart="false" group="Tool"/>
- <module app="view_radar" dir="/home/nvidia/app" args=" " autostart="false" group="Tool"/>
- <module app="view_gps" dir="/home/nvidia/app" args=" " autostart="false" group="Tool"/>
- <module app="adciv_record" dir="/home/nvidia/app" args=" " autostart="true" group="Tool"/>
- <module app="ivlog_record" dir="/home/nvidia/app" args=" " autostart="true1" group="Tool"/>
+ <module app="driver_can_nvidia_agx" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true" group="Driver"/>
+ <module app="driver_rpc_client" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true" group="Driver"/>
+ <module app="driver_rpc_server" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true1" group="Driver"/>
+ <module app="detection_radar_delphi_srr" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true1" group="Detection"/>
+ <module app="detection_mobileye" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true" group="Detection"/>
+ <module app="detection_ultra_forvision" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true1" group="Detection"/>
+ <module app="fusion_radar_merge" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true1" group="Fusion"/>
+ <module app="view_ivlog" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false" group="Tool"/>
+ <module app="view_radar" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false" group="Tool"/>
+ <module app="view_gps" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false" group="Tool"/>
+ <module app="adciv_record" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="tru1e" group="Tool"/>
+ <module app="ivlog_record" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true1" group="Tool"/>
</xml>
@@ -7,6 +7,7 @@
<param name="MEMNAME001" value="hcp2_gpsimu" />
<param name="MEMNAME002" value="radar_merge" />
<param name="MEMNAME003" value="ultra" />
+ <param name="MEMNAME004" value="mobileye" />
</node>
@@ -13,7 +13,7 @@ driver_can_nvidia_agx
driver_rpc_client
-detection_radar_delphi_srr
+#detection_radar_delphi_srr
detection_mobileye
@@ -44,6 +44,7 @@ lib_name=(
libivlog.so
libplatformif.so
libivexit.so
+ libivchart.so
for x in ${lib_name[@]}
@@ -56,13 +57,24 @@ do
+#echo "creat IVSysMan.xml"
+#cp ./other/$CONFIG_IVSysMan ./deploy/app/IVSysMan.xml
+#cp ./other/ADS_decision.xml ./deploy/app/ADS_decision.xml
+#sed -i "s|xxxxxx|$PRO_DIR/deploy/app|g" ./deploy/app/IVSysMan.xml
@@ -75,6 +43,7 @@ cd ../../../
@@ -153,6 +122,16 @@ rm Makefile
# controller_midcar
@@ -212,7 +191,7 @@ do
- detection_radar_delphi_srr
+# detection_radar_delphi_srr
@@ -6,10 +6,14 @@
namespace iv {
+static int gminlevel = 0;
+static bool gbStdOut = false;
Ivlog::Ivlog(const char * strmodulename)
{
ivlog_impl * p = new ivlog_impl(strmodulename);
+ gminlevel = p->GetMinLevel();
+ gbStdOut = p->GetbStdOut();
p->start();
mpimpl = (void *)p;
@@ -30,6 +34,8 @@ va_end(ap) 用来清除list
*/
void Ivlog::verbose(const char *str,...)
+ if((gbStdOut== false) && (gminlevel > 0))return;
va_list arg;
char * strlog = new char[65636];
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
@@ -37,12 +43,21 @@ void Ivlog::verbose(const char *str,...)
vsnprintf(strlog,65535,str,arg);
va_end(arg);
+ if(gbStdOut)
+ {
+ std::cout<<strlog<<std::endl;
+ }
+ if(gminlevel>0)return;
ivlog_impl * p = (ivlog_impl *)mpimpl;
p->verbose(strlog);
void Ivlog::verbose(const char * strtag,const char *str,...)
@@ -50,103 +65,198 @@ void Ivlog::verbose(const char * strtag,const char *str,...)
p->verbose(strlog,strtag);
void Ivlog::debug(const char *str,...)
+ if((gbStdOut== false) && (gminlevel > 1))return;
+ ivlog_impl * p = (ivlog_impl *)mpimpl;
va_start(arg, str);
- ivlog_impl * p = (ivlog_impl *)mpimpl;
+ if(gminlevel>1)return;
p->debug(strlog);
void Ivlog::debug(const char * strtag,const char *str,...)
p->debug(strlog,strtag);
void Ivlog::info(const char *str,...)
+ if((gbStdOut== false) && (gminlevel > 2))return;
+ if(gminlevel>2)return;
p->info(strlog);
void Ivlog::info(const char * strtag,const char *str,...)
p->info(strlog,strtag);
void Ivlog::warn(const char *str,...)
+ if((gbStdOut== false) && (gminlevel > 3))return;
+ if(gminlevel>3)return;
p->warn(strlog);
void Ivlog::warn(const char * strtag,const char *str,...)
p->warn(strlog,strtag);
void Ivlog::error(const char *str,...)
+ if((gbStdOut== false) && (gminlevel > 4))return;
+ if(gminlevel>4)return;
p->error(strlog);
void Ivlog::error(const char * strtag, const char *str,...)
p->error(strlog,strtag);
@@ -0,0 +1,2 @@
+[setting]
+level=3
@@ -2,6 +2,41 @@
ivlog_impl::ivlog_impl(const char * strmodulename)
+ QSettings * configini = new QSettings("ivlog.ini",QSettings::IniFormat);
+ QString strlevel = configini->value("setting/level").toString();
+ QString strstdout = configini->value("setting/stdout").toString();
+ if(strlevel == "")
+ mnMinLevel = 0;
+ else
+ mnMinLevel = strlevel.toInt();
+ if(mnMinLevel<0)mnMinLevel = 0;
+ if(strstdout == "")
+ mbStdOut = false;
+ if(strstdout == "true")
+ mbStdOut = true;
+ qDebug("log level is %d",mnMinLevel);
+ std::cout<<"log stdout is "<<mbStdOut<<std::endl;
+ delete configini;
strncpy(mstrmodulename,strmodulename,255);
mpid = getpid();
mmsg = QDBusMessage::createSignal("/catarc/adc", "adciv.interface", "ivlog");
@@ -24,26 +59,31 @@ ivlog_impl::~ivlog_impl()
void ivlog_impl::verbose(const char *str,const char * strtag)
+ if(mnMinLevel>0)return;
setlog(iv::log::logdata_LOGCLASS_VERBOSE,str,strtag);
void ivlog_impl::debug(const char *str,const char * strtag)
+ if(mnMinLevel>1)return;
setlog(iv::log::logdata_LOGCLASS_DEBUG,str,strtag);
void ivlog_impl::info(const char *str,const char * strtag)
+ if(mnMinLevel>2)return;
setlog(iv::log::logdata_LOGCLASS_INFO,str,strtag);
void ivlog_impl::warn(const char *str,const char * strtag)
+ if(mnMinLevel>3)return;
setlog(iv::log::logdata_LOGCLASS_WARN,str,strtag);
void ivlog_impl::error(const char *str,const char * strtag)
+ if(mnMinLevel>4)return;
setlog(iv::log::logdata_LOGCLASS_ERROR,str,strtag);
@@ -56,11 +96,23 @@ inline void ivlog_impl::setlog(iv::log::logdata_LOGCLASS logclass, const char *l
log.set_modulename(mstrmodulename,strnlen(mstrmodulename,255));
log.set_pid(mpid);
if(strtag != 0)log.set_logtag(strtag,strnlen(strtag,256));
- mMutexVector.lock();
- mvectorlog.push_back(log);
- mMutexVector.unlock();
int logxc = (int)logclass;
int logrealmin = (int)iv::log::logdata_LOGCLASS_WARN;
+ mMutexVector.lock();
+ if(mvectorlog.size()<1000)
+ mvectorlog.push_back(log);
+ if(mvectorlog.size()<2000)
+ if(logxc >= logrealmin) mvectorlog.push_back(log);
+ mMutexVector.unlock();
if(logxc >= logrealmin)
mwc.wakeAll();
@@ -118,6 +170,16 @@ int ivlog_impl::writelog(std::vector<iv::log::logdata> xvectorlog)
return 0;
+int ivlog_impl::GetMinLevel()
+{
+ return mnMinLevel;
+bool ivlog_impl::GetbStdOut()
+ return mbStdOut;
void ivlog_impl::run()
std::vector<iv::log::logdata> xvectorlog;
@@ -133,6 +195,7 @@ void ivlog_impl::run()
mMutexVector.unlock();
if(xvectorlog.size() > 0)
+// qDebug("write log");
writelog(xvectorlog);
@@ -11,6 +11,7 @@
#include <vector>
#include <memory>
#include <iostream>
+#include <QSettings>
#include <unistd.h>
@@ -43,6 +44,13 @@ private:
std::vector<iv::log::logdata> mvectorlog;
QMutex mMutexVector;
int writelog(std::vector<iv::log::logdata>xvectorlog);
+ int mnMinLevel = 0;
+ bool mbStdOut = false;
+public:
+ int GetMinLevel();
+ bool GetbStdOut();
};
#endif // IVLOG_IMPL_H
@@ -9,6 +9,25 @@
#endif
+//#define RESET "\033[0m"
+//#define BLACK "\033[30m" /* Black */
+//#define RED "\033[31m" /* Red */
+//#define GREEN "\033[32m" /* Green */
+//#define YELLOW "\033[33m" /* Yellow */
+//#define BLUE "\033[34m" /* Blue */
+//#define MAGENTA "\033[35m" /* Magenta */
+//#define CYAN "\033[36m" /* Cyan */
+//#define WHITE "\033[37m" /* White */
+//#define BOLDBLACK "\033[1m\033[30m" /* Bold Black */
+//#define BOLDRED "\033[1m\033[31m" /* Bold Red */
+//#define BOLDGREEN "\033[1m\033[32m" /* Bold Green */
+//#define BOLDYELLOW "\033[1m\033[33m" /* Bold Yellow */
+//#define BOLDBLUE "\033[1m\033[34m" /* Bold Blue */
+//#define BOLDMAGENTA "\033[1m\033[35m" /* Bold Magenta */
+//#define BOLDCYAN "\033[1m\033[36m" /* Bold Cyan */
+//#define BOLDWHITE "\033[1m\033[37m" /* Bold White */
class AttachThread : public QThread
public:
@@ -28,16 +47,44 @@ class AttachThread : public QThread
+void procsm::threadAttachMon()
+ std::cout<<"\033[1m\033[32m"<<mstrsmname<<" threadAttachMon run."<<"\033[0m"<<std::endl;
+ int nCount = 0;
+ while(mbAttachRun)
+ if(mbInitComplete)
+ std::cout<<"\033[1m\033[32m"<<mstrsmname<<" Init Succesffuly."<<"\033[0m"<<std::endl;
+ break;
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
+ nCount++;
+ if(nCount>300)
+ std::cerr<<"\033[1m\033[31m"<<" modulecomm msg "<<mstrsmname<<" Attach Fail."<<" Now Exit."<<"\033[0m"<<std::endl;
+ exit(-1);
+ mbAttachThreadComplete = true;
procsm::procsm(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode)
// mnBufSize = nBufSize;
// qDebug("create dbus");
strncpy(mstrsmname,strsmname,256);
mpASMPtr = new QSharedMemory(strsmname);
+ mpthreadattmon = new std::thread(&procsm::threadAttachMon,this);
char strasmname[256];
@@ -63,6 +110,7 @@ procsm::procsm(const char * strsmname,const unsigned int nBufSize,const unsigned
else
+ mbInitComplete = true;
return;
@@ -159,6 +207,36 @@ procsm::procsm(const char * strsmname,const unsigned int nBufSize,const unsigned
+procsm::~procsm()
+ if(mbAttachThreadComplete == false)
+ std::cout<<" Try to end Attach Monitor Thread."<<std::endl;
+ mbAttachRun = false;
+ mpthreadattmon->join();
+ if(mpASMPtr->isAttached())
+ std::cout<<"\033[32m"<<mstrsmname<<" detach ASMPtr "<<"\033[0m"<<std::endl;
+ mpASMPtr->lock();
+ if(mpASM->isAttached())
+ std::cout<<"\033[32m"<<mstrsmname<<" detach ASM "<<"\033[0m"<<std::endl;
+ mpASM->detach();
+ mpASMPtr->unlock();
+ delete mpASM;
+ mpASMPtr->detach();
+ delete mpASMPtr;
+ std::cout<<"\033[32m"<<mstrsmname<<" ~procsm() "<<"\033[0m"<<std::endl;
void procsm::recreateasm(int nbufsize)
@@ -529,7 +607,7 @@ int procsm::readmsg(unsigned int index, char *str, unsigned int nMaxSize,unsigne
if(mbAttach == false)
std::cout<<"ShareMemory Attach fail."<<std::endl;
- return -1;
+ return -3;
int nRtn = 0;
mpASM->lock();
@@ -6,6 +6,7 @@
#include <QDateTime>
#include <QList>
#include <QVariant>
+#include <thread>
#ifdef USEDBUS
#include <QtDBus/QDBusMessage>
@@ -79,6 +80,7 @@ class procsm : public QObject
procsm(const char * strsmname,const unsigned int nBufSize,const unsigned int nMaxPacCount,const int nMode);
+ ~procsm();
int writemsg(const char * str,const unsigned int nSize);
unsigned int getcurrentnext();
int readmsg(unsigned int index,char * str,unsigned int nMaxSize,unsigned int * nRead,QDateTime * pdt);
@@ -124,6 +126,15 @@ private:
private:
char mstrsmname[256];
+private:
+ bool mbInitComplete = false;
+ void threadAttachMon();
+ bool mbAttachRun = true;
+ bool mbAttachThreadComplete = false;
+ std::thread * mpthreadattmon;
@@ -137,6 +137,7 @@ void procsm_if_readthread::run()
delete str;
if(nBufLen < 1)nBufLen = 1;
str = new char[nBufLen];
+ // std::cout<<"modulecomm resize str to "<<nBufLen<<std::endl;
@@ -0,0 +1,51 @@
+#pragma once
+#ifndef _IV_BOOST_H_
+#define _IV_BOOST_H_
+#if defined __GNUC__
+# pragma GCC system_header
+#endif
+#ifndef __CUDACC__
+//https://bugreports.qt-project.org/browse/QTBUG-22829
+#ifndef Q_MOC_RUN
+#include <boost/version.hpp>
+#include <boost/numeric/conversion/cast.hpp>
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/condition.hpp>
+#include <boost/thread.hpp>
+#include <boost/thread/thread.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/bind.hpp>
+#include <boost/cstdint.hpp>
+#include <boost/function.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <boost/mpl/fold.hpp>
+#include <boost/mpl/inherit.hpp>
+#include <boost/mpl/inherit_linearly.hpp>
+#include <boost/mpl/joint_view.hpp>
+#include <boost/mpl/transform.hpp>
+#include <boost/mpl/vector.hpp>
+#include <boost/algorithm/string.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp>
+#if BOOST_VERSION >= 104700
+#include <boost/chrono.hpp>
+#include <boost/tokenizer.hpp>
+#include <boost/foreach.hpp>
+#include <boost/shared_array.hpp>
+#include <boost/interprocess/sync/file_lock.hpp>
+#if BOOST_VERSION >= 104900
+#include <boost/interprocess/permissions.hpp>
+#include <boost/iostreams/device/mapped_file.hpp>
+#define BOOST_PARAMETER_MAX_ARITY 7
+#include <boost/signals2.hpp>
+#include <boost/signals2/slot.hpp>
+#endif // _IV_BOOST_H_
@@ -0,0 +1,20 @@
+#include "common/car_status.h"
+#ifdef linux
+unsigned long GetTickCount()
+ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC,&ts);
+ return (ts.tv_sec * 1000 + ts.tv_nsec/(1000*1000) );
+iv::CarStatus::CarStatus()
+iv::CarStatus::~CarStatus()
@@ -0,0 +1,28 @@
+#ifndef _IV_COMMON_CAR_STATUS_
+#define _IV_COMMON_CAR_STATUS_
+#include <common/boost.h>
+#include <boost/serialization/singleton.hpp>
+#include <time.h>
+#include <QTime>
+#include <QVector>
+unsigned long GetTickCount();
+namespace iv {
+class CarStatus : public boost::noncopyable {
+ CarStatus();
+ ~CarStatus();
+ float wheelangle = 0;
+ float torque = 0;
+ float brake = 0;
+};
+typedef boost::serialization::singleton<iv::CarStatus> CarStatusSingleton;//非线程安全,注意多线程加锁,单例模式
+#define ServiceCarStatus iv::CarStatusSingleton::get_mutable_instance()
+#endif // !_IV_COMMON_CAR_STATUS_
@@ -0,0 +1,10 @@
+HEADERS += \
+ $$PWD/controller.h \
+ $$PWD/control_status.h \
+ $$PWD/vv7.h
+SOURCES += \
+ $$PWD/controller.cpp \
+ $$PWD/control_status.cpp
+DISTFILES +=
@@ -0,0 +1,488 @@
+#include <control/control_status.h>
+#include <QDebug>
+//#if 1
+void iv::control::ControlStatus::set_cmd_checksum(unsigned char cmd_id)
+ unsigned int check_sum=0;
+ if(cmd_id==0x10)
+ for(int i=0;i<7;i++)
+ check_sum^=(ServiceControlStatus.command10.byte[i]);
+ ServiceControlStatus.command10.byte[7]=check_sum;
+ }else if(cmd_id==0x11)
+ check_sum^=(ServiceControlStatus.command11.byte[i]);
+ ServiceControlStatus.command11.byte[7]=check_sum;
+ }else if(cmd_id==0x12)
+ check_sum^=(ServiceControlStatus.command12.byte[i]);
+ ServiceControlStatus.command12.byte[7]=check_sum;
+void iv::control::ControlStatus::set_wheel_angle(float angle)
+ int ang =(angle+870)*10;
+ ServiceControlStatus.command12.bit.ang_H = (ang) /256;
+ ServiceControlStatus.command12.bit.ang_L = (ang) % 256;
+void iv::control::ControlStatus::set_wheel_speed(float speed)
+ int angSpeed =speed;
+ ServiceControlStatus.command12.bit.ang_speed = angSpeed;
+void iv::control::ControlStatus::set_wheel_enable(bool enable)
+ if(enable){
+ ServiceControlStatus.command12.bit.ang_enable = 1;
+ }else{
+ ServiceControlStatus.command12.bit.ang_enable = 0;
+ void iv::control::ControlStatus::set_speed_limit(float speed)
+ ServiceControlStatus.command11.bit.speed_limit = (unsigned)speed;
+void iv::control::ControlStatus::set_aeb(float aeb)
+ int aebBrake =(aeb+16)/0.000488;
+ ServiceControlStatus.command11.bit.aeb_H = (aebBrake) /256;
+ ServiceControlStatus.command11.bit.aeb_L = (aebBrake) % 256;
+void iv::control::ControlStatus::set_torque(float troque)
+ command11.bit.torque=(unsigned)(troque*2.5);
+void iv::control::ControlStatus::set_brake(float brake)
+ command11.bit.brake=(unsigned)brake;
+void iv::control::ControlStatus::set_gear(int gear)
+ command11.bit.gear = (unsigned)gear;
+void iv::control::ControlStatus::set_handBrake(bool handbrake)
+ if(handbrake){
+ command11.bit.park = 2;
+ command11.bit.park = 1;
+void iv::control::ControlStatus::set_driveMode(char driveMode)
+ command11.bit.driveMode = (unsigned)driveMode;
+void iv::control::ControlStatus::set_gear_enable(bool enable){
+ if (enable == true)
+ command11.bit.gear_enable = 1;
+ command11.bit.gear_enable = 0;
+void iv::control::ControlStatus::set_acc_enable(bool enable){
+ command11.bit.acc_enable = 1;
+ command11.bit.acc_enable = 0;
+void iv::control::ControlStatus::set_aeb_enable(bool enable){
+ command11.bit.aeb_enable = 1;
+ command11.bit.aeb_enable = 0;
+//void iv::control::ControlStatus::set_win_lf(char para)
+//{
+// command10.bit.windowlf = (unsigned)para;
+//}
+//void iv::control::ControlStatus::set_win_rf(char para)
+// command10.bit.windowrf = (unsigned)para;
+//void iv::control::ControlStatus::set_win_lr(char para)
+// command10.bit.windowlr = (unsigned)para;
+//void iv::control::ControlStatus::set_win_rr(char para)
+// command10.bit.windowrr = (unsigned)para;
+//空调控制
+void iv::control::ControlStatus::set_air_on(char para)
+ command10.bit.air_on = (unsigned)para;
+//void iv::control::ControlStatus::set_air_cricle(char para)
+// command10.bit.air_cricle = (unsigned)para;
+//void iv::control::ControlStatus::set_air_auto(char para)
+// command10.bit.air_auto = (unsigned)para;
+//void iv::control::ControlStatus::set_air_off(char para)
+// command10.bit.air_off = (unsigned)para;
+//void iv::control::ControlStatus::set_air_temup(char para)
+// command10.bit.tem_up = (unsigned)para;
+//void iv::control::ControlStatus::set_air_temdown(char para)
+// command10.bit.tem_down = (unsigned)para;
+//void iv::control::ControlStatus::set_air_powerup(char para)
+// command10.bit.power_up = (unsigned)para;
+//void iv::control::ControlStatus::set_air_powerdown(char para)
+// command10.bit.power_down = (unsigned)para;
+void iv::control::ControlStatus::set_obligate(char para)
+ command10.bit.ignition = (unsigned)para;
+void iv::control::ControlStatus::set_door(char enable)
+ command10.bit.door = (unsigned)enable;
+void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right)
+ if ( (left == true) && (right == false) )
+ command10.bit.turn_light = 0x01;
+ else if ( (left == false) && (right == true) )
+ command10.bit.turn_light = 0x02;
+ else if ((left == false) && (right == false))
+ command10.bit.turn_light = 0x00;
+ command10.bit.turn_light = 0x03;
+void iv::control::ControlStatus::set_small_light(char para)
+ command10.bit.small_light = (unsigned)para;
+void iv::control::ControlStatus::set_near_light(char para)
+ command10.bit.near_light = (unsigned)para;
+void iv::control::ControlStatus::set_horn(char para)
+ command10.bit.horn = (unsigned)para;
+void iv::control::ControlStatus::set_far_light(char para)
+ command10.bit.far_light = (unsigned)para;
+void iv::control::ControlStatus::set_frog_light(char para)
+ command10.bit.fog_light = (unsigned)para;
+void iv::control::ControlStatus::set_wiper(char para)
+ command10.bit.wiper = (unsigned)para;
+void iv::control::ControlStatus::set_brake_light(char para)
+ command10.bit.brake_light = (unsigned)para;
+void iv::control::ControlStatus::set_defrog(char para)
+ command10.bit.defrog = (unsigned)para;
+void iv::control::ControlStatus::set_reverse_light(char para)
+ command10.bit.revers_light = (unsigned)para;
+void set_air_temp(char para);
+void set_air_mode(char para);
+void set_air_enable(bool enable);
+void set_wind_level(char para);
+void set_roof_light(char para);
+void set_home_light(char para);
+void set_air_worktime(char para);
+void set_air_offtime(char para);
+void iv::control::ControlStatus::set_air_temp(char para)
+ command10.bit.air_temp = (unsigned)para+40;
+void iv::control::ControlStatus::set_air_mode(char para)
+ command10.bit.air_mode = (unsigned)para;
+void iv::control::ControlStatus::set_air_enable(bool enable)
+ command10.bit.air_enable = 0x01;
+ command10.bit.air_enable = 0x00;
+void iv::control::ControlStatus::set_wind_level(char para)
+ command10.bit.air_wind_level = (unsigned)para;
+void iv::control::ControlStatus::set_roof_light(char para)
+ command10.bit.roof_light = (unsigned)para;
+void iv::control::ControlStatus::set_home_light(char para)
+ command10.bit.home_light = (unsigned)para;
+void iv::control::ControlStatus::set_air_worktime(char para)
+ command10.bit.air_work_time = (unsigned)para;
+void iv::control::ControlStatus::set_air_offtime(char para)
+ command10.bit.air_off_time = (unsigned)para;
+//void iv::control::ControlStatus::set_speaker(bool enable){
+// if (enable == true)
+// command.bit.speaker = 1;
+// else
+// command.bit.speaker = 0;
+//void iv::control::ControlStatus::set_door(char enable){
+// command.bit.door = 1;
+// command.bit.door = 0;
+//void iv::control::ControlStatus::set_doorEnable(bool enable){
+// if (enable == true){
+// command.bit.doorEnable = 1;
+// command.bit.door=1;
+// }
+// else{
+// command.bit.doorEnable = 0;
+// command.bit.door=0;
+////void iv::control::ControlStatus::set_flicker(bool enable){
+//// if (enable == true)
+//// command.bit.flicker = 1;
+//// else
+//// command.bit.flicker = 0;
+////}
+//void iv::control::ControlStatus::set_light(bool enable){
+// command.bit.bright = 1;
+// command.bit.bright = 0;
+//void iv::control::ControlStatus::set_leftlight(bool enable){
+// command.bit.left_turn = 1;
+// command.bit.left_turn = 0;
+//void iv::control::ControlStatus::set_rightlight(bool enable){
+// command.bit.right_turn = 1;
+// command.bit.right_turn = 0;
+//void iv::control::ControlStatus::set_turnsignals_control(bool left, bool right){
+// if (left == true)
+// {
+// else if (right == true)
+//#else
+//void iv::control::ControlStatus::set_accelerate(float percent)
+// command.bit.acce = (unsigned)((percent + 7) * 20);
+//void iv::control::ControlStatus::set_wheel_angle(float angle)
+// command.bit.ang_H = angle * 10 >> 8;
+// command.bit.ang_L = angle * 10 % 256;
+//void iv::control::ControlStatus::set_engine(char enable)
+// command.bit.engine = enable;
+// command.bit.door = enable;
+//void iv::control::ControlStatus::set_flicker(bool enable){
+// command.bit.flicker = 1;
+// command.bit.flicker = 0;
+//#endif
@@ -0,0 +1,108 @@
+//由于控制器指令共享同一个ID 0x20,建立此类维护控制指令的最新状态
+#include <boost.h>
+#include <cstdint>
+#include <control/vv7.h>
+namespace control {
+class ControlStatus : public boost::noncopyable
+ /*****************
+ * ****测试标志位*****
+ * ***************/
+ int normal_speed = 0;//常规速度
+ int swerve_speed = 0;//转弯速度
+ int high_speed = 0;//快速
+ int mid_speed = 0;//中速
+ int low_speed = 0;//慢速
+ int change_line = -1;//换道标志
+ int stop_obstacle = -1;//停障标志
+ int elude_obstacle = -1;//避障标志
+ int special_signle = -1;//特殊信号标志
+ int car_pullover = -1;//靠边停车标志位
+ float torque = 0.0;
+ float brake = 0.0;
+ float acc=0.0;
+ Command10 command10 ;
+ Command11 command11 ;
+ Command12 command12;
+ Command_Response command_reponse;
+ int command_ID10 = 0x10;
+ int command_ID11 = 0x11;
+ int command_ID12 = 0x12;
+ void set_wheel_angle(float angle);
+ void set_wheel_speed(float speed);
+ void set_wheel_enable(bool enable);
+ void set_speed_limit(float speed);
+ void set_torque(float percent);
+ void set_aeb(float aeb);
+ void set_brake(float brake);
+ void set_gear(int gear);
+ void set_handBrake(bool handBrake);
+ void set_driveMode(char mode);
+ void set_gear_enable(bool enable);
+ void set_aeb_enable(bool enable);
+ void set_acc_enable(bool enable);
+ void set_win_lf(char para);
+ void set_win_rf(char para);
+ void set_win_lr(char para);
+ void set_win_rr(char para);
+ void set_air_on(char para);
+ void set_air_cricle(char para);
+ void set_air_auto(char para);
+ void set_air_off(char para);
+ void set_air_temup(char para);
+ void set_air_temdown(char para);
+ void set_air_powerup(char para);
+ void set_air_powerdown(char para);
+ void set_obligate(char para);
+ void set_door(char enable);
+ void set_turnsignals_control(bool left, bool right);
+ void set_small_light(char para);
+ void set_near_light(char para);
+ void set_horn(char para);
+ void set_far_light(char para);
+ void set_frog_light(char para);
+ void set_wiper(char para);
+ void set_brake_light(char para);
+ void set_defrog(char para);
+ void set_reverse_light(char para);
+ void set_air_temp(char para);
+ void set_air_mode(char para);
+ void set_air_enable(bool enable);
+ void set_wind_level(char para);
+ void set_roof_light(char para);
+ void set_home_light(char para);
+ void set_air_worktime(char para);
+ void set_air_offtime(char para);
+ void set_cmd_checksum(unsigned char cmd_id);
+typedef boost::serialization::singleton<iv::control::ControlStatus> ControlStatusSingleton;
+#define ServiceControlStatus iv::control::ControlStatusSingleton::get_mutable_instance()
@@ -0,0 +1,145 @@
+#ifndef CONTROLCAN1_H
+#define CONTROLCAN1_H
+//接口卡类型定义
+#define VCI_PCI5121 1
+#define VCI_PCI9810 2
+#define VCI_USBCAN1 3
+#define VCI_USBCAN2 4
+#define VCI_PCI9820 5
+#define VCI_CAN232 6
+#define VCI_PCI5110 7
+#define VCI_CANLite 8
+#define VCI_ISA9620 9
+#define VCI_ISA5420 10
+//CAN错误码
+#define ERR_CAN_OVERFLOW 0x0001 //CAN控制器内部FIFO溢出
+#define ERR_CAN_ERRALARM 0x0002 //CAN控制器错误报警
+#define ERR_CAN_PASSIVE 0x0004 //CAN控制器消极错误
+#define ERR_CAN_LOSE 0x0008 //CAN控制器仲裁丢失
+#define ERR_CAN_BUSERR 0x0010 //CAN控制器总线错误
+//通用错误码
+#define ERR_DEVICEOPENED 0x0100 //设备已经打开
+#define ERR_DEVICEOPEN 0x0200 //打开设备错误
+#define ERR_DEVICENOTOPEN 0x0400 //设备没有打开
+#define ERR_BUFFEROVERFLOW 0x0800 //缓冲区溢出
+#define ERR_DEVICENOTEXIST 0x1000 //此设备不存在
+#define ERR_LOADKERNELDLL 0x2000 //装载动态库失败
+#define ERR_CMDFAILED 0x4000 //执行命令失败错误码
+#define ERR_BUFFERCREATE 0x8000 //内存不足
+//函数调用返回状态值
+#define STATUS_OK 1
+#define STATUS_ERR 0
+#define USHORT unsigned short int
+#define BYTE unsigned char
+#define CHAR char
+#define UCHAR unsigned char
+#define UINT unsigned int
+#define DWORD unsigned int
+#define PVOID void*
+#define ULONG unsigned int
+#define INT int
+#define UINT32 UINT
+#define LPVOID void*
+#define BOOL BYTE
+#define TRUE 1
+#define FALSE 0
+#if 1
+typedef struct _VCI_BOARD_INFO{//1.ZLGCAN系列接口卡信息的数据类型。
+ USHORT hw_Version;
+ USHORT fw_Version;
+ USHORT dr_Version;
+ USHORT in_Version;
+ USHORT irq_Num;
+ BYTE can_Num;
+ CHAR str_Serial_Num[20];
+ CHAR str_hw_Type[40];
+ USHORT Reserved[4];
+} VCI_BOARD_INFO,*PVCI_BOARD_INFO;
+typedef struct _VCI_CAN_OBJ{//2.定义CAN信息帧的数据类型。
+ UINT ID;
+ UINT TimeStamp;
+ BYTE TimeFlag;
+ BYTE SendType;
+ BYTE RemoteFlag;//是否是远程帧
+ BYTE ExternFlag;//是否是扩展帧
+ BYTE DataLen;
+ BYTE Data[8];
+ BYTE Reserved[3];
+}VCI_CAN_OBJ,*PVCI_CAN_OBJ;
+typedef struct _VCI_CAN_STATUS{//3.定义CAN控制器状态的数据类型。
+ UCHAR ErrInterrupt;
+ UCHAR regMode;
+ UCHAR regStatus;
+ UCHAR regALCapture;
+ UCHAR regECCapture;
+ UCHAR regEWLimit;
+ UCHAR regRECounter;
+ UCHAR regTECounter;
+ DWORD Reserved;
+}VCI_CAN_STATUS,*PVCI_CAN_STATUS;
+typedef struct _ERR_INFO{//4.定义错误信息的数据类型。
+ UINT ErrCode;
+ BYTE Passive_ErrData[3];
+ BYTE ArLost_ErrData;
+} VCI_ERR_INFO,*PVCI_ERR_INFO;
+typedef struct _INIT_CONFIG{//5.定义初始化CAN的数据类型
+ DWORD AccCode;
+ DWORD AccMask;
+ UCHAR Filter;
+ UCHAR Timing0;
+ UCHAR Timing1;
+ UCHAR Mode;
+}VCI_INIT_CONFIG,*PVCI_INIT_CONFIG;
+#ifdef __cplusplus
+extern "C" {
+DWORD VCI_OpenDevice(DWORD DeviceType,DWORD DeviceInd,DWORD Reserved);
+DWORD VCI_CloseDevice(DWORD DeviceType,DWORD DeviceInd);
+DWORD VCI_InitCAN(DWORD DeviceType, DWORD DeviceInd, DWORD CANInd, PVCI_INIT_CONFIG pInitConfig);
+DWORD VCI_ReadBoardInfo(DWORD DeviceType,DWORD DeviceInd,PVCI_BOARD_INFO pInfo);
+DWORD VCI_ReadErrInfo(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_ERR_INFO pErrInfo);
+DWORD VCI_ReadCANStatus(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_STATUS pCANStatus);
+DWORD VCI_GetReference(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,DWORD RefType,PVOID pData);
+DWORD VCI_SetReference(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,DWORD RefType,PVOID pData);
+ULONG VCI_GetReceiveNum(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
+DWORD VCI_ClearBuffer(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
+DWORD VCI_StartCAN(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
+DWORD VCI_ResetCAN(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
+ULONG VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,UINT Len);
+ULONG VCI_Receive(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pReceive,UINT Len,INT WaitTime);
@@ -0,0 +1,204 @@
+#include <control/controller.h>
+iv::control::Controller::Controller() {
+iv::control::Controller::~Controller() {
+void iv::control::Controller::inialize() {
+//校验和
+void iv::control::Controller::cmd_checksum(unsigned char cmd_id) {
+ ServiceControlStatus.set_cmd_checksum(cmd_id);
+//方向盘控制
+void iv::control::Controller::control_wheel(float angle) {
+ ServiceControlStatus.set_wheel_angle(angle);
+void iv::control::Controller:: control_angle_speed(float angSpeed){
+ ServiceControlStatus.set_wheel_speed(angSpeed);
+void iv::control::Controller:: control_angle_enable(bool enable){
+ ServiceControlStatus.set_wheel_enable(enable);
+//速度限制
+void iv::control::Controller:: control_speed_limit(float speedLimit){
+ ServiceControlStatus.set_speed_limit(speedLimit);
+//油门控制
+void iv::control::Controller::control_torque(float percent){
+ ServiceControlStatus.set_torque(percent);
+void iv::control::Controller::control_acc_en(bool enanble){
+ ServiceControlStatus.set_acc_enable(enanble);
+void iv::control::Controller::control_aeb(float aeb){
+ ServiceControlStatus.set_aeb(aeb);
+void iv::control::Controller::control_aeb_en(bool enable){
+ ServiceControlStatus.set_aeb_enable(enable);
+//刹车控制
+void iv::control::Controller::control_brake(float brake){
+ ServiceControlStatus.set_brake(brake);
+//档位控制
+void iv::control::Controller::control_gear(float gear){
+ ServiceControlStatus.set_gear(gear);
+void iv::control::Controller::control_gear_en(bool enable){
+ ServiceControlStatus.set_gear_enable(enable);
+//手刹
+void iv::control::Controller::control_handBrake(bool enable){
+ ServiceControlStatus.set_handBrake(enable);
+//驾驶模式
+void iv::control::Controller::control_mode(char mode){
+ ServiceControlStatus.set_driveMode(mode);
+//车窗控制
+//void iv::control::Controller::control_win_lf(char para){
+// ServiceControlStatus.set_win_lf(para);
+//void iv::control::Controller::control_win_rf(char para){
+// ServiceControlStatus.set_win_rf(para);
+//void iv::control::Controller::control_win_lr(char para){
+// ServiceControlStatus.set_win_lr(para);
+//void iv::control::Controller::control_win_rr(char para){
+// ServiceControlStatus.set_win_rr(para);
+void iv::control::Controller::control_air_on(bool enable){
+ ServiceControlStatus.set_air_on(1);
+ ServiceControlStatus.set_air_on(0);
+//void iv::control::Controller::control_air_cricle(char para){
+// ServiceControlStatus.set_air_cricle(para);
+//void iv::control::Controller::control_air_auto(char para){
+// ServiceControlStatus.set_air_auto(para);
+//void iv::control::Controller::control_air_off(char para){
+// ServiceControlStatus.set_air_off(para);
+//void iv::control::Controller::control_air_temup(char para){
+// ServiceControlStatus.set_air_temup(para);
+//void iv::control::Controller::control_air_temdown(char para){
+// ServiceControlStatus.set_air_temdown(para);
+//void iv::control::Controller::control_air_powerup(char para){
+// ServiceControlStatus.set_air_powerup(para);
+//void iv::control::Controller::control_air_powerdown(char para){
+// ServiceControlStatus.set_air_powerdown(para);
+//点火控制
+void iv::control::Controller::control_obligate(char para){
+ ServiceControlStatus.set_obligate(para);
+//车门控制
+void iv::control::Controller::control_door(char enable){
+ ServiceControlStatus.set_door(enable);
+//车灯控制
+void iv::control::Controller::control_turnsignals(bool left, bool right){
+ ServiceControlStatus.set_turnsignals_control(left,right);
+void iv::control::Controller::control_small_light(char para){
+ ServiceControlStatus.set_small_light(para);
+void iv::control::Controller::control_near_light(char para){
+ ServiceControlStatus.set_near_light(para);
+void iv::control::Controller::control_far_light(char para){
+ ServiceControlStatus.set_far_light(para);
+void iv::control::Controller::control_frog_light(char para){
+ ServiceControlStatus.set_frog_light(para);
+void iv::control::Controller::control_brake_light(char para){
+ ServiceControlStatus.set_brake_light(para);
+void iv::control::Controller::control_defrog(char para){
+ ServiceControlStatus.set_defrog(para);
+void iv::control::Controller::control_reverse_light(char para){
+ ServiceControlStatus.set_reverse_light(para);
+//喇叭控制
+void iv::control::Controller::control_horn(char para){
+ ServiceControlStatus.set_horn(para);
+//雨刷控制
+void iv::control::Controller::control_wiper(char para){
+ ServiceControlStatus.set_wiper(para);
+void iv::control::Controller::control_air_temp(char para){
+ ServiceControlStatus.set_air_temp(para);
+void iv::control::Controller::control_air_mode(char para){
+ ServiceControlStatus.set_air_mode(para);
+void iv::control::Controller::control_air_enable(bool enable){
+ ServiceControlStatus.set_air_enable(enable);
+void iv::control::Controller::control_wind_level(char para){
+ ServiceControlStatus.set_wind_level(para);
+void iv::control::Controller::control_roof_light(char para){
+ ServiceControlStatus.set_roof_light(para);
+void iv::control::Controller::control_home_light(char para){
+ ServiceControlStatus.set_home_light(para);
+void iv::control::Controller::control_air_worktime(char para){
+ ServiceControlStatus.set_air_worktime(para);
+void iv::control::Controller::control_air_offtime(char para){
+ ServiceControlStatus.set_air_offtime(para);
+//void iv::control::Controller::control_flicker(bool enable){
+// ServiceControlStatus.set_flicker(enable);
+//void iv::control::Controller::control_braking(float percent){
@@ -0,0 +1,83 @@
+#pragma once
+/*
+*控制器
+*/
+#ifndef _IV_CONTROL_CONTROLLER_
+#define _IV_CONTROL_CONTROLLER_
+//#include <common/car_status.h>
+ namespace control {
+ class Controller
+ public:
+ Controller();
+ ~Controller();
+ void inialize();// 初始化
+ void control_wheel(float angle); //方向盘控制
+ void control_angle_speed(float angSpeed);
+ void control_angle_enable(bool enable);
+ void control_speed_limit(float speedLimit);
+ void control_torque(float percent); //油门开度控制
+ void control_aeb(float aeb); //油门开度控制
+ void control_brake(float brake);
+ void control_gear(float gear);
+ void control_handBrake(bool enable);
+ void control_mode(char mode);
+ void control_gear_en(bool enable);
+ void control_aeb_en(bool enable);
+ void control_acc_en(bool enanble);
+ void control_win_lf(char para);
+ void control_win_rf(char para);
+ void control_win_lr(char para);
+ void control_win_rr(char para);
+ void control_air_on(bool enable);
+ void control_air_cricle(char para);
+ void control_air_auto(char para);
+ void control_air_off(char para);
+ void control_air_temup(char para);
+ void control_air_temdown(char para);
+ void control_air_powerup(char para);
+ void control_air_powerdown(char para);
+ void control_obligate(char para);
+ void control_door(char enable);
+ void control_turnsignals(bool left, bool right);
+ void control_small_light(char para);
+ void control_near_light(char para);
+ void control_horn(char para);
+ void control_far_light(char para);
+ void control_frog_light(char para);
+ void control_wiper(char para);
+ void control_brake_light(char para);
+ void control_defrog(char para);
+ void control_reverse_light(char para);
+ void cmd_checksum(unsigned char cmd_id);
+ void control_air_temp(char para);
+ void control_air_mode(char para);
+ void control_air_enable(bool enable);
+ void control_wind_level(char para);
+ void control_roof_light(char para);
+ void control_home_light(char para);
+ void control_air_worktime(char para);
+ void control_air_offtime(char para);
+ ///* 获取当前车辆状态*/
+ //void getCurrentCarStatus(iv::CarStatus & car_status);
+ private:
+ };
+#endif // !_IV_CONTROL_CONTROLLER_
@@ -0,0 +1,190 @@
+struct Command_Bit10
+ unsigned char air_temp ;
+ unsigned char air_mode : 3;
+ unsigned char air_enable : 1;
+ unsigned char air_wind_level : 3;
+ unsigned char air_reserved : 1;
+ unsigned char ignition : 2;
+ unsigned char door : 2;
+ unsigned char Reserved :2;
+ unsigned char air_on : 2;
+ unsigned char turn_light : 2;
+ unsigned char small_light : 1;
+ unsigned char near_light : 1;
+ unsigned char horn : 1;
+ unsigned char far_light : 1;
+ unsigned char fog_light : 1;
+ unsigned char wiper : 1;
+ unsigned char brake_light : 1;
+ unsigned char defrog : 1;
+ unsigned char revers_light : 1;
+ unsigned char roof_light : 1;
+ unsigned char home_light : 1;
+ unsigned char Reserved0 :3;
+ unsigned char air_work_time;
+ unsigned char air_off_time;
+ unsigned char checkSum;
+union Command10
+ Command_Bit10 bit;
+ unsigned char byte[8];
+struct Command_Bit11
+ unsigned char speed_limit;
+ unsigned char aeb_H;
+ unsigned char aeb_L;
+ unsigned char torque;
+ unsigned char brake;
+ unsigned char gear:3;
+ unsigned char Reserved :1;
+ unsigned char park :2;
+ unsigned char Reserved0 :2;
+ unsigned char Reserved1 :2;
+ unsigned char Reserved2 :2;
+ unsigned char driveMode :1;
+ unsigned char gear_enable :1;
+ unsigned char aeb_enable :1;
+ unsigned char acc_enable :1;
+union Command11
+ Command_Bit11 bit;
+struct Command_Bit12
+ unsigned char ang_speed;
+ unsigned char ang_H;
+ unsigned char ang_L;
+ unsigned char reserved0;
+ unsigned char reserved1;
+ unsigned char reserved2;
+ unsigned char Reserved : 6;
+ unsigned char ang_enable : 1;
+ unsigned char Reserved0 : 1;
+union Command12
+ Command_Bit12 bit;
+struct Command_Response_Bit
+ unsigned char head;
+ unsigned char grade : 2;
+ unsigned char driveMode : 2;
+ unsigned char epb : 1;
+ unsigned char epsMode : 2;
+ unsigned char obligate: 1;
+union Command_Response
+ Command_Response_Bit bit;
+ unsigned char byte[2];
@@ -0,0 +1,79 @@
+QT += core gui network xml dbus
+CONFIG += c++11 console
+CONFIG -= app_bundle
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+TARGET = controller_UI_test
+TEMPLATE = app
+# The following define makes your compiler emit warnings if you use
+# any feature of Qt which as been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+# You can also make your code fail to compile if you use deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+SOURCES += $$PWD/main.cpp \
+ ../../include/msgtype/cameraobject.pb.cc \
+ ../../include/msgtype/cameraobjectarray.pb.cc \
+ ../../include/msgtype/decition.pb.cc \
+ ../../include/msgtype/brainstate.pb.cc \
+ ../../include/msgtype/canmsg.pb.cc \
+ ../../include/msgtype/canraw.pb.cc \
+ ../../include/msgtype/chassis.pb.cc \
+ mainwindow.cpp \
+ common/car_status.cpp
+include($$PWD/control/control.pri)
+!include(../../../include/common.pri ) {
+ error( "Couldn't find the common.pri file!" )
+!include(../../../include/ivprotobuf.pri ) {
+ error( "Couldn't find the ivprotobuf.pri file!" )
+!include(../../../include/ivboost.pri ) {
+ error( "Couldn't find the ivboost.pri file!" )
+!include(../controllercommon/controllercommon.pri ) {
+ error( "Couldn't find the controllercommon.pri.pri file!" )
+INCLUDEPATH += $$PWD/../controllercommon
+DEFINES += TORQUEBRAKETEST
+#unix:!macx: LIBS += -L/home/yuchuli/qt/lib -lncomgnss -ladcmemshare
+unix:!macx: INCLUDEPATH += $$PWD/.
+unix:!macx: DEPENDPATH += $$PWD/.
+ ../../include/msgtype/cameraobject.pb.h \
+ ../../include/msgtype/cameraobjectarray.pb.h \
+ ../../include/msgtype/decition.pb.h \
+ ../../include/msgtype/canmsg.pb.h \
+ ../../include/msgtype/canraw.pb.h \
+ ../../include/msgtype/chassis.pb.h \
+ mainwindow.h \
+ control/boost.h \
+ control/car_status.h \
+ common/boost.h \
+ common/car_status.h
+FORMS += \
+ mainwindow.ui
@@ -0,0 +1,310 @@
+#include <QCoreApplication>
+#include "mainwindow.h"
+#include <QApplication>
+#include <QMutex>
+#include "control/control_status.h"
+#include "control/controller.h"
+#include "xmlparam.h"
+#include "modulecomm.h"
+#include "ivbacktrace.h"
+#include "ivversion.h"
+#include "canmsg.pb.h"
+#include "decition.pb.h"
+#include "chassis.pb.h"
+#include "torquebrake.h"
+#include <common/car_status.h>
+void * gpacansend;
+void * gpadecition;
+void * gpachassis;
+std::string gstrmemdecition;
+std::string gstrmemcansend;
+std::string gstrmemchassis;
+bool gbSendRun = true;
+bool gbChassisEPS = false;
+iv::brain::decition gdecition_def;
+iv::brain::decition gdecition;
+QTime gTime;
+int gnLastSendTime = 0;
+int gnLastRecvDecTime = -1000;
+int gnDecitionNum = 0; //when is zero,send default;
+const int gnDecitionNumMax = 100;
+int gnIndex = 0;
+boost::shared_ptr<iv::control::Controller> gcontroller; //实际车辆控制器
+static QMutex gMutex;
+void executeDecition(const iv::brain::decition decition)
+// std::cout<<"acc is "<<decition.torque()<<" ang is "<<decition.wheelangle()<<std::endl;
+ gcontroller->control_acc_en(true);
+ gcontroller->control_angle_enable(true);
+ gcontroller->control_gear_en(true);
+ gcontroller->control_speed_limit(30);
+// gcontroller->control_wheel(decition.wheelangle());
+ gcontroller->control_wheel(ServiceCarStatus.wheelangle);
+// gcontroller->control_angle_speed(decition.wheelspeed());
+ gcontroller->control_angle_speed(10);//陈工没有处理
+// gcontroller->control_torque(decition.torque());
+ gcontroller->control_torque(ServiceCarStatus.torque);
+// gcontroller->control_brake(decition.brake());
+ gcontroller->control_brake(ServiceCarStatus.brake);
+ gcontroller->control_gear(decition.gear());
+// gcontroller->control_gear(4);
+ gcontroller->control_handBrake(decition.handbrake());
+ gcontroller->control_mode(decition.mode());
+ // gcontroller->control_mode(1);
+ gcontroller->control_near_light(decition.dippedlight());
+ gcontroller->control_air_enable(decition.air_enable());
+ gcontroller->control_air_on(decition.air_on());
+ gcontroller->control_air_temp(decition.air_temp());
+ gcontroller->control_air_mode(decition.air_mode());
+ gcontroller->control_wind_level(decition.wind_level());
+ gcontroller->control_roof_light(decition.roof_light());
+ gcontroller->control_home_light(decition.home_light());
+ gcontroller->control_air_worktime(decition.air_worktime());
+ gcontroller->control_air_offtime(decition.air_offtime());
+ gcontroller->control_turnsignals(decition.leftlamp(),decition.rightlamp());
+ gcontroller->control_door(decition.door());
+#ifdef TORQUEBRAKETEST
+ if(gnothavetb < 10)
+ iv::controller::torquebrake xtb;
+ gMutextb.lock();
+ xtb.CopyFrom(gtb);
+ gMutextb.unlock();
+ if(xtb.enable())
+ gcontroller->control_torque(xtb.torque());
+ gcontroller->control_brake(xtb.brake());
+ qDebug("use tb value torque is %f brake is %f",xtb.torque(),xtb.brake());
+// qDebug("torquebrake not enable.");
+ gnothavetb++;
+ gcontroller->cmd_checksum(0x10);
+ gcontroller->cmd_checksum(0x11);
+ gcontroller->cmd_checksum(0x12);
+ // qDebug("dangwei is %d mode is %d",decition.gear(),decition.mode());
+void UpdateChassis(const char *strdata, const unsigned int nSize, const unsigned int index, const QDateTime *dt, const char *strmemname)
+ iv::chassis xchassis;
+ static int ncount = 0;
+ if(!xchassis.ParseFromArray(strdata,nSize))
+ std::cout<<"iv::decition::BrainDecition::UpdateChassis ParseFrom Array Error."<<std::endl;
+ return;
+ if(xchassis.epsmode() == 0)
+ gbChassisEPS = true;
+void ListenDeciton(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+ qint64 oldtime;
+ iv::brain::decition xdecition;
+ if(!xdecition.ParseFromArray(strdata,nSize))
+ std::cout<<"ListenDecition parse error."<<std::endl;
+ if(xdecition.gear() != 4)
+// qDebug("not D");
+ if((oldtime - QDateTime::currentMSecsSinceEpoch())<-100)qDebug("dection time is %ld diff is %ld ",QDateTime::currentMSecsSinceEpoch(),oldtime - QDateTime::currentMSecsSinceEpoch());
+ oldtime = QDateTime::currentMSecsSinceEpoch();
+ gMutex.lock();
+ gdecition.CopyFrom(xdecition);
+ gMutex.unlock();
+ gnDecitionNum = gnDecitionNumMax;
+ gbChassisEPS = false;
+void ExecSend()
+ iv::can::canmsg xmsg;
+ iv::can::canraw xraw;
+ unsigned char * strp = (unsigned char *)&(ServiceControlStatus.command10.byte[0]);
+ // qDebug("%02x %02x %02x %02x %02x %02x %02x %02x",strp[0]
+ // ,strp[1],strp[2],strp[3],strp[4],strp[5],strp[6],strp[7]);
+ xraw.set_id(ServiceControlStatus.command_ID10);
+ xraw.set_data(ServiceControlStatus.command10.byte,8);
+ xraw.set_bext(false);
+ xraw.set_bremote(false);
+ xraw.set_len(8);
+ iv::can::canraw * pxraw = xmsg.add_rawmsg();
+ pxraw->CopyFrom(xraw);
+ xmsg.set_channel(0);
+ xmsg.set_index(gnIndex);
+ xraw.set_id(ServiceControlStatus.command_ID11);
+ xraw.set_data(ServiceControlStatus.command11.byte,8);
+ int a = ServiceControlStatus.command11.byte[5]&0x0f;
+ if(a != 0x04)
+// qDebug("not D.");
+ iv::can::canraw * pxraw1 = xmsg.add_rawmsg();
+ pxraw1->CopyFrom(xraw);
+ xraw.set_id(ServiceControlStatus.command_ID12);
+ xraw.set_data(ServiceControlStatus.command12.byte,8);
+ iv::can::canraw * pxraw2 = xmsg.add_rawmsg();
+ pxraw2->CopyFrom(xraw);
+ gnIndex++;
+ xmsg.set_mstime(QDateTime::currentMSecsSinceEpoch());
+ int ndatasize = xmsg.ByteSize();
+ char * strser = new char[ndatasize];
+ std::shared_ptr<char> pstrser;
+ pstrser.reset(strser);
+ if(xmsg.SerializeToArray(strser,ndatasize))
+ iv::modulecomm::ModuleSendMsg(gpacansend,strser,ndatasize);
+ std::cout<<"MainWindow::onTimer serialize error."<<std::endl;
+void initial()
+ // ServiceControlStatus.command.byte[0] = 0;
+ // ServiceControlStatus.command.byte[1] = 0;
+ // ServiceControlStatus.command.byte[2] = 0;
+ // ServiceControlStatus.command.byte[3] = 0;
+ // ServiceControlStatus.command.byte[4] = 0;
+ // ServiceControlStatus.command.byte[5] = 0;
+ // ServiceControlStatus.command.byte[6] = 0;
+ // ServiceControlStatus.command.byte[7] = 0;
+void sendthread()
+ initial();
+ while(gbSendRun)
+ if(gnDecitionNum <= 0)
+ xdecition.CopyFrom(gdecition_def);
+ xdecition.CopyFrom(gdecition);
+ gnDecitionNum--;
+ executeDecition(xdecition);
+ if(gbChassisEPS == false) ExecSend();
+int main(int argc, char *argv[])
+// RegisterIVBackTrace();
+ showversion("controller_UI_test");
+// QCoreApplication a(argc, argv);
+ QApplication a(argc, argv);
+ QString strpath = QCoreApplication::applicationDirPath();
+ if(argc < 2)
+ strpath = strpath + "/controller_vv7.xml";
+ strpath = argv[1];
+ std::cout<<strpath.toStdString()<<std::endl;
+ gdecition_def.set_accelerator(-0.5);
+ // gdecition_def.set_brake(1.0);
+ gdecition_def.set_brake(20); //apollo_fu 20200417
+ gdecition_def.set_torque(0);
+ // gdecition_def.set_rightlamp(true);
+ // gdecition_def.set_doublespark(true);
+ gdecition_def.set_wheelangle(0);
+ gdecition_def.set_mode(1);
+ gdecition_def.set_grade(1);
+ gdecition_def.set_gear(1);
+ gdecition_def.set_engine(0);
+ // gdecition_def.set_gear(0);
+ gTime.start();
+ gcontroller = boost::shared_ptr<iv::control::Controller>(new iv::control::Controller());
+ iv::xmlparam::Xmlparam xp(strpath.toStdString());
+ gstrmemcansend = xp.GetParam("cansend","cansend0");
+ gstrmemdecition = xp.GetParam("dection","deciton");
+ gstrmemchassis = xp.GetParam("chassismsgname","chassis");
+ gpacansend = iv::modulecomm::RegisterSend(gstrmemcansend.data(),10000,1);
+ gpadecition = iv::modulecomm::RegisterRecv(gstrmemdecition.data(),ListenDeciton);
+ gpachassis = iv::modulecomm::RegisterRecv(gstrmemchassis.data(),UpdateChassis);
+ EnableTorqueBrakeTest();
+ std::thread xthread(sendthread);
+ MainWindow w;
+ w.show();
+ return a.exec();
@@ -0,0 +1,33 @@
+#include "ui_mainwindow.h"
+MainWindow::MainWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow)
+ ui->setupUi(this);
+ ui->lineEdit->setValidator(new QIntValidator(ui->lineEdit));
+ ui->lineEdit_2->setValidator(new QIntValidator(ui->lineEdit_2));
+ ui->lineEdit_3->setValidator(new QIntValidator(ui->lineEdit_3));
+MainWindow::~MainWindow()
+ delete ui;
+void MainWindow::on_pushButton_clicked()
+ ServiceCarStatus.wheelangle = ui->lineEdit->text().toInt();
+void MainWindow::on_pushButton_2_clicked()
+ ServiceCarStatus.torque = ui->lineEdit_2->text().toInt();
+void MainWindow::on_pushButton_3_clicked()
+ ServiceCarStatus.brake = ui->lineEdit_3->text().toInt();
@@ -0,0 +1,30 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+#include <QMainWindow>
+namespace Ui {
+class MainWindow;
+class MainWindow : public QMainWindow
+ Q_OBJECT
+ explicit MainWindow(QWidget *parent = 0);
+ ~MainWindow();
+private slots:
+ void on_pushButton_clicked();
+ void on_pushButton_2_clicked();
+ void on_pushButton_3_clicked();
+ Ui::MainWindow *ui;
+#endif // MAINWINDOW_H
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ <widget class="QWidget" name="centralwidget">
+ <widget class="QPushButton" name="pushButton">
+ <x>250</x>
+ <y>70</y>
+ <width>89</width>
+ <height>25</height>
+ <property name="text">
+ <string>OK</string>
+ </widget>
+ <widget class="QLabel" name="label">
+ <x>40</x>
+ <width>67</width>
+ <height>17</height>
+ <string>目标角度</string>
+ <widget class="QLineEdit" name="lineEdit">
+ <x>120</x>
+ <width>113</width>
+ <widget class="QLabel" name="label_2">
+ <y>150</y>
+ <string>目标车速</string>
+ <widget class="QPushButton" name="pushButton_2">
+ <y>140</y>
+ <widget class="QLineEdit" name="lineEdit_2">
+ <widget class="QLineEdit" name="lineEdit_3">
+ <y>230</y>
+ <widget class="QPushButton" name="pushButton_3">
+ <widget class="QLabel" name="label_3">
+ <string>目标制动</string>
+ <widget class="QMenuBar" name="menubar">
+ <height>28</height>
+ <widget class="QStatusBar" name="statusbar"/>
+ <resources/>
+ <connections/>
+</ui>
@@ -87,15 +87,15 @@ void executeDecition(const iv::brain::decition decition)
gcontroller->control_near_light(decition.dippedlight());
- gcontroller->control_air_enable(decition.air_enable());
- gcontroller->control_air_on(decition.air_on());
- gcontroller->control_air_temp(decition.air_temp());
- gcontroller->control_air_mode(decition.air_mode());
- gcontroller->control_wind_level(decition.wind_level());
+ //gcontroller->control_air_enable(decition.air_enable());
+ //gcontroller->control_air_on(decition.air_on());
+ //gcontroller->control_air_temp(decition.air_temp());
+ //gcontroller->control_air_mode(decition.air_mode());
+ //gcontroller->control_wind_level(decition.wind_level());
gcontroller->control_roof_light(decition.roof_light());
gcontroller->control_home_light(decition.home_light());
- gcontroller->control_air_worktime(decition.air_worktime());
- gcontroller->control_air_offtime(decition.air_offtime());
+ //gcontroller->control_air_worktime(decition.air_worktime());
+ //gcontroller->control_air_offtime(decition.air_offtime());
gcontroller->control_turnsignals(decition.leftlamp(),decition.rightlamp());
gcontroller->control_door(decition.door());
@@ -140,7 +140,7 @@ void ListenRemotectrl(const char * strdata,const unsigned int nSize,const unsign
xdecition.set_torque(xrc.acc());
xdecition.set_brake(xrc.brake());
xdecition.set_wheelangle(xrc.wheel()*5.5f);
- xdecition.set_speed(5);
+ xdecition.set_speed(105);
if(xrc.shift() > 0) //D shift
xdecition.set_gear(1); //0P 1D 2R 3N
else if(xrc.shift() < 0)
@@ -164,7 +164,7 @@ namespace iv {
int vehGroupId;
double mfEPSOff = 0.0;
float socfDis=15; //停障触发距离
- float aocfDis=20; //避障触发距离
+ float aocfDis=25; //避障触发距离//20
float aocfTimes=3; //避障触发次数
float aobzDis=5; //避障保障距离
/// traffice light : 0x90
@@ -41,7 +41,7 @@ namespace iv {
double speed_x;
double speed_y;
double yaw;
- int type;
+ int type; //1:vehicle 2:person 3:others
double high;
double low;
double obshight;
@@ -9,6 +9,16 @@
#include "ivbacktrace.h"
#include "ivchart.h"
+#include "ivfault.h"
+#include "ivexit.h"
+#include <signal.h>
+QCoreApplication * gApp;
iv::Ivchart * givchart;
std::string gstrmemgps;
@@ -19,13 +29,32 @@ std::string gstrmemchassis;
std::string gstrmembraincarstate;
iv::Ivlog * givlog;
+iv::Ivfault * givfault;
+void ExitFunc()
+ gApp->quit();
+ std::this_thread::sleep_for(std::chrono::milliseconds(900));
+void signal_handler(int sig)
+ if(sig == SIGINT)
+ ExitFunc();
int main(int argc, char *argv[])
RegisterIVBackTrace();
showversion("decition_brain");
QCoreApplication a(argc, argv);
+ gApp = &a;
+ givfault = new iv::Ivfault("decition_brain_sf");
+ givfault->SetFaultState(0,0,"Application Started.");
QString strpath = QCoreApplication::applicationDirPath();
@@ -52,5 +81,14 @@ int main(int argc, char *argv[])
iv::decition::BrainDecition brain;
brain.inialize();
brain.start();
- return a.exec();
+ iv::ivexit::RegIVExitCall(ExitFunc);
+ signal(SIGINT,signal_handler);
+ int nrc = a.exec();
+ brain.stop();
+ return nrc;
@@ -8,6 +8,10 @@ iv::perception::Eyes::Eyes() {
iv::perception::Eyes::~Eyes() {
+ delete sensor_gps;
+// delete sensor_camera;
+// delete sensor_radar;
+ delete sensor_lidar;
void iv::perception::Eyes::inialize() {
@@ -53,7 +53,7 @@ void iv::perception::GPSSensor::processSensor()
//iv::CarStatus currentCarStatus;
//ODS("\n\n\n------>thread gps: %X\n\n\n\n", GetCurrentThreadId());
- while (true) {
+ while (!boost::this_thread::interruption_requested()) {
int rec = 0;
if(udpsocket->hasPendingDatagrams())
@@ -39,6 +39,9 @@ iv::perception::GPSSensor::GPSSensor() {
iv::perception::GPSSensor::~GPSSensor() {
+ thread_sensor_run_->interrupt();
+ iv::modulecomm::Unregister(mpagpsimu);
+ std::cout<<"~GPSSensor()"<<std::endl;
void iv::perception::GPSSensor::start()
@@ -17,7 +17,9 @@ iv::perception::LiDARSensor::LiDARSensor() {
JiGuangLeiDa = boost::shared_ptr<std::vector<iv::ObstacleBasic>>(new std::vector<iv::ObstacleBasic>);
iv::perception::LiDARSensor::~LiDARSensor() {
+// iv::modulecomm::Unregister(mpa);
+// iv::modulecomm::Unregister(mpb);
+ std::cout<<"~LiDARSensor()"<<std::endl;
void ListenPer(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
@@ -190,6 +190,12 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
if((obsDistance>8.0)&&(obsSpeed<reverse_speed)){
controlBrake =0;
controlSpeed =0;
+ accAim=0;
+ if(obsDistance>60){
+ if(accAim<-0.5){
+ accAim=max(accAim,-0.5f);
@@ -206,6 +212,9 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
double ftorque,fbrake;
GetTorqueBrake(now_gps_ins.speed, accAim,ftorque,fbrake);
+ if(accAim>0){
+ ftorque=max(ftorque,3.2);
(*decition)->brake = fbrake;
(*decition)->torque= ftorque;
@@ -167,7 +167,7 @@ float iv::decition::PIDController::getPidAcc (GPS_INS gpsIns,float dSpeed, float
std::cout << "\n计算用obs速度:%f\n" << obsSpeed << std::endl;
std::cout << "\n计算用obs距离:%f\n" << obsDistance << std::endl;
- if(obsDistance<10 && obsDistance>0){
+ if(obsDistance<8 && obsDistance>0){
dSpeed=0;
float dSecSpeed = dSpeed / 3.6;
@@ -512,9 +512,14 @@ int iv::decition::Compute00::getNearestPointIndex(GPS_INS rp, const std::vector<
int preDistance=max(100,(int)(rp.speed*10));
preDistance=min(500,preDistance);
- int startIndex = max((int)(lastIndex - 100),(int)(lastIndex-map_size)); // startIndex = 0 则每一次都是遍历整条地图路线
- int endIndex = min((int)(lastIndex + preDistance ),(int)(lastIndex+map_size));
+ //int startIndex = max((int)(lastIndex - 100),(int)(lastIndex-map_size)); // startIndex = 0 则每一次都是遍历整条地图路线
+ int endIndex = min((int)(lastIndex + preDistance ),(int)(map_size-1));
+ int startIndex=0;
+ if(lastIndex>100){
+ startIndex = max((int)(lastIndex - 100),(int)(lastIndex-map_size));
+ startIndex=0;
for (int j = startIndex; j < endIndex; j++)
@@ -529,7 +534,7 @@ int iv::decition::Compute00::getNearestPointIndex(GPS_INS rp, const std::vector<
index = i;
minDis = tmpdis;
maxAng = min(abs(rp.ins_heading_angle - (*gpsMap[i]).ins_heading_angle), abs(rp.ins_heading_angle - (*gpsMap[i]).ins_heading_angle - 360));
- maxAng = min(maxAngle, abs(rp.ins_heading_angle - (*gpsMap[i]).ins_heading_angle + 360));
+ maxAng = min(maxAng, abs(rp.ins_heading_angle - (*gpsMap[i]).ins_heading_angle + 360));
@@ -12,6 +12,9 @@
#include <fstream>
#include <QTime>
+extern iv::Ivfault * givfault;
using namespace std;
extern std::string gstrmemdecition;
@@ -80,6 +83,7 @@ iv::decition::BrainDecition * gbrain;
iv::decition::BrainDecition::BrainDecition()
+ givfault->SetFaultState(0,0,"Application Initializing.");
// mpasd = new Adcivstatedb();
look1 = 0.0;
look2 = 0.0;
@@ -134,7 +138,7 @@ iv::decition::BrainDecition::BrainDecition()
mpamapreq = iv::modulecomm::RegisterSend("mapreq",1000,1);
ModuleFun funchassis =std::bind(&iv::decition::BrainDecition::UpdateChassis,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
- void * pa = iv::modulecomm::RegisterRecvPlus(gstrmemchassis.data(),funchassis);
+ mpaChassis = iv::modulecomm::RegisterRecvPlus(gstrmemchassis.data(),funchassis);
ModuleFun fungroupgrpc =std::bind(&iv::decition::BrainDecition::UpdateGRPCGroupMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
@@ -152,6 +156,25 @@ iv::decition::BrainDecition::BrainDecition()
iv::decition::BrainDecition::~BrainDecition()
+ iv::modulecomm::Unregister(mpaObsTraceRight);
+ iv::modulecomm::Unregister(mpaObsTraceLeft);
+ iv::modulecomm::Unregister(mpaPlanTrace);
+ iv::modulecomm::Unregister(mpaChassis);
+ iv::modulecomm::Unregister(mpamapreq);
+ iv::modulecomm::Unregister(mpaGroup);
+ iv::modulecomm::Unregister(mpaPlatform);
+ iv::modulecomm::Unregister(mpaHMI);
+ iv::modulecomm::Unregister(mpaDecition);
+ iv::modulecomm::Unregister(mpaToPlatform);
+ iv::modulecomm::Unregister(mpfusion);
+ iv::modulecomm::Unregister(mpaCarstate);
+ iv::modulecomm::Unregister(mpaVechicleState);
+ iv::modulecomm::Unregister(mpvbox);
+ iv::modulecomm::Unregister(mpa);
+ delete eyes;
+ std::cout<<"Brain Unialize."<<std::endl;
@@ -164,6 +187,7 @@ void iv::decition::BrainDecition::inialize() {
void iv::decition::BrainDecition::run() {
+ givfault->SetFaultState(0,0,"Start Running.");
double last = 0;
iv::decition::Decition decition_gps = NULL;
@@ -437,7 +461,9 @@ void iv::decition::BrainDecition::run() {
mstrmemmap_index = xp.GetParam("msg_mapindex","map_index");
- while (eyes->isAllSensorRunning())
+ givfault->SetFaultState(0,0,"OK.");
+ while (eyes->isAllSensorRunning() &&(!boost::this_thread::interruption_requested()))
if(navigation_data.size() <1)
@@ -152,6 +152,7 @@ namespace iv {
void * mpaPlatform;
void *mpaGroup;
void * mpmapChangeSig;
+ void * mpaChassis;
std::string mstrmemmap_index;
int mnOldTime;
@@ -174,7 +174,7 @@ std::vector<std::vector<double>> doubledata;//大地坐标系下x,y,phi,delta,
enum VehState { normalRun, park, readyPark, stopObs, avoidObs, preAvoid, avoiding, backOri,preBack,
waitAvoid ,shoushaTest,justRun, changingRoad, chaoche, chaocheBack, reverseCar,reversing, reverseCircle, reverseDirect,reverseArr,
- dRever,dRever0,dRever1,dRever2,dRever3,dRever4} vehState;
+ dRever,dRever0,dRever1,dRever2,dRever3,dRever4} vehState,lastVehState;
std::vector<iv::Point2D> gpsTraceAim; //记录变道后的目标路径,若车辆经frenet规划行驶至该路径上后,就关闭frenet规划
@@ -196,6 +196,7 @@ bool qiedianCount = false;
static int obstacle_avoid_flag=0;
static int front_car_id=-1;
+static int front_car_vector_id=-1;
//日常展示
@@ -227,6 +228,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
for(int i=0;i<xgroupgrpcinfo.mvehinfo_size();i++){
if((xgroupgrpcinfo.mutable_mvehinfo(i)->intragroupid()+1)==ServiceCarStatus.curID){
front_car_id=xgroupgrpcinfo.mutable_mvehinfo(i)->intragroupid();
+ front_car_vector_id=i;
}else{
@@ -234,35 +236,36 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
if(front_car_id>0){
- if(xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->has_mgpsimu()){
- front_car.front_car_ins.gps_lat=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mgpsimu().lat();
- front_car.front_car_ins.gps_lng=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mgpsimu().lon();
- front_car.front_car_ins.ins_heading_angle=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mgpsimu().heading();
+ if(xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->has_mgpsimu()){
+ front_car.front_car_ins.gps_lat=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().lat();
+ front_car.front_car_ins.gps_lng=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().lon();
+ front_car.front_car_ins.ins_heading_angle=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().heading();
+ front_car.front_car_ins.speed=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().speed();
GaussProjCal(front_car.front_car_ins.gps_lng,front_car.front_car_ins.gps_lat, &front_car.front_car_ins.gps_x, &front_car.front_car_ins.gps_y);
front_car.front_car_dis=GetDistance(now_gps_ins,front_car.front_car_ins);
front_car.front_car_dis=500;
- if(xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->has_mcarstate()){
- front_car.vehState=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mcarstate().mstate();
- int avoidX_record=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mcarstate().mavoidx();
+ if(xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->has_mcarstate()){
+ front_car.vehState=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mcarstate().mstate();
+ int avoidX_record=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mcarstate().mavoidx();
if(front_car.vehState!=0&&avoidX_record!=0)
front_car.avoidX=avoidX_record;
front_car.avoidX=0;
- front_car.obs_distance=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mcarstate().mobsdistance();
- front_car.obs_speed=xgroupgrpcinfo.mutable_mvehinfo(front_car_id)->mcarstate().mobsspeed();
+ front_car.obs_distance=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mcarstate().mobsdistance();
+ front_car.obs_speed=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mcarstate().mobsspeed();
givlog->debug("decition_brain","front_car_id: %d,FrontState: %d,FrontAvoidX: %d,FrontDis: %f,FrontObs: %f",
front_car_id,front_car.vehState,front_car.avoidX,front_car.front_car_dis,front_car.obs_distance);
- if(front_car.front_car_dis>30){
+ if(front_car.front_car_dis>35){
front_car_decide_avoid=true;
- }else if((front_car.front_car_dis<=30)&&(front_car.avoidX==0)){
+ }else if((front_car.front_car_dis<=35)&&(front_car.avoidX==0)){
front_car_decide_avoid=false;
- }else if((front_car.front_car_dis<=30)&&(front_car.avoidX!=0)){
+ }else if((front_car.front_car_dis<=35)&&(front_car.avoidX!=0)){
@@ -1031,10 +1034,9 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
double acc_end = 0.1;
+ static double distoend=1000;
if((ServiceCarStatus.table_look_up_on==true)&&(hapo_Adapter->IsINterpolationOK()))
- static double distoend=1000;
if(PathPoint+1000>gpsMapLine.size()){
distoend=computeDistToEnd(gpsMapLine,PathPoint);
@@ -1042,14 +1044,14 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
if(!circleMode && distoend<50){
double nowspeed = realspeed/3.6;
- if((distoend<10)||(distoend<(nowspeed*nowspeed)))
+ if((distoend<10)||(distoend<(nowspeed*nowspeed)+2))
if(distoend == 0.0)distoend = 0.09;
acc_end = (-1.0)*nowspeed*nowspeed/(2.0*distoend);
if(acc_end<(-3.0))acc_end = -3.0;
- if(distoend < 0.1)acc_end = -0.5;
+ if((distoend < 2.1)||(PathPoint>=gpsMapLine.size()-2))acc_end = -0.5;
// if(!circleMode && PathPoint>gpsMapLine.size()-brake_distance){
@@ -1512,9 +1514,11 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
#ifdef AVOID_NEW
- if((vehState==avoiding)||(vehState==backOri)||(avoidXNew!=0)||(vehState==preAvoid))
+ if((vehState==avoiding)||(vehState==preAvoid))
dSpeed = min(8.0,dSpeed);
+ }else if((vehState==backOri)||(avoidXNew!=0)){
+ dSpeed = min(12.0,dSpeed);
#else
if((vehState==avoiding)||(vehState==backOri)||(roadNow != roadOri)||(vehState==preAvoid))
@@ -1532,6 +1536,19 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
// }
+ if(front_car_id>0){
+ static bool brake_state=false;
+ if(((front_car.vehState!=0)||(front_car.avoidX!=0))&&(front_car.front_car_dis<15)){
+ brake_state=true;
+ if(brake_state==true){
+ dSpeed=min(dSpeed,ServiceCarStatus.mroadmode_vel.mfmode18);
+ if(((front_car.vehState==0)&&(front_car.avoidX==0))||(front_car.front_car_dis>25)){
+ brake_state=false;
dSpeed = limitSpeed(controlAng, dSpeed);
dSecSpeed = dSpeed / 3.6;
@@ -1619,8 +1636,32 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
ServiceCarStatus.mObsDistance=obsDistance;
ServiceCarStatus.mObsSpeed=obs_speed_for_avoid;
- //old_bz--------------------------------------------------------------------------------------------------
+ //group map end park pro--------start
+ static bool final_lock=false;
+ if((distoend<90)&&(front_car.front_car_dis<obsDistance+10)){
+ if((obsDistance>3)&&(obsDistance<20)){
+ if((realspeed>3)&&(final_lock==false)){
+ minDecelerate=-0.7;
+ dSpeed = min(3.0,dSpeed);
+ final_lock=true;
+ obsDistance=200;
+ }else if((obsDistance>1)&&(obsDistance<3)){
+ minDecelerate=-0.5;
+ }else if(obsDistance<1){
+ minDecelerate=-1.0;
+ if(realspeed<1){
+ final_lock=false;
+ //group map end park pro-----------end
+ //old_bz--------------------------------------------------------------------------------------------------
if (vehState == avoiding)
double avoidDistance=GetDistance(startAvoidGpsIns,now_gps_ins);
@@ -1782,13 +1823,13 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
}*/
road_permit_avoid=false;
- if(PathPoint+600<gpsMapLine.size()){
+ if(PathPoint+400<gpsMapLine.size()){
int road_permit_sum=0;
- for(int k=PathPoint;k<PathPoint+600;k++){
+ for(int k=PathPoint;k<PathPoint+400;k++){
if((gpsMapLine[k]->mbnoavoid==false)&&(gpsMapLine[k]->roadSum>1))
road_permit_sum++;
- if(road_permit_sum>=600)
+ if(road_permit_sum>=400)
road_permit_avoid=true;
@@ -2267,6 +2308,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
lastAngle=gps_decition->wheel_angle;
+ lastVehState=vehState;
// qDebug("decide1 time is %d",xTime.elapsed());
return gps_decition;
@@ -3168,6 +3210,7 @@ void iv::decition::DecideGps00::computeObsOnRoad(iv::LidarGridPtr lidarGridPtr,
obsSpeed=obsSd;
if(obsDistance<500&&obsDistance>0){
std::cout <<ServiceCarStatus.mRunTime.elapsed()<<"ms:"<< "obsDistance<500:" << obsDistance << std::endl;
@@ -3259,6 +3302,10 @@ void iv::decition::DecideGps00::computeObsOnRoadXY(iv::LidarGridPtr lidarGridPtr
+ if(obsPoint.obs_type==2){
+ obsSpeed=-secSpeed;
@@ -4114,7 +4161,7 @@ void iv::decition::DecideGps00::transferGpsMode2( const std::vector<GPSData> gps
if(speed_slowdown_flag==1)
if((realspeed>ServiceCarStatus.mroadmode_vel.mfmode18)&&(lock_flag==false)){
- minDecelerate=-0.5;
+ minDecelerate=-0.3;
dSpeed=min(dSpeed,ServiceCarStatus.mroadmode_vel.mfmode18);
lock_flag=true;
@@ -4288,13 +4335,14 @@ void iv::decition::DecideGps00::computeObsOnRoadNew(iv::LidarGridPtr lidarGridPt
obsva->obs_distance=500;
obsva->obs_distance=obs;
+ obsva->obs_speed=obsSd;
int iv::decition::DecideGps00::computeBackDistance(iv::LidarGridPtr lidarGridPtr, GPS_INS now_gps_ins, const std::vector<GPSData> gpsMapLine,std::vector<iv::Perception::PerceptionOutput> lidar_per,int avoidLeft,int avoidRight,int avoidXNow) {
obs_property.clear();
- double record_avoidX=20,signed_record_avoidX=0,obs_cur_distance=500;
+ double record_avoidX=20,signed_record_avoidX=0,obs_cur_distance=500,obs_cur_speed=0;
for (int i = avoidLeft; i <= avoidRight; i++)
obsvalue x_value;
@@ -4304,8 +4352,10 @@ int iv::decition::DecideGps00::computeBackDistance(iv::LidarGridPtr lidarGridPtr
gpsTraceBack = getGpsTraceOffset(gpsTraceOri, i);
computeObsOnRoadNew(lidarGridPtr, gpsTraceBack, i,gpsMapLine,lidar_per,x);
obs_property.push_back(x_value);
- if(i==0)
+ if(i==0){
obs_cur_distance=x_value.obs_distance;
+ obs_cur_speed=x_value.obs_speed;
givlog->debug("decition_brain","i: %d,obs:%f",x_value.avoid_distance,x_value.obs_distance);
@@ -4330,7 +4380,17 @@ int iv::decition::DecideGps00::computeBackDistance(iv::LidarGridPtr lidarGridPtr
- if((obs_cur_distance>100)&&(GetDistance(now_gps_ins, startAvoidGps)>max(avoidMinDistance,40.0)))
+ /*if((obs_cur_distance>100)&&(GetDistance(now_gps_ins, startAvoidGps)>max(avoidMinDistance,40.0)))
+ if(PathPoint+300<gpsMapLine.size()){
+ for(int k=PathPoint;k<PathPoint+300;k++){
+ if((gpsMapLine[k]->mfCurvature>0.02))
+ return 20;
+ return 0;
+ }*/
+ if((obs_cur_distance>100||obs_cur_speed>1)&&(lastVehState==normalRun))
if(PathPoint+300<gpsMapLine.size()){
for(int k=PathPoint;k<PathPoint+300;k++){
@@ -128,6 +128,7 @@ public:
struct obsvalue{
int avoid_distance;
double obs_distance;
+ double obs_speed;
std::vector<obsvalue> obs_property;
@@ -262,7 +263,7 @@ public:
float ObsTimeSpan=-1;
double ObsTimeStart=-1;
double ObsTimeEnd=-1;
- float ObsTimeWidth=30.0; //500 zj-30
+ float ObsTimeWidth=70.0; //500 zj-30
std::vector<iv::TracePoint> planTrace;
bool roadNowStart=true;
@@ -2,7 +2,7 @@ QT -= gui
QT += network dbus xml
-#CONFIG += c++11 console
CONFIG -= app_bundle
# The following define makes your compiler emit warnings if you use
@@ -129,8 +129,9 @@ void GetLidarObj(std::vector<float> out_detections,std::vector<int> out_labels,
void DectectOnePCD(const pcl::PointCloud<pcl::PointXYZI>::Ptr &pc_ptr)
- float* points_array = new float[pc_ptr->size() * kNumPointFeature];
- PclXYZITToArray(pc_ptr, points_array, 1.0);
+ std::shared_ptr<float> points_array_ptr = std::shared_ptr<float>(new float[pc_ptr->size() * kNumPointFeature]);
+ // float* points_array = new float[pc_ptr->size() * kNumPointFeature];
+ PclXYZITToArray(pc_ptr, points_array_ptr.get(), 1.0);
int in_num_points = pc_ptr->width;
@@ -143,7 +144,7 @@ void DectectOnePCD(const pcl::PointCloud<pcl::PointXYZI>::Ptr &pc_ptr)
xTime.start();
cudaDeviceSynchronize();
- pPillars->DoInference(points_array, in_num_points, &out_detections, &out_labels , &out_scores);
+ pPillars->DoInference(points_array_ptr.get(), in_num_points, &out_detections, &out_labels , &out_scores);
int BoxFeature = 7;
int num_objects = out_detections.size() / BoxFeature;
@@ -162,6 +163,7 @@ void DectectOnePCD(const pcl::PointCloud<pcl::PointXYZI>::Ptr &pc_ptr)
int ntlen;
std::string out = lidarobjvec.SerializeAsString();
iv::modulecomm::ModuleSendMsg(gpdetect,out.data(),out.length());
// givlog->verbose("lenth is %d",out.length());
@@ -185,6 +187,8 @@ void ListenPointCloud(const char *strdata,const unsigned int nSize,const unsigne
int nNameSize;
nNameSize = *pHeadSize - 4-4-8;
char * strName = new char[nNameSize+1];strName[nNameSize] = 0;
+ std::shared_ptr<char> str_ptr;
+ str_ptr.reset(strName);
memcpy(strName,(char *)((char *)strdata +4),nNameSize);
point_cloud->header.frame_id = strName;
memcpy(&point_cloud->header.seq,(char *)strdata+4+nNameSize,4);
@@ -260,6 +264,25 @@ void exitfunc()
std::cout<<"exit func complete"<<std::endl;
+#include <QDir>
+#include <QFile>
+bool trtisexist(std::string strpfe,std::string strbackbone)
+ QFile xFile;
+ xFile.setFileName(strpfe.data());
+ if(xFile.exists() == false)
+ return false;
+ xFile.setFileName(strbackbone.data());
+ return true;
@@ -274,8 +297,15 @@ int main(int argc, char *argv[])
char * strhome = getenv("HOME");
std::string pfe_file = strhome;
pfe_file += "/models/lidar/cbgs_pp_multihead_pfe.onnx";
+ std::string pfe_trt_file = strhome;
+ pfe_trt_file += "/models/lidar/cbgs_pp_multihead_pfe.trt";
std::string backbone_file = strhome;
backbone_file += "/models/lidar/cbgs_pp_multihead_backbone.onnx";
+ std::string backbone_trt_file = strhome;
+ backbone_trt_file += "/models/lidar/cbgs_pp_multihead_backbone.trt";
+ bool btrtexist = trtisexist(pfe_trt_file,backbone_trt_file);
@@ -293,6 +323,10 @@ int main(int argc, char *argv[])
backbone_file = xparam.GetParam("backbone_file",backbone_file.data());
gstrinput = xparam.GetParam("input","lidar_pc");
gstroutput = xparam.GetParam("output","lidar_pointpillar");
+ if(btrtexist == false)
+ std::cout<<"use onnx model."<<std::endl;
pPillars = new PointPillars(
0.1,
0.2,
@@ -301,6 +335,19 @@ int main(int argc, char *argv[])
backbone_file,
pp_config
);
+ std::cout<<"use engine mode."<<std::endl;
+ pPillars = new PointPillars(
+ 0.1,
+ 0.2,
+ false,
+ pfe_trt_file,
+ backbone_trt_file,
+ pp_config
+ );
std::cout<<"PointPillars Init OK."<<std::endl;
gpa = iv::modulecomm::RegisterRecv(gstrinput.data(),ListenPointCloud);
@@ -284,14 +284,32 @@ void PointPillars::SetDeviceMemoryToZero() {
+#include <fstream>
+#include <iostream>
+#
+void PointPillars::SaveEngine(nvinfer1::ICudaEngine* pengine,std::string strpath)
+ nvinfer1::IHostMemory* data = pengine->serialize();
+ std::ofstream file;
+ file.open(strpath,std::ios::binary | std::ios::out);
+ if(!file.is_open())
+ std::cout << "read create engine file" << strpath <<" failed" << std::endl;
+ file.write((const char*)data->data(), data->size());
+ file.close();
void PointPillars::InitTRT(const bool use_onnx) {
if (use_onnx_) {
// create a TensorRT model from the onnx model and load it into an engine
OnnxToTRTModel(pfe_file_, &pfe_engine_);
+ SaveEngine(pfe_engine_,"/home/nvidia/models/lidar/cbgs_pp_multihead_pfe.trt");
OnnxToTRTModel(backbone_file_, &backbone_engine_);
+ SaveEngine(backbone_engine_,"/home/nvidia/models/lidar/cbgs_pp_multihead_backbone.trt");
}else {
EngineToTRTModel(pfe_file_, &pfe_engine_);
EngineToTRTModel(backbone_file_, &backbone_engine_);
@@ -345,6 +363,59 @@ void PointPillars::OnnxToTRTModel(
builder->destroy();
+void PointPillars::LoadEngineModel(const string &engine_file, nvinfer1::ICudaEngine **engine_ptr)
+// using namespace std;
+// fstream file;
+// file.open(engine_file,ios::binary | ios::in);
+// if(!file.is_open())
+// cout << "read engine file" << engine_file <<" failed" << endl;
+// return;
+// file.seekg(0, ios::end);
+// int length = file.tellg();
+// file.seekg(0, ios::beg);
+// std::unique_ptr<char[]> data(new char[length]);
+// file.read(data.get(), length);
+// file.close();
+// std::cout << "deserializing" << std::endl;
+// mTrtRunTime = createInferRuntime(gLogger);
+// assert(mTrtRunTime != nullptr);
+// mTrtEngine= mTrtRunTime->deserializeCudaEngine(data.get(), length, &mTrtPluginFactory);
+// assert(mTrtEngine != nullptr);
+// nvinfer1::IRuntime* runtime = nvinfer1::createInferRuntime(g_logger_);
+// if (runtime == nullptr) {
+// std::string msg("failed to build runtime parser");
+// g_logger_.log(nvinfer1::ILogger::Severity::kERROR, msg.c_str());
+// exit(EXIT_FAILURE);
+// std::cout << " "<< std::endl;
+// std::cout << "------------------------------------------------------------------"<< std::endl;
+// std::cout << ">>>> >>>>"<< std::endl;
+// std::cout << "Input filename: " << engine_file << std::endl;
+// nvinfer1::ICudaEngine* engine = runtime->deserializeCudaEngine(modelMem, modelSize, NULL);
+// if (engine == nullptr) {
+// std::string msg("failed to build engine parser");
+// *engine_ptr = engine;
void PointPillars::EngineToTRTModel(
const std::string &engine_file ,
@@ -490,6 +561,8 @@ void PointPillars::DoInference(const float* in_points_array,
// std::cout << setiosflags(ios::left) << setw(14) << Modules[i] << setw(8) << Times[i] * 1000 << " ms" << resetiosflags(ios::left) << std::endl;
// std::cout << "------------------------------------" << std::endl;
+ GPU_CHECK(cudaFree(dev_points));
cudaStreamDestroy(stream);
@@ -243,6 +243,9 @@ class PointPillars {
void EngineToTRTModel(const std::string &engine_file ,
nvinfer1::ICudaEngine** engine_ptr) ;
+ void LoadEngineModel(const std::string &engine_file ,
+ nvinfer1::ICudaEngine** engine_ptr) ;
/**
* @brief Preproces points
* @param[in] in_points_array Point cloud array
@@ -269,6 +272,8 @@ class PointPillars {
const std::string pp_config);
~PointPillars();
+ void SaveEngine(nvinfer1::ICudaEngine* pengine,std::string strpath);
* @brief Call PointPillars for the inference
@@ -380,5 +380,6 @@ void PostprocessCuda::DoPostprocessCuda(
GPU_CHECK(cudaFree(dev_indexes));
GPU_CHECK(cudaFree(dev_sorted_filtered_box));
+ GPU_CHECK(cudaFree(dev_sorted_filtered_scores));
@@ -34,6 +34,11 @@
#include "ivversion.h"
void * gpa;
@@ -213,7 +218,7 @@ void threadcapture()
if((gpixel_format_name_ != "mjpeg")&&(gbcompress))
std::vector<int> param = std::vector<int>(2);
- param[0] = CV_IMWRITE_JPEG_QUALITY;
+ param[0] = 1;//CV_IMWRITE_JPEG_QUALITY;
param[1] = 95; // default(95) 0-100
std::vector<unsigned char> buff;
@@ -257,10 +262,25 @@ void threadcapture()
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
showversion("driver_camera_ioctl");
// QString apppath = strpath;
@@ -323,5 +343,14 @@ int main(int argc, char *argv[])
// (void)conthread;
// (void)compressthread;
+ iv::modulecomm::Unregister(gpa);
+ std::cout<<"driver_camera_ioctl quit."<<nrc<<std::endl;
@@ -193,12 +193,30 @@ void VideoThread(int n)
+void testthread()
+ void * mpx = iv::modulecomm::RegisterSend("test121",10000000,1);
+ char * str = new char[10000000];
+ while(1)
+ iv::modulecomm::ModuleSendMsg(mpx,str,9000000);
showversion("driver_camera_usb");
+ std::thread * pthread = new std::thread(testthread);
if(argc < 2)
@@ -51,6 +51,20 @@ canctrl::canctrl(const char * strmemsend0,const char * strmemsend1,const char *
mpcan->startdev();
+canctrl::~canctrl()
+ mpcan->stopdev();
+ delete mpcan;
+ iv::modulecomm::Unregister(mpasend1);
+ iv::modulecomm::Unregister(mpasend0);
+ iv::modulecomm::Unregister(mpcanState);
+ iv::modulecomm::Unregister(mparecv1);
+ iv::modulecomm::Unregister(mparecv0);
void canctrl::run()
@@ -59,6 +73,7 @@ void canctrl::run()
int nOldTime = xTime.elapsed();
int i;
while(!isInterruptionRequested())
if(mbCANOpen)
@@ -75,6 +90,7 @@ void canctrl::run()
sharecanmsg(mparecv1,xmsg,nRec2,1);
nSend1 = 0;
nSend2 = 0;
@@ -122,9 +138,11 @@ void canctrl::run()
exit(-1);
- mpcan->mfault->SetFaultState(0, 0, "ok");
+// mpcan->mfault->SetFaultState(0, 0, "ok");
+ qDebug("thread canctrl complete.");
void canctrl::onCANState(bool bCAN, int nR, const char *strres)
@@ -137,7 +155,7 @@ void canctrl::sendmsg(int index, iv::can::canmsg xmsg)
if((index <0)||(index > 1))
- mpcan->mfault->SetFaultState(1, 0, "sendmsg index error");
+ // mpcan->mfault->SetFaultState(1, 0, "sendmsg index error");
mpcan->mivlog->error("sendmsg index err");
std::cout<<"canctrl::sendmsg index error"<<std::endl;
@@ -179,8 +197,9 @@ void canctrl::sendmsg(int index, iv::can::canmsg xmsg)
if((nlen < 0) || (nlen > 8))
nlen = 0;
- mpcan->mivlog->error("sendmsg nlen err");
- mpcan->mfault->SetFaultState(1, 0, "sendmsg nlen err");
+ mpcan->mivlog->warn("sendmsg nlen err");
+ continue;
+ // mpcan->mfault->SetFaultState(1, 0, "sendmsg nlen err");
sendmsg.nLen = nlen;
if(sendmsg.nLen > 0)
@@ -224,8 +243,8 @@ void canctrl::sharecanmsg(void *xpa, basecan_msg * pxmsg,int ncount,int nch)
- mpcan->mivlog->error("canctrl::sharecanmsg serialize error");
- mpcan->mfault->SetFaultState(1, 0, "sharecanmsg serialize error");
+ mpcan->mivlog->warn("canctrl::sharecanmsg serialize error");
+// mpcan->mfault->SetFaultState(1, 0, "sharecanmsg serialize error");
delete strdata;
@@ -19,6 +19,7 @@ class canctrl : public QThread
Q_OBJECT
canctrl(const char * strmemsend0,const char * strmemsend1,const char * strmemrecv0,const char * strmemrecv1);
+ ~canctrl();
private slots:
void onCANState(bool bCAN,int nR,const char * strres);
@@ -14,26 +14,38 @@
#include <xmlparam.h>
-//void func()
-//{
-// int i;
-// i = 0;
-// while(1)
-// {
-// std::this_thread::sleep_for(std::chrono::milliseconds(1000));
-// i++;
-// qDebug("pid is ",getpid());
-// if(i == 10)break;
-// }
-// qDebug("pid is %d ",getpid());
-// kill(getpid(),SIGINT);
-//}
+static canctrl * gpcanctrl;
+void exitfunc()
+ qDebug("enter exit func.");
+ gpcanctrl->requestInterruption();
+ QTime xTime;
+ xTime.start();
+ while(xTime.elapsed()<1000)
+ if(gpcanctrl->isFinished())
+ qDebug("canctrl complete.");
+ delete gpcanctrl;
-static canctrl * gpcanctrl;
+ exitfunc();
@@ -58,6 +70,10 @@ int main(int argc, char *argv[])
gpcanctrl = new canctrl(strmemsend0.data(),strmemsend1.data(),strmemrecv0.data(),strmemrecv1.data());
gpcanctrl->start();
+ iv::ivexit::RegIVExitCall(exitfunc);
// std::thread b(func);
return a.exec();
@@ -22,6 +22,8 @@
#include <linux/can.h>
#include <linux/can/raw.h>
+#include <QDateTime>
/* for hardware timestamps - since Linux 2.6.30 */
@@ -60,6 +62,9 @@ nvcan::nvcan()
mivlog = new iv::Ivlog("can_agx");
+ mfault->SetFaultState(0,0,"Prepare Initialize.");
void nvcan::run()
@@ -79,11 +84,14 @@ void nvcan::run()
struct ifreq ifr;
struct timeval tv, last_tv;
struct timeval timeout_config = { 0, 0 }, *timeout_current = 0;
+ mfault->SetFaultState(0,0,"Initializing.");
for(i=0;i<currmax;i++)
s[i] = socket(PF_CAN, SOCK_RAW, CAN_RAW);
if (s[i] < 0) {
+ mfault->SetFaultState(2,1,"Create Socket Error.");
emit SIG_CANOPENSTATE(false,-1,"Create Socket Error");
@@ -94,12 +102,14 @@ void nvcan::run()
strncpy(ifr.ifr_name, CANNAME[i].data(), 5);
if (ioctl(s[i], SIOCGIFINDEX, &ifr) < 0) {
+ mfault->SetFaultState(2,2,"SIOCGIFINDEX.");
emit SIG_CANOPENSTATE(false,-2,"SIOCGIFINDEX");
addr.can_ifindex = ifr.ifr_ifindex;
if (bind(s[i], (struct sockaddr *)&addr, sizeof(addr)) < 0) {
+ mfault->SetFaultState(2,3,"bind error.");
emit SIG_CANOPENSTATE(false,-3,"bind error");
@@ -107,6 +117,7 @@ void nvcan::run()
mbCANOpen = true;
mivlog->verbose("open can succesfully.");
+ mfault->SetFaultState(0,0,"CAN OK.");
emit SIG_CANOPENSTATE(true,0,"open can card successfully");
iov.iov_base = &frame;
@@ -115,6 +126,13 @@ void nvcan::run()
msg.msg_iovlen = 1;
msg.msg_control = &ctrlmsg;
+ qint64 nLastRecv = QDateTime::currentMSecsSinceEpoch();
+ int nRecvState = 0; // 0 Have Data 1 No Data;
+ mbRunning = true;
+ int nrecvcount = 0;
while((!QThread::isInterruptionRequested())&&(mbCANOpen))
FD_ZERO(&rdfs);
@@ -130,6 +148,7 @@ void nvcan::run()
ret = select(s[currmax-1]+1, &rdfs, NULL, NULL, timeout_current);
if (ret < 0) {
emit SIG_CANOPENSTATE(false,-4,"select error");
+ mfault->SetFaultState(2,4,"select error.");
mbCANOpen = false;
continue;
@@ -138,6 +157,7 @@ void nvcan::run()
if (FD_ISSET(s[i], &rdfs)) {
+ nLastRecv = QDateTime::currentMSecsSinceEpoch();
/* these settings may be modified by recvmsg() */
iov.iov_len = sizeof(frame);
msg.msg_namelen = sizeof(addr);
@@ -169,6 +189,7 @@ void nvcan::run()
+ nrecvcount++;
// qDebug("receive msg.");
mMutex.lock();
@@ -190,6 +211,23 @@ void nvcan::run()
+ if((QDateTime::currentMSecsSinceEpoch() - nLastRecv)> 1000)
+ if(nRecvState == 0)
+ nRecvState = -1;
+ mfault->SetFaultState(0,1,"More than 1 second not receive data.");
+ if(nRecvState == -1)
+ nRecvState = 0;
struct canfd_frame framesend[2500];
for(int nch =0;nch<currmax;nch++)
@@ -238,6 +276,8 @@ void nvcan::run()
close(s[i]);
+ qDebug("nvcan thread close.");
+ mbRunning = false;
void nvcan::startdev()
@@ -256,6 +296,7 @@ void nvcan::stopdev()
mfault->SetFaultState(1, 0, "can closed");
mivlog->error("can is closed at %d",xTime.elapsed());
+ qDebug("can is closed.");
break;
@@ -11,6 +11,8 @@ QMAKE_LFLAGS += -no-pie
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
+system(protoc -I=./../../include/proto3 --cpp_out=./../../include/msgtype ./../../include/proto3/uploadmsg.proto)
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
@@ -1,3 +1,3 @@
protoc -I . --plugin=protoc-gen-grpc=/home/yuchuli/git/grpc-framework/build2/grpc_cpp_plugin --grpc_out=. uploadmsg.proto
-protoc -I . --cpp_out=. uploadmsg.proto
+protoc -I=./../../include/proto3 --cpp_out=./../../include/msgtype ./../../include/proto3/uploadmsg.proto
@@ -3,7 +3,7 @@ upload_port : 10591
patrol_port : 10592
control_port : 20591
-uploadinterval : 500 //ms
+uploadinterval : 100 #ms
patrolinterval : 1000
controlinterval : 100
uploadmapinterval : 1000
@@ -41,7 +41,7 @@ std::string gstrserverip = "111.33.136.150";//"123.57.212.138";
std::string gstruploadPort = "10591";//"9000";
std::string gstrpatrolPort = "10592";//"9000";
std::string gstrcontrolPort = "20591";//"9000";
-std::string gstruploadInterval = "500";
+std::string gstruploadInterval = "100";
std::string gstrpatrolInterval = "1000";
std::string gstrcontrolInterval = "100";
std::string gstruploadMapInterval = "1000";
@@ -74,43 +74,53 @@ void dec_yaml(const char * stryamlpath)
if(config["server"])
gstrserverip = config["server"].as<std::string>();
+ std::cout<<"server:"<<gstrserverip<<std::endl;
- if(config["uploadPort"])
+ if(config["upload_port"])
- gstruploadPort = config["uploadPort"].as<std::string>();
+ gstruploadPort = config["upload_port"].as<std::string>();
+ std::cout<<"upload_port:"<<gstruploadPort<<std::endl;
- if(config["patrolPort"])
+ if(config["patrol_port"])
- gstrpatrolPort = config["patrolPort"].as<std::string>();
+ gstrpatrolPort = config["patrol_port"].as<std::string>();
+ std::cout<<"patrol_port:"<<gstrpatrolPort<<std::endl;
- if(config["controlPort"])
+ if(config["control_port"])
- gstrcontrolPort = config["controlPort"].as<std::string>();
+ gstrcontrolPort = config["control_port"].as<std::string>();
+ std::cout<<"control_port:"<<gstrcontrolPort<<std::endl;
- if(config["uploadInterval"])
+ if(config["uploadinterval"])
- gstruploadInterval = config["uploadInterval"].as<std::string>();
+ gstruploadInterval = config["uploadinterval"].as<std::string>();
+ std::cout<<"uploadinterval:"<<gstruploadInterval<<"ms"<<std::endl;
- if(config["patrolInterval"])
+ if(config["patrolinterval"])
- gstrpatrolInterval = config["patrolInterval"].as<std::string>();
+ gstrpatrolInterval = config["patrolinterval"].as<std::string>();
+ std::cout<<"patrolinterval:"<<gstrpatrolInterval<<"ms"<<std::endl;
if(config["controlinterval"])
gstrcontrolInterval = config["controlinterval"].as<std::string>();
+ std::cout<<"controlinterval:"<<gstrcontrolInterval<<"ms"<<std::endl;
if(config["uploadmapinterval"])
gstruploadMapInterval = config["uploadmapinterval"].as<std::string>();
+ std::cout<<"uploadmapinterval:"<<gstruploadMapInterval<<"ms"<<std::endl;
if(config["id"])
gstrid = config["id"].as<std::string>();
+ std::cout<<"id:"<<gstrid<<std::endl;
if(config["plateNumber"])
gstrplateNumber = config["plateNumber"].as<std::string>();
+ std::cout<<"plateNumber:"<<gstrplateNumber<<std::endl;
@@ -160,7 +170,7 @@ int main(int argc, char *argv[])
vehicleuploadmap->start();
// std::cout<<patrol_str<<std::endl;
-// VehiclePatrolExceptionClient vehiclepatrol(grpc::CreateChannel(patrol_str, grpc::InsecureChannelCredentials()));
+ VehiclePatrolExceptionClient vehiclepatrol(grpc::CreateChannel(patrol_str, grpc::InsecureChannelCredentials()));
// vehiclepatrol.start();
@@ -1,5 +1,7 @@
#include "vehicle_control.h"
+#include <math.h>
#include "modulecomm.h"
#include "remotectrl.pb.h"
@@ -64,7 +66,7 @@ void VehicleControlClient::dec_yaml(const char *stryamlpath)
strncpy(shmRemoteCtrl.mstrmsgname,strmsgname.data(),255);
shmRemoteCtrl.mnBufferSize = config["remote_ctrl"]["buffersize"].as<int>();
shmRemoteCtrl.mnBufferCount = config["remote_ctrl"]["buffercount"].as<int>();
-// std::cout << shmRemoteCtrl.mstrmsgname << shmRemoteCtrl.mnBufferSize << shmRemoteCtrl.mnBufferCount << std::endl;
+ std::cout << "RemoteCtrl:" << shmRemoteCtrl.mstrmsgname << "," << shmRemoteCtrl.mnBufferSize << "," << shmRemoteCtrl.mnBufferCount << std::endl;
@@ -124,6 +126,10 @@ std::string VehicleControlClient::vehicleControl(void)
std::cout << "vehicleControl RPC connect timeout" << std::endl;
+ shiftCMD = ShiftStatus::SHIFT_DRIVE;
+ steeringWheelAngleCMD = 0.0;
+ throttleCMD = 0.0;
+ brakeCMD = 100.0;
return "vehicleControl RPC failed";
@@ -136,10 +142,10 @@ void VehicleControlClient::updateControlData(void)
std::cout<<"throttle:"<<throttleCMD<<std::endl;
std::cout<<"brake:"<<brakeCMD<<std::endl;
-// std::cout<<"\n"<<"shift:"<<shiftCMD<<std::endl;
-// std::cout<<"steeringWheelAngle:"<<steeringWheelAngleCMD<<std::endl;
-// std::cout<<"throttle:"<<throttleCMD<<std::endl;
-// std::cout<<"brake:"<<brakeCMD<<"\n"<<std::endl;
+ std::cout<<"\n"<<"shift:"<<shiftCMD<<std::endl;
+ std::cout<<"steeringWheelAngle:"<<steeringWheelAngleCMD<<std::endl;
+ std::cout<<"throttle:"<<throttleCMD<<std::endl;
+ std::cout<<"brake:"<<brakeCMD<<"\n"<<std::endl;
iv::remotectrl xmsg;
if(modeCMD == CtrlMode::CMD_REMOTE || modeCMD == CtrlMode::CMD_CLOUD_PLATFORM)
@@ -256,6 +262,7 @@ std::string VehicleChangeCtrlModeClient::changeCtrlMode(void)
+ modeCMD = CtrlMode::CMD_EMERGENCY_STOP;
return "changeCtrlMode RPC failed";
@@ -278,7 +285,7 @@ void VehicleChangeCtrlModeClient::run()
if(abs(xTime.elapsed() - lastTime)>=interval)
std::string reply = changeCtrlMode();
- std::cout<< reply <<std::endl;
+// std::cout<< reply <<std::endl;
updateCtrolMode();
lastTime = xTime.elapsed();
@@ -1,6 +1,7 @@
#include "vehicle_patrol.h"
#include <QFile>
#include "gpsimu.pb.h"
@@ -19,6 +20,11 @@ using org::jeecg::defsPatrol::grpc::GPSPoint;
VehiclePatrolExceptionClient::VehiclePatrolExceptionClient(std::shared_ptr<Channel> channel)
stub_ = VehiclePatrolException::NewStub(channel);
+ dec_yaml(stryamlpath);
+ ModuleFun funupdate = std::bind(&VehiclePatrolExceptionClient::ListenGPSIMUMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+ shmGPSIMU.mpa = iv::modulecomm::RegisterRecvPlus(shmGPSIMU.mstrmsgname,funupdate);
VehiclePatrolExceptionClient::~VehiclePatrolExceptionClient(void)
@@ -56,7 +62,7 @@ void VehiclePatrolExceptionClient::dec_yaml(const char *stryamlpath)
strncpy(shmGPSIMU.mstrmsgname,strmsgname.data(),255);
shmGPSIMU.mnBufferSize = config["GPS_IMU"]["buffersize"].as<int>();
shmGPSIMU.mnBufferCount = config["GPS_IMU"]["buffercount"].as<int>();
-// std::cout << shmGPSIMU.mstrmsgname << shmGPSIMU.mnBufferSize << shmGPSIMU.mnBufferCount << std::endl;
+ std::cout << "GPS_IMU:" << shmGPSIMU.mstrmsgname << "," << shmGPSIMU.mnBufferSize << "," << shmGPSIMU.mnBufferCount << std::endl;
@@ -70,6 +76,24 @@ void VehiclePatrolExceptionClient::dec_yaml(const char *stryamlpath)
+void VehiclePatrolExceptionClient::ListenGPSIMUMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname) // need a lock
+ iv::gps::gpsimu xdata;
+ if(!xdata.ParseFromArray(strdata,nSize))
+ std::cout<<" MainWindow::UpdateSlider parese error."<<std::endl;
+ gMutex_GPSIMU.lock();
+ currentPosition.set_latitude(xdata.lat());
+ currentPosition.set_longitude(xdata.lon());
+ currentPosition.set_height(xdata.height());
+ gMutex_GPSIMU.unlock();
std::string VehiclePatrolExceptionClient::uploadVehiclePatrolInfo(void)
// Data we are sending to the server.
#include <QVector>
#include <QThread>
@@ -58,6 +59,8 @@ public:
void dec_yaml(const char * stryamlpath);
+ void ListenGPSIMUMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
protected:
void run();
@@ -66,6 +69,9 @@ private:
iv::msgunit shmGPSIMU;
+ QMutex gMutex_GPSIMU;
+ org::jeecg::defsPatrol::grpc::GPSPoint currentPosition;
std::string id;
bool isTVR; //Traffic Violation Recognition
@@ -87,7 +87,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
strncpy(shmPicFront.mstrmsgname,strmsgname.data(),255);
shmPicFront.mnBufferSize = config["pic_front"]["buffersize"].as<int>();
shmPicFront.mnBufferCount = config["pic_front"]["buffercount"].as<int>();
-// std::cout << shmPicFront.mstrmsgname << shmPicFront.mnBufferSize << shmPicFront.mnBufferCount << std::endl;
+ std::cout << "pic_front:" << shmPicFront.mstrmsgname << "," << shmPicFront.mnBufferSize << "," << shmPicFront.mnBufferCount << std::endl;
@@ -106,7 +106,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
strncpy(shmPicRear.mstrmsgname,strmsgname.data(),255);
shmPicRear.mnBufferSize = config["pic_rear"]["buffersize"].as<int>();
shmPicRear.mnBufferCount = config["pic_rear"]["buffercount"].as<int>();
-// std::cout << shmPicRear.mstrmsgname << shmPicRear.mnBufferSize << shmPicRear.mnBufferCount << std::endl;
+ std::cout << "pic_rear:" << shmPicRear.mstrmsgname << "," << shmPicRear.mnBufferSize << "," << shmPicRear.mnBufferCount << std::endl;
@@ -125,7 +125,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
strncpy(shmPicLeft.mstrmsgname,strmsgname.data(),255);
shmPicLeft.mnBufferSize = config["pic_left"]["buffersize"].as<int>();
shmPicLeft.mnBufferCount = config["pic_left"]["buffercount"].as<int>();
-// std::cout << shmPicLeft.mstrmsgname << shmPicLeft.mnBufferSize << shmPicLeft.mnBufferCount << std::endl;
+ std::cout << "pic_left:" << shmPicLeft.mstrmsgname << "," << shmPicLeft.mnBufferSize << "," << shmPicLeft.mnBufferCount << std::endl;
@@ -144,7 +144,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
strncpy(shmPicRight.mstrmsgname,strmsgname.data(),255);
shmPicRight.mnBufferSize = config["pic_right"]["buffersize"].as<int>();
shmPicRight.mnBufferCount = config["pic_right"]["buffercount"].as<int>();
-// std::cout << shmPicRight.mstrmsgname << shmPicRight.mnBufferSize << shmPicRight.mnBufferCount << std::endl;
+ std::cout << "pic_right:" << shmPicRight.mstrmsgname << "," << shmPicRight.mnBufferSize << "," << shmPicRight.mnBufferCount << std::endl;
@@ -163,7 +163,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
strncpy(shmChassis.mstrmsgname,strmsgname.data(),255);
shmChassis.mnBufferSize = config["chassis"]["buffersize"].as<int>();
shmChassis.mnBufferCount = config["chassis"]["buffercount"].as<int>();
-// std::cout << shmChassis.mstrmsgname << shmChassis.mnBufferSize << shmChassis.mnBufferCount << std::endl;
+ std::cout << "chassis:" << shmChassis.mstrmsgname << "," << shmChassis.mnBufferSize << "," << shmChassis.mnBufferCount << std::endl;
@@ -182,7 +182,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
strncpy(shmPlatformFeedback.mstrmsgname,strmsgname.data(),255);
shmPlatformFeedback.mnBufferSize = config["platform_feedback"]["buffersize"].as<int>();
shmPlatformFeedback.mnBufferCount = config["platform_feedback"]["buffercount"].as<int>();
-// std::cout << shmPlatformFeedback.mstrmsgname << shmPlatformFeedback.mnBufferSize << shmPlatformFeedback.mnBufferCount << std::endl;
+ std::cout << "platform_feedback:" << shmPlatformFeedback.mstrmsgname << "," << shmPlatformFeedback.mnBufferSize << "," << shmPlatformFeedback.mnBufferCount << std::endl;
@@ -201,7 +201,7 @@ void DataExchangeClient::dec_yaml(const char *stryamlpath)
@@ -226,7 +226,10 @@ void DataExchangeClient::ListenFrontPicMsg(const char * strdata,const unsigned i
gMutex_ImageFront.lock();
cameraImageFront.clear();
- if(gShift_Status == 6)cameraImageFront.append(xdata.picdata().data(),xdata.picdata().size());
+ if(statusFeedback == VehicleStatus::STATUS_REMOTE && gShift_Status == 6)
+ cameraImageFront.append(xdata.picdata().data(),xdata.picdata().size());
+ else if(statusFeedback == VehicleStatus::STATUS_AUTO || statusFeedback == VehicleStatus::STATUS_EMERGENCY_STOP)
gMutex_ImageFront.unlock();
@@ -241,7 +244,10 @@ void DataExchangeClient::ListenRearPicMsg(const char * strdata,const unsigned in
gMutex_ImageRear.lock();
cameraImageRear.clear();
- if(gShift_Status == 4)cameraImageRear.append(xdata.picdata().data(),xdata.picdata().size());
+ if(statusFeedback == VehicleStatus::STATUS_REMOTE && gShift_Status == 4)
+ cameraImageRear.append(xdata.picdata().data(),xdata.picdata().size());
gMutex_ImageRear.unlock();
@@ -256,7 +262,10 @@ void DataExchangeClient::ListenLeftPicMsg(const char * strdata,const unsigned in
gMutex_ImageLeft.lock();
cameraImageLeft.clear();
- if(gShift_Status == 5)cameraImageLeft.append(xdata.picdata().data(),xdata.picdata().size());
+ if(statusFeedback == VehicleStatus::STATUS_REMOTE && gShift_Status == 5)
+ cameraImageLeft.append(xdata.picdata().data(),xdata.picdata().size());
gMutex_ImageLeft.unlock();
@@ -271,7 +280,10 @@ void DataExchangeClient::ListenRightPicMsg(const char * strdata,const unsigned i
gMutex_ImageRight.lock();
cameraImageRight.clear();
- if(gShift_Status == 5)cameraImageRight.append(xdata.picdata().data(),xdata.picdata().size());
+ cameraImageRight.append(xdata.picdata().data(),xdata.picdata().size());
gMutex_ImageRight.unlock();
@@ -287,6 +299,7 @@ void DataExchangeClient::ListenChassisMsg(const char * strdata,const unsigned in
gMutex_Chassis.lock();
SOC = xdata.soc();
gMutex_Chassis.unlock();
+// std::cout<<SOC<<std::endl;
void DataExchangeClient::ListenGPSIMUMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname) // need a lock
@@ -448,7 +461,7 @@ std::string DataExchangeClient::uploadVehicleInfo(void)
// Act upon its status.
if (status.ok()) {
destinationPosition.CopyFrom(reply.destinationposition());
-// std::cout<<"lat:"<<destinationPosition.latitude()<<"lon:"<<destinationPosition.longitude()<<"height:"<<destinationPosition.height()<<std::endl;
+// std::cout<<std::setprecision(12)<<"lat:"<<reply.destinationposition().latitude()<<"lon:"<<reply.destinationposition().longitude()<<"height:"<<reply.destinationposition().height()<<std::endl;
return "uploadVehicleInfo RPC successed";
} else {
std::cout << status.error_code() << ": " << status.error_message()
@@ -511,23 +524,23 @@ void DataExchangeClient::updateData(uint64_t timeInterval_ms)
id = gstrid;
timeStamp = QDateTime::currentMSecsSinceEpoch();
- SOC = 87.5;
- statusFeedback = VehicleStatus::STATUS_REMOTE;
+// SOC = 87.5;
+// statusFeedback = VehicleStatus::STATUS_REMOTE;
gMutex_GPSIMU.lock();
mileage += (speed * timeInterval_ms/1000.0)/1000.0; // kilometer
gMutex_GPSIMU.unlock();
- speed = 0.0; // m/s
- shiftFeedback = ShiftStatus::SHIFT_DRIVE;
- steeringWheelAngleFeedback = 1.23; //+/-540 degree
- throttleFeedback = 0.12;
- brakeFeedback = 0.34;
- GPSRTKStatus = 6; //GPS-RTK status 0-6 6 is best
- positionFeedback.set_latitude(39.0666552);
- positionFeedback.set_longitude(117.3540963);
- positionFeedback.set_height(0.84);
- pitch = 0.03;
- roll = 0.02;
- heading = 198.4;
+// speed = 0.0; // m/s
+// shiftFeedback = ShiftStatus::SHIFT_DRIVE;
+// steeringWheelAngleFeedback = 1.23; //+/-540 degree
+// throttleFeedback = 0.12;
+// brakeFeedback = 0.34;
+// GPSRTKStatus = 6; //GPS-RTK status 0-6 6 is best
+// positionFeedback.set_latitude(39.0666552);
+// positionFeedback.set_longitude(117.3540963);
+// positionFeedback.set_height(0.84);
+// pitch = 0.03;
+// roll = 0.02;
+// heading = 198.4;
// QFile xFile;
// xFile.setFileName("/home/nvidia/Pictures/123.jpg");
@@ -608,6 +621,7 @@ void DataExchangeClient::run()
QString strMileage = QString::number(mileage,'f',4);
mileageFile.write(strMileage.toUtf8());
+ std::cout<<"file not exist. mileage has been cleared. "<<mileage<<std::endl;
mileageFile.flush();
mileageFile.close();
@@ -621,8 +635,8 @@ void DataExchangeClient::run()
updateData(abs(xTime.elapsed() - lastTime));
std::string reply = uploadVehicleInfo();
- std::cout<<std::setprecision(8)<<destinationPosition.latitude()<<","<<destinationPosition.longitude()<<std::endl;
+// std::cout<<std::setprecision(12)<<destinationPosition.latitude()<<","<<destinationPosition.longitude()<<std::endl;
@@ -644,7 +658,7 @@ void DataExchangeClient::patrolPOI_Recieved_Slot(std::string pathID)
std::cout<<"patrol path calculating"<<std::endl;
QFile mapfile;
- mapfile.setFileName("/home/samuel/Documents/path2.txt");
+ mapfile.setFileName("/home/nvidia/Documents/path2.txt");
QVector<org::jeecg::defsDetails::grpc::MapPoint> somePoints;
if(mapfile.open(QIODevice::ReadOnly | QIODevice::Text))
@@ -91,7 +91,7 @@ private:
uint64_t timeStamp = QDateTime::currentMSecsSinceEpoch();
double SOC; //0.0-100.0%
VehicleStatus statusFeedback = VehicleStatus::STATUS_EMERGENCY_STOP;
- double mileage; // kilometer
+ double mileage = 0.0; // kilometer
uint64_t timeMileageRecord = QDateTime::currentMSecsSinceEpoch();
double speed; // m/s
org::jeecg::defsDetails::grpc::ShiftStatus shiftFeedback = org::jeecg::defsDetails::grpc::ShiftStatus::SHIFT_PARKING;
@@ -0,0 +1,489 @@
+#include "grpcpc.h"
+static grpcpc * ggrpcpc;
+void ListenData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+ ggrpcpc->UpdateData(strdata,nSize,strmemname);
+grpcpc::grpcpc(std::string stryamlpath)
+ mstrpicmsgname[0] = "picfront";
+ mstrpicmsgname[1] = "picrear";
+ mstrpicmsgname[2] = "picleft";
+ mstrpicmsgname[3] = "picright";
+ ggrpcpc = this;
+ dec_yaml(stryamlpath.data());
+ unsigned int i;
+ for(i=0;i<mvectormsgunit.size();i++)
+ mvectormsgunit[i].mpa = iv::modulecomm::RegisterSend(mvectormsgunit[i].mstrmsgname,mvectormsgunit[i].mnBufferSize,mvectormsgunit[i].mnBufferCount);
+ for(i=0;i<mvectorctrlmsgunit.size();i++)
+ mvectorctrlmsgunit[i].mpa = iv::modulecomm::RegisterRecv(mvectorctrlmsgunit[i].mstrmsgname,ListenData);
+ for(i=0;i<NUM_CAM;i++)
+ mpaPic[i] = iv::modulecomm::RegisterSend(mstrpicmsgname[i].data(),2000000,1);
+ unsigned int j;
+ for(j=0;j<NUM_THREAD_PERCAM;j++)
+ mpThread[i*NUM_THREAD_PERCAM + j] = new std::thread(&grpcpc::threadpicdownload,this,i);
+void grpcpc::run()
+ int nsize = mvectormsgunit.size();
+ int nctrlsize = mvectorctrlmsgunit.size();
+ int i;
+ qint64 nlasttime = 0;
+ int ninterval = atoi(gstruploadinterval.data());
+ if(ninterval<=0)ninterval = 100;
+ int nlastsend = xTime.elapsed();
+ std::string target_str = gstrserverip+":";
+ target_str = target_str + gstrserverport ;//std::to_string()
+ auto cargs = grpc::ChannelArguments();
+ cargs.SetMaxReceiveMessageSize(1024 * 1024 * 1024); // 1 GB
+ cargs.SetMaxSendMessageSize(1024 * 1024 * 1024);
+ std::shared_ptr<Channel> channel = grpc::CreateCustomChannel(
+ target_str, grpc::InsecureChannelCredentials(),cargs);
+ std::unique_ptr<iv::UploadThread::Stub> stub_ = iv::UploadThread::NewStub(channel);
+ iv::queryReqThread request;
+ iv::queryReplyThread xreply;
+ int nid = 0;
+ int nctrlid = 0;
+ // Container for the data we expect from the server.
+// iv::queryReply reply;
+ gpr_timespec timespec;
+ timespec.tv_sec = 30;//设置阻塞时间为2秒
+ timespec.tv_nsec = 0;
+ timespec.clock_type = GPR_TIMESPAN;
+ while(!QThread::isInterruptionRequested())
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
+ if(abs(xTime.elapsed()-nlastsend)<ninterval)
+ bool bImportant = false;
+ int nkeeptime = 0;
+ iv::cloud::cloudmsg xmsg;
+ xmsg.set_xtime(QDateTime::currentMSecsSinceEpoch());
+ nlastsend = xTime.elapsed();
+ gMutexMsg.lock();
+ // std::vector<iv::msgunit> xv = mvectorctrlmsgunit;
+ for(i=0;i<nctrlsize;i++)
+ if(mvectorctrlmsgunit[i].mbRefresh)
+ mvectorctrlmsgunit[i].mbRefresh = false;
+ if(mvectorctrlmsgunit[i].mbImportant)
+ bImportant = true;
+ if(mvectorctrlmsgunit[i].mnkeeptime > nkeeptime)
+ nkeeptime = mvectorctrlmsgunit[i].mnkeeptime;
+ iv::cloud::cloudunit xcloudunit;
+ xcloudunit.set_msgname(mvectorctrlmsgunit[i].mstrmsgname);
+ xcloudunit.set_data(mvectorctrlmsgunit[i].mpstrmsgdata.get(),mvectorctrlmsgunit[i].mndatasize);
+ iv::cloud::cloudunit * pcu = xmsg.add_xclouddata();
+ pcu->CopyFrom(xcloudunit);
+ gMutexMsg.unlock();
+ ClientContext context ;
+ context.set_deadline(timespec);
+ // qint64 time1 = QDateTime::currentMSecsSinceEpoch();
+ request.set_strquerymd5(gstrqueryMD5);
+ request.set_strvin(gstrVIN);
+ request.set_nlasttime(nlasttime);
+ request.set_id(nctrlid);nctrlid++;
+ request.set_strctrlmd5(gstrctrlMD5);
+ request.set_ntime(QDateTime::currentMSecsSinceEpoch());
+ request.set_bimportant(bImportant);
+ request.set_kepptime(nkeeptime);
+ if(xmsg.xclouddata_size()>0)
+ int nbytesize = xmsg.ByteSize();
+ std::vector<char> pvectordata;
+ pvectordata.resize(nbytesize);
+ if(xmsg.SerializeToArray(pvectordata.data(),nbytesize))
+ request.set_xdata(pvectordata.data(),pvectordata.size());
+ QDateTime xTime;
+ xTime.fromMSecsSinceEpoch(1607905685318); //1607914763641
+// qDebug("time:%s",xTime.toString("yyyy-MM-dd:hh:mm:ss:zzz").toLatin1().data());
+// qDebug("nlasttime is %ld",nlasttime);//1607905685318
+ nid++;
+ // The actual RPC.
+ Status status = stub_->queryctrl(&context, request, &xreply);
+ if (status.ok()) {
+ // std::cout<<nid<<" query successfully, res is "<<xreply.nres()<<std::endl;
+ if(xreply.nres() == 1)
+ if(nlasttime != xmsg.xtime())
+ if(xmsg.ParseFromArray(xreply.xdata().data(),xreply.xdata().size()))
+ sharequerymsg(&xmsg);
+ nlasttime = xreply.ntime();
+ std::this_thread::sleep_for(std::chrono::milliseconds(30));
+ } else {
+ std::cout << status.error_code() << ": " << status.error_message()
+ << std::endl;
+ std::cout<<"RPC failed"<<std::endl;
+ if(status.error_code() == 4)
+ std::cout<<" RPC Exceed Time, Create New stub_"<<std::endl;
+ channel = grpc::CreateCustomChannel(
+ stub_ = iv::UploadThread::NewStub(channel);
+void grpcpc::dec_yaml(const char *stryamlpath)
+ YAML::Node config;
+ try
+ config = YAML::LoadFile(stryamlpath);
+ catch(YAML::BadFile e)
+ qDebug("load error.");
+ std::vector<std::string> vecmodulename;
+ if(config["server"])
+ gstrserverip = config["server"].as<std::string>();
+ if(config["port"])
+ gstrserverport = config["port"].as<std::string>();
+ gstruploadinterval = config["uploadinterval"].as<std::string>();
+ if(config["VIN"])
+ gstrVIN = config["VIN"].as<std::string>();
+ if(config["queryMD5"])
+ gstrqueryMD5 = config["queryMD5"].as<std::string>();
+ if(config["ctrlMD5"])
+ gstrctrlMD5 = config["ctrlMD5"].as<std::string>();
+ std::string strmsgname;
+ if(config["querymessage"])
+ for(YAML::const_iterator it= config["querymessage"].begin(); it != config["querymessage"].end();++it)
+ std::string strtitle = it->first.as<std::string>();
+ std::cout<<strtitle<<std::endl;
+ if(config["querymessage"][strtitle]["msgname"]&&config["querymessage"][strtitle]["buffersize"]&&config["querymessage"][strtitle]["buffercount"])
+ iv::msgunit xmu;
+ strmsgname = config["querymessage"][strtitle]["msgname"].as<std::string>();
+ strncpy(xmu.mstrmsgname,strmsgname.data(),255);
+ xmu.mnBufferSize = config["querymessage"][strtitle]["buffersize"].as<int>();
+ xmu.mnBufferCount = config["querymessage"][strtitle]["buffercount"].as<int>();
+ mvectormsgunit.push_back(xmu);
+ if(config["ctrlmessage"])
+ std::string strnodename = "ctrlmessage";
+ for(YAML::const_iterator it= config[strnodename].begin(); it != config[strnodename].end();++it)
+ if(config[strnodename][strtitle]["msgname"]&&config[strnodename][strtitle]["buffersize"]&&config[strnodename][strtitle]["buffercount"])
+ strmsgname = config[strnodename][strtitle]["msgname"].as<std::string>();
+ xmu.mnBufferSize = config[strnodename][strtitle]["buffersize"].as<int>();
+ xmu.mnBufferCount = config[strnodename][strtitle]["buffercount"].as<int>();
+ if(config[strnodename][strtitle]["bimportant"])
+ std::string strimportant = config[strnodename][strtitle]["bimportant"].as<std::string>();
+ if(strimportant == "true")
+ xmu.mbImportant = true;
+ if(config[strnodename][strtitle]["keeptime"])
+ std::string strkeep = config[strnodename][strtitle]["keeptime"].as<std::string>();
+ xmu.mnkeeptime = atoi(strkeep.data());
+ mvectorctrlmsgunit.push_back(xmu);
+void grpcpc::sharequerymsg(iv::cloud::cloudmsg *pxmsg)
+ int nsize = pxmsg->xclouddata_size();
+ for(i=0;i<nsize;i++)
+ int j;
+ int nquerysize = mvectormsgunit.size();
+ for(j=0;j<nquerysize;j++)
+ if(strncmp(pxmsg->xclouddata(i).msgname().data(), mvectormsgunit[j].mstrmsgname,255) == 0)
+ qDebug("size is %d ",pxmsg->xclouddata(i).data().size());
+ iv::modulecomm::ModuleSendMsg(mvectormsgunit[j].mpa,pxmsg->xclouddata(i).data().data(),pxmsg->xclouddata(i).data().size());
+void grpcpc::UpdateData(const char *strdata, const unsigned int nSize,const char * strmemname)
+ int nsize = mvectorctrlmsgunit.size();
+ if(strncmp(strmemname,mvectorctrlmsgunit[i].mstrmsgname,255) == 0)
+ char * strtem = new char[nSize];
+ memcpy(strtem,strdata,nSize);
+ mvectorctrlmsgunit[i].mpstrmsgdata.reset(strtem);
+ mvectorctrlmsgunit[i].mndatasize = nSize;
+ mvectorctrlmsgunit[i].mbRefresh = true;
+std::string grpcpc::GetVIN()
+ return gstrVIN;
+//int gnPicNum[NUM_CAM];
+//QMutex gMutexPic[NUM_CAM];
+//qint64 gnTimeSecond[NUM_CAM];
+void grpcpc::threadpicdownload(int nCamPos)
+ std::cout<<"thread cam "<<nCamPos<<"run"<<std::endl;
+ std::string strcclientid = "test";
+ iv::PicDownReqThread request;
+ iv::PicDownReplyThread reply;
+ // ClientContext context;
+ while(true)
+ std::shared_ptr<char> pstr_ptr;
+ if((nCamPos<0)||(nCamPos >= NUM_CAM))
+ std::cout<<"Cam Pos Error. "<<"Pos: "<<nCamPos<<" TOTAL:"<<NUM_CAM<<std::endl;
+ request.set_strclientid(strcclientid);
+ request.set_ncampos(nCamPos);
+ qint64 time1 = QDateTime::currentMSecsSinceEpoch();
+ Status status = stub_->querypic(&context, request, &reply);
+ if(reply.nres() == 1)
+ std::cout<<nCamPos<<":pic time is "<<reply.npictime()<<std::endl;
+ mMutexPic.lock();
+ iv::modulecomm::ModuleSendMsg(mpaPic[nCamPos],reply.xdata().data(),reply.xdata().size());
+ mMutexPic.unlock();
+// iv::cloud::cloudmsg xmsg;
+// if(xmsg.ParseFromArray(reply.xdata().data(),reply.xdata().size()))
+// sharectrlmsg(&xmsg);
+ std::cout<<nCamPos<<" RPC Exceed Time, Create New stub_"<<std::endl;
@@ -0,0 +1,109 @@
+#ifndef GRPCPC_H
+#define GRPCPC_H
+#include <QThread>
+#include <yaml-cpp/yaml.h>
+#include <vector>
+#include <memory>
+#include "cloud.pb.h"
+#include <string>
+#include <grpcpp/grpcpp.h>
+#include "uploadthreadmsg.grpc.pb.h"
+#ifndef NUM_CAM
+#define NUM_CAM 4
+#ifndef NUM_THREAD_PERCAM
+#define NUM_THREAD_PERCAM 4
+using grpc::Channel;
+using grpc::ClientContext;
+using grpc::Status;
+struct msgunit
+ char mstrmsgname[256];
+ int mnBufferSize = 10000;
+ int mnBufferCount = 1;
+ void * mpa;
+ std::shared_ptr<char> mpstrmsgdata;
+ int mndatasize = 0;
+ bool mbRefresh = false;
+ bool mbImportant = false;
+ int mnkeeptime = 100;
+class grpcpc : public QThread
+ grpcpc(std::string stryamlpath);
+ void run();
+ std::string gstrserverip = "111.33.136.149";//"192.168.14.98";//"127.0.0.1";// "140.143.237.38";
+ std::string gstrserverport = "50051";//"9000";
+ std::string gstruploadinterval = "100";
+ void * gpa;
+ QMutex gMutexMsg;
+ std::vector<iv::msgunit> mvectormsgunit;
+ std::vector<iv::msgunit> mvectorctrlmsgunit;
+ std::string gstrVIN = "AAAAAAAAAAAAAAAAA";
+ std::string gstrqueryMD5 = "5d41402abc4b2a76b9719d911017c592";
+ std::string gstrctrlMD5 = "5d41402abc4b2a76b9719d911017c592";
+ int gindex = 0;
+ void dec_yaml(const char * stryamlpath);
+ void sharequerymsg(iv::cloud::cloudmsg * pxmsg);
+ void UpdateData(const char * strdata,const unsigned int nSize,const char * strmemname);
+ std::string GetVIN();
+ void threadpicdownload(int nCamPos);
+ void * mpaPic[NUM_CAM];
+ std::string mstrpicmsgname[NUM_CAM];
+ std::thread * mpThread[NUM_CAM * NUM_THREAD_PERCAM];
+ QMutex mMutexPic;
+#endif // GRPCPC_H
@@ -0,0 +1,64 @@
+#include "clientime.h"
+clientime::clientime()
+iv::clientinfo * clientime::FindClientInfo(std::string strclientid)
+ bool bFind = false;
+ unsigned int nPos= 0;
+ for(i=0;i<mvectorclient.size();i++)
+ if(strclientid == mvectorclient[i].mstrclientid)
+ bFind = true;
+ nPos = i;
+ if(bFind)
+ return &mvectorclient[nPos];
+ iv::clientinfo xclient;
+ xclient.mstrclientid = strclientid;
+ for(i=0;i<CAM_NUM;i++)
+ xclient.mnCamLastTime[i] = 0;
+ mvectorclient.push_back(xclient);
+ return &mvectorclient[mvectorclient.size() -1];
+int clientime::SetClientCamLastTime(std::string strclientid, int nCamPos, qint64 nLastTime)
+ if((nCamPos<0)||(nCamPos >= CAM_NUM))
+ return -1;
+ mMutex.lock();
+ iv::clientinfo * pclient = FindClientInfo(strclientid);
+ pclient->mnCamLastTime[nCamPos] = nLastTime;
+ mMutex.unlock();
+int clientime::GetClientCamLastTime(std::string strclientid, int nCamPos, qint64 &nLastTime)
+ nLastTime = pclient->mnCamLastTime[nCamPos];
@@ -0,0 +1,40 @@
+#ifndef CLIENTIME_H
+#define CLIENTIME_H
+#ifndef CAM_NUM
+#define CAM_NUM 4
+struct clientinfo
+ std::string mstrclientid;
+ qint64 mnCamLastTime[CAM_NUM];
+class clientime
+ clientime();
+ std::vector<iv::clientinfo> mvectorclient;
+ QMutex mMutex;
+ inline iv::clientinfo * FindClientInfo(std::string strclientid);
+ int GetClientCamLastTime(std::string strclientid,int nCamPos,qint64 & nLastTime);
+ int SetClientCamLastTime(std::string strclientid,int nCamPos,qint64 nLastTime);
+#endif // CLIENTIME_H
@@ -0,0 +1,210 @@
+#include "cumsgbuffer.h"
+cumsgbuffer::cumsgbuffer()
+void cumsgbuffer::addmsg(int id, qint64 ntime, std::string strVIN, std::string strqueryMD5, std::string strctrlMD5, std::vector<char> *pxdata,bool bImportant,int nkeeptime)
+ qDebug("ntime is %lld",ntime);
+ iv::cumsg * pmsg = 0;
+ int nsize = mvectormsg.size();
+ if(strncmp(mvectormsg[i].strVIN.data(),strVIN.data(),255) == 0)
+ pmsg = &mvectormsg[i];
+ if(pmsg == 0)
+ iv::cumsg cmsg;
+ cmsg.id = id;
+ cmsg.ntime = ntime;
+ cmsg.strVIN = strVIN;
+ cmsg.strqueryMD5 = strqueryMD5;
+ cmsg.strctrlMD5 = strctrlMD5;
+ if(pxdata->size() > 0)
+ cmsg.xdata.resize(pxdata->size());
+ memcpy(cmsg.xdata.data(),pxdata->data(),pxdata->size());
+ cmsg.mlastuptime = QDateTime::currentMSecsSinceEpoch();
+ cmsg.mbImportant = bImportant;
+ cmsg.mkeeptime = nkeeptime;
+ cmsg.mbhavequery = false;
+ mvectormsg.push_back(cmsg);
+ if((pmsg->mbImportant != true)||(pmsg->mbhavequery)||((QDateTime::currentMSecsSinceEpoch() - pmsg->mlastuptime)>=pmsg->mkeeptime))
+ pmsg->id = id;
+ pmsg->ntime = ntime;
+ pmsg->mbImportant = bImportant;
+ pmsg->mbhavequery = false;
+ pmsg->mlastuptime = QDateTime::currentMSecsSinceEpoch();
+ pmsg->mkeeptime = nkeeptime;
+ pmsg->strqueryMD5 = strqueryMD5;
+ pmsg->strctrlMD5 = strctrlMD5;
+ pmsg->xdata.clear();
+ if(pxdata->size()>0)
+ pmsg->xdata.resize(pxdata->size());
+ memcpy(pmsg->xdata.data(),pxdata->data(),pxdata->size());
+int cumsgbuffer::getmsg(std::string strVIN,std::string strqueryMD5, qint64 nlasttime, int &id, qint64 &ntime, std::vector<char> *pxdata)
+ std::cout<<" no this vin data"<<std::endl;;
+ if(strqueryMD5 != pmsg->strqueryMD5)
+ std::cout<<" query error."<<std::endl;
+ return -2;
+ pmsg->mbhavequery = true;
+ if(nlasttime == pmsg->ntime)
+ id = pmsg->id;
+ ntime = pmsg->ntime;
+ pxdata->clear();
+ int ndatasize = pmsg->xdata.size();
+ pxdata->resize(ndatasize);
+ memcpy(pxdata->data(),pmsg->xdata.data(),ndatasize);
+ return 1;
+void cumsgbuffer::addPicData(std::string strVIN, const char *strdata, const unsigned int ndatasize,
+ qint64 npictime, int nCamPos)
+ std::cout<<" Not Found buf. Need Data Prepare."<<std::endl;
+ if((nCamPos<0)||(nCamPos>= CAM_NUM))
+ std::cout<<"Camera Postion error . nCamPos = "<<nCamPos<<std::endl;
+ iv::PicData xPicData;
+ xPicData.mdata_ptr = std::shared_ptr<char>(new char[ndatasize]);
+ memcpy(xPicData.mdata_ptr.get(),strdata,ndatasize);
+ xPicData.mdatasize = ndatasize;
+ xPicData.mnMsgTime = npictime;
+ pmsg->mpicbuf[nCamPos].AddData(xPicData);
+int cumsgbuffer::getPicData(std::string strVIN, std::string strqueryMD5,std::shared_ptr<char> &pdata_ptr,
+ unsigned int &ndatasize,std::string strclientid, int nCamPos,qint64 & nPicTime)
+ std::cout<<"cumsgbuffer::getPicData Camera Postion error . nCamPos = "<<nCamPos<<std::endl;
+ qint64 nLastPicTime = 0;
+ if(mclienttime.GetClientCamLastTime(strclientid,nCamPos,nLastPicTime) < 0)
+ std::cout<<"cumsgbuffer::getPicData Can't Get Camera LastTime"<<std::endl;
+ return -4;
+ int nrtn = pmsg->mpicbuf[nCamPos].GetData(nLastPicTime,xPicData);
+ if(nrtn == 1)
+ pdata_ptr = xPicData.mdata_ptr;
+ ndatasize = xPicData.mdatasize;
+ nPicTime = nLastPicTime;
+ mclienttime.SetClientCamLastTime(strclientid,nCamPos,nLastPicTime);
+ return nrtn;
@@ -0,0 +1,70 @@
+#ifndef CUMSGBUFFER_H
+#define CUMSGBUFFER_H
+#include <picbuf.h>
+struct cumsg
+ int id;
+ qint64 ntime;
+ std::string strVIN;
+ std::string strqueryMD5;
+ std::string strctrlMD5;
+ std::vector<char> xdata;
+ qint64 mlastuptime; //更新时间
+ int mkeeptime;
+ bool mbhavequery = false;
+ PicBuf mpicbuf[CAM_NUM];
+class cumsgbuffer
+ cumsgbuffer();
+ std::vector<iv::cumsg> mvectormsg;
+ clientime mclienttime;
+ void addmsg(int id,qint64 ntime,std::string strVIN,std::string strqueryMD5,
+ std::string strctrlMD5,std::vector<char> * pxdata,bool bImportant,int nkeeptime);
+ //if no new msg return 0
+ // -1 no this vin
+ // -2 queryMD5 error
+ int getmsg(std::string strVIN,std::string strqueryMD5,qint64 nlasttime, int & id,qint64 & ntime,
+ std::vector<char> * pxdata);
+ void addPicData(std::string strVIN,const char * strdata,const unsigned int ndatasize,qint64 npictime,int nCamPos);
+ int getPicData(std::string strVIN,std::string strqueryMD5,std::shared_ptr<char> & pdata_ptr,unsigned int & ndatasize,
+ std::string strclientid,int nCamPos,qint64 & nPicTime);
+#endif // CUMSGBUFFER_H
@@ -0,0 +1,59 @@
+QT -= gui
+QMAKE_LFLAGS += -no-pie
+# any Qt feature that has been marked deprecated (the exact warnings
+# You can also make your code fail to compile if it uses deprecated APIs.
+ ../../include/msgtype/uploadthreadmsg.pb.cc \
+ ../driver_cloud_grpc_thread/uploadthreadmsg.grpc.pb.cc \
+ cumsgbuffer.cpp \
+ main.cpp \
+ pcmsgbuffer.cpp \
+ picbuf.cpp \
+ clientime.cpp
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+!include(../../../include/ivgrpc.pri ) {
+ error( "Couldn't find the ivgrpc.pri file!" )
+INCLUDEPATH += $$PWD/../driver_cloud_grpc_thread
+ ../../include/msgtype/uploadthreadmsg.pb.h \
+ ../driver_cloud_grpc_thread/uploadthreadmsg.grpc.pb.h \
+ cumsgbuffer.h \
+ pcmsgbuffer.h \
+ picbuf.h \
+ clientime.h
@@ -0,0 +1,208 @@
+#include "pcmsgbuffer.h"
+#include <grpcpp/health_check_service_interface.h>
+#include <grpcpp/ext/proto_server_reflection_plugin.h>
+using grpc::Server;
+using grpc::ServerBuilder;
+using grpc::ServerContext;
+static cumsgbuffer gcumsgbuf;
+static pcmsgbuffer gpcmsgbuf;
+// Logic and data behind the server's behavior.
+class UploadServiceImpl final : public iv::UploadThread::Service {
+ Status uploaddata(ServerContext* context, const iv::UploadRequestThread* request,
+ iv::UploadReplyThread* reply) override {
+ std::vector<char> xvectordata;
+ qDebug("size is %d",request->xdata().size());
+ if(request->xdata().size()>0)
+ xvectordata.resize(request->xdata().size());
+ memcpy(xvectordata.data(),request->xdata().data(),request->xdata().size());
+ gcumsgbuf.addmsg(request->id(),request->ntime(),request->strvin(),request->strquerymd5(),request->strctrlmd5(),
+ &xvectordata,request->bimportant(),request->kepptime());
+ // std::string strVIN,strctrlMD5;
+ std::vector<char > xvectorctrldata;
+ int nres = gpcmsgbuf.getmsg(request->strvin(),request->strctrlmd5(),id,ntime,&xvectorctrldata);
+ reply->set_nres(nres);
+ reply->set_nreqsendtime(request->nsendtime());
+ if(nres == 1)
+ reply->set_xdata(xvectorctrldata.data(),xvectorctrldata.size());
+// char * strdata = new char[10000000];
+// qint64 time = QDateTime::currentMSecsSinceEpoch();
+// memcpy(strdata,&time,8);
+// reply->set_data(strdata,10000000);
+// delete strdata;
+ return Status::OK;
+ Status queryctrl(ServerContext* context, const iv::queryReqThread* request,
+ iv::queryReplyThread* reply) override {
+ std::vector<char > xvectorquerydata;
+ gpcmsgbuf.addmsg(request->id(),request->ntime(),request->strvin(),request->strctrlmd5(),&xvectordata,
+ request->bimportant(),request->kepptime());
+ int nres = gcumsgbuf.getmsg(request->strvin(),request->strquerymd5(),request->nlasttime(),id,ntime,&xvectorquerydata);
+ if(nres > 0)
+ reply->set_xdata(xvectorquerydata.data(),xvectorquerydata.size());
+ reply->set_id(id);
+ reply->set_ntime(ntime);
+ Status uploadpic(ServerContext* context, const iv::PicUpRequestThread* request,
+ iv::PicUpReplyThread* reply) override {
+ gcumsgbuf.addPicData(request->strvin(),request->xdata().data(),
+ request->xdata().size(),request->npictime(),request->ncampos());
+ reply->set_nres(0);
+ Status querypic(grpc::ServerContext *context, const iv::PicDownReqThread *request, iv::PicDownReplyThread *response) override {
+ std::shared_ptr<char> pstr_data;
+ unsigned int ndatasize;
+ qint64 nPicTime;
+ int nres =gcumsgbuf.getPicData(request->strvin(),request->strquerymd5(),pstr_data,ndatasize,request->strclientid(), request->ncampos(),nPicTime);
+ response->set_nres(nres);
+ response->set_ncampos(request->ncampos());
+ response->set_npictime(nPicTime);
+ response->set_xdata(pstr_data.get(),ndatasize);
+// Status ctrl(ServerContext* context, const iv::ctrlreq* request,
+// iv::ctrlReply * reply) override {
+// std::vector<char> xvectordata;
+// if(request->data().size()>0)
+// xvectordata.resize(request->data().size());
+// memcpy(xvectordata.data(),request->data().data(),request->data().size());
+// int nid = gpcmsgbuf.addmsg(request->id(),request->ntime(),request->strvin(),request->strctrlmd5(),&xvectordata,
+// request->bimportant(),request->kepptime());
+// reply->set_nsendid(nid);
+// return Status::OK;
+void RunServer() {
+ std::string server_address("0.0.0.0:50051");
+ UploadServiceImpl service;
+ grpc::EnableDefaultHealthCheckService(true);
+// grpc::reflection::InitProtoReflectionServerBuilderPlugin();
+ ServerBuilder builder;
+ // Listen on the given address without any authentication mechanism.
+ builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
+ builder.SetMaxReceiveMessageSize(300000000);
+ // builder.SetMaxMessageSize(100000000);
+// builder.SetMaxSendMessageSize(100000000);
+ // Register "service" as the instance through which we'll communicate with
+ // clients. In this case it corresponds to an *synchronous* service.
+ builder.RegisterService(&service);
+ // Finally assemble the server.
+ std::unique_ptr<Server> server(builder.BuildAndStart());
+ std::cout << "Server listening on " << server_address << std::endl;
+ // Wait for the server to shutdown. Note that some other thread must be
+ // responsible for shutting down the server for this call to ever return.
+ server->Wait();
+ QCoreApplication a(argc, argv);
+ gpcmsgbuf.start();
+ RunServer();
@@ -0,0 +1,171 @@
+pcmsgbuffer::pcmsgbuffer()
+void pcmsgbuffer::run()
+ qint64 nowtime = QDateTime::currentMSecsSinceEpoch();
+ for(i=0;i<mvectorpcmsgstate.size();i++)
+ if((nowtime - mvectorpcmsgstate[i].nsendtime) > OVERTIME)
+ mvectorpcmsgstate.erase(mvectorpcmsgstate.begin() + i);
+ i--;
+ msleep(100);
+unsigned int pcmsgbuffer::addmsg(int id, qint64 ntime, std::string strVIN, std::string strctrlMD5, std::vector<char> *pxdata,bool bImportant,int nkeeptime)
+ unsigned int nrtn;
+ iv::pcmsg * pmsg = 0;
+ iv::pcmsg cmsg;
+ cmsg.nsendid = muid;
+ nrtn = muid;
+ muid++;
+ iv::pcmsgstate xpms;xpms.nsendid = cmsg.nsendid;
+ xpms.nsendtime = QDateTime::currentMSecsSinceEpoch();
+ mvectorpcmsgstate.push_back(xpms);
+ if((pmsg->mbImportant != true)||((QDateTime::currentMSecsSinceEpoch() - pmsg->mlastuptime)>=pmsg->mkeeptime))
+ changesendstate(pmsg->nsendid,-2);
+ pmsg->nsendid = muid;
+ // cmsg.mlastuptime = QDateTime::currentMSecsSinceEpoch();
+ iv::pcmsgstate xpms;xpms.nsendid = pmsg->nsendid;
+int pcmsgbuffer::getmsg(std::string strVIN, std::string strctrlMD5, int &id, qint64 &ntime, std::vector<char> *pxdata)
+ int npos;
+ npos = i;
+ if(strctrlMD5 != pmsg->strctrlMD5)
+ std::cout<<" ctrl error."<<std::endl;
+ changesendstate(pmsg->nsendid,-1);
+ changesendstate(pmsg->nsendid,1);
+ mvectormsg.erase(mvectormsg.begin()+npos);
+void pcmsgbuffer::changesendstate(int nsendid, int nstate)
+ int nstatesize = mvectorpcmsgstate.size();
+ for(i=0;i<nstatesize;i++)
+ if(nsendid == mvectorpcmsgstate[i].nsendid)
+ mvectorpcmsgstate[i].nstate = nstate; //Send OK
+int pcmsgbuffer::querysendstate(int nsendid)
+ int nrtn = -2;
+ nrtn = mvectorpcmsgstate[i].nstate;
@@ -0,0 +1,66 @@
+#ifndef PCMSGBUFFER_H
+#define PCMSGBUFFER_H
+struct pcmsg
+ unsigned int nsendid; //send id
+struct pcmsgstate
+ qint64 nsendtime;
+ unsigned int nsendid;
+ int nstate = 0; //0 wait send 1 send ok -1 md5 error -2 timeout.
+class pcmsgbuffer:public QThread
+ pcmsgbuffer();
+ std::vector<iv::pcmsg> mvectormsg;
+ std::vector<iv::pcmsgstate> mvectorpcmsgstate;
+ const int OVERTIME = 60000; //60 seconds
+ unsigned int muid = 0;
+ unsigned int addmsg(int id,qint64 ntime,std::string strVIN,
+ int getmsg(std::string strVIN,std::string strctrlMD5,int & id,qint64 & ntime,
+ int querysendstate(int nsendid);
+ void changesendstate(int nsendid,int nstate);
+#endif // PCMSGBUFFER_H
@@ -0,0 +1,125 @@
+#include "picbuf.h"
+PicBuf::PicBuf()
+void PicBuf::AddData(iv::PicData xPicData)
+ // std::cout<<"pic time is "<<xPicData.mnMsgTime<<std::endl;
+ qint64 xsecond = QDateTime::currentMSecsSinceEpoch()/1000;
+ mnFrameSecondCount++;
+ if(xsecond != mnSecondTime)
+ mnSecondTime = xsecond;
+ mnFrameRate = mnFrameSecondCount;
+ mnFrameSecondCount = 0;
+ std::cout<<"pic framefate: "<<mnFrameRate<<std::endl;
+ static int nunusual = 0;
+ mMutexBuf.lock();
+ if((xPicData.mnMsgTime + mBufTime*30) < mLastBufTime)
+ nunusual++;
+ nunusual = 0;
+ if(nunusual > 10)
+ std::cout<<" Time Unusual.Reset Buffer"<<std::endl;
+ mvectordata_ptr.clear();
+ if(mvectordata_ptr.size() == 0)
+ mvectordata_ptr.push_back(xPicData);
+ mLastBufTime = xPicData.mnMsgTime;
+ mMutexBuf.unlock();
+ if(xPicData.mnMsgTime > mLastBufTime)
+ for(j=0;j<mvectordata_ptr.size();j++)
+ if(mvectordata_ptr.at(j).mnMsgTime > xPicData.mnMsgTime)
+ mvectordata_ptr.insert(mvectordata_ptr.begin()+j,xPicData);
+ for(i=0;i<(int)(mvectordata_ptr.size());i++)
+ if(abs(mLastBufTime - mvectordata_ptr.at(i).mnMsgTime) > mBufTime)
+ mvectordata_ptr.erase(mvectordata_ptr.begin() + i);
+int PicBuf::GetData(qint64 &nLastTime, iv::PicData &xPicData)
+ int nrtn = 0;
+ if(nLastTime > mLastBufTime)
+ nLastTime = mLastBufTime;
+ for(i=0;i<mvectordata_ptr.size();i++)
+ if(mvectordata_ptr.at(i).mnMsgTime > (mLastBufTime - mnReceiveBufTime ))
+ break; //becuase in this time Data not complete.
+ if(mvectordata_ptr.at(i).mnMsgTime > nLastTime)
+ nLastTime = mvectordata_ptr.at(i).mnMsgTime;
+ xPicData = mvectordata_ptr.at(i);
+ nrtn = 1;
+PicBuf::PicBuf(const PicBuf &other)
+ mvectordata_ptr = other.mvectordata_ptr;
+ mBufTime = other.mBufTime;
+ mnReceiveBufTime = other.mnReceiveBufTime;
+ mLastBufTime = other.mLastBufTime;
+int PicBuf::GetFrameRate()
+ return mnFrameRate;
@@ -0,0 +1,41 @@
+#ifndef PICBUF_H
+#define PICBUF_H
+struct PicData
+ qint64 mnMsgTime;
+ std::shared_ptr<char> mdata_ptr;
+ unsigned int mdatasize;
+class PicBuf
+ std::vector<iv::PicData> mvectordata_ptr;
+ qint64 mBufTime = 500;
+ qint64 mnReceiveBufTime = 50;
+ qint64 mLastBufTime = 0;
+ QMutex mMutexBuf;
+ int mnFrameRate = 0;
+ qint64 mnSecondTime = 0; //Time Second.
+ int mnFrameSecondCount =0; //Last Second Receive message
+ PicBuf();
+ PicBuf(const PicBuf & other);
+ void AddData(iv::PicData xPicData);
+ int GetData(qint64 & nLastTime,iv::PicData & xPicData); //0 No Data 1 Have Data
+ int GetFrameRate();
+#endif // PICBUF_H
+system(protoc -I=./../../include/proto3 --cpp_out=./../../include/msgtype ./../../include/proto3/uploadthreadmsg.proto)
+ ../../include/msgtype/cloud.pb.cc \
+ grpcclient.cpp \
+ uploadthreadmsg.grpc.pb.cc
+!include(../../../include/ivyaml-cpp.pri ) {
+ error( "Couldn't find the ivyaml-cpp.pri file!" )
+ ../../include/msgtype/cloud.pb.h \
+ grpcclient.h \
+ uploadthreadmsg.grpc.pb.h
@@ -0,0 +1,48 @@
+server : 47.96.250.93
+port : 50051
+uploadinterval : 100
+skip : 2 # 1 no skip 2 skip 50% 3 skip %66
+VIN : AAAAAAAAAAAAAAAAA
+queryMD5 : 5d41402abc4b2a76b9719d911017c592
+ctrlMD5 : 5d41402abc4b2a76b9719d911017c592
+uploadmessage:
+ usbpic:
+ msgname: compresspic
+ buffersize: 10000000
+ buffercount: 1
+ hcp2_gpsimu:
+ msgname: hcp2_gpsimu
+ buffersize: 100000
+# tracemap:
+# msgname: tracemap
+# buffersize: 10000000
+# buffercount: 1
+ simpletrace:
+ msgname: simpletrace
+ bimportant: true
+ keeptime: 3000
+ctrlmessage:
+ xodrsrc:
+ msgname: xodrsrc
+ buffersize: 1000
+ xodrreq:
+ msgname: xodrreq
+ remotectrl:
+ msgname: remotectrl
+ buffersize: 10000
@@ -0,0 +1,609 @@
+#include "grpcclient.h"
+grpcclient * ggrpcclient;
+ ggrpcclient->UpdateData(strdata,nSize,strmemname);
+void ListenPicData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
+ ggrpcclient->UpdatePicData(strdata,nSize,strmemname);
+grpcclient::grpcclient(std::string stryamlpath)
+ ggrpcclient = this;
+ mvectormsgunit[i].mpa = iv::modulecomm::RegisterRecv(mvectormsgunit[i].mstrmsgname,ListenData);
+ mvectorctrlmsgunit[i].mpa = iv::modulecomm::RegisterSend(mvectorctrlmsgunit[i].mstrmsgname,mvectorctrlmsgunit[i].mnBufferSize,
+ mvectorctrlmsgunit[i].mnBufferCount);
+ mpaPic[i] = iv::modulecomm::RegisterRecv(mstrpicmsgname[i].data(),ListenPicData);
+ mpThread[i*NUM_THREAD_PERCAM + j] = new std::thread(&grpcclient::threadpicupload,this,i);
+ mpicbuf[i].mnSkipBase = mnskip;
+grpcclient::~grpcclient()
+ std::cout<<" enter ~grpcclient"<<std::endl;
+ mbPicUpload = false;
+ requestInterruption();
+ while(this->isFinished() == false)
+ std::cout<<"now join grpcclient thread"<<std::endl;
+ mpThread[i*NUM_THREAD_PERCAM + j]->join();
+ iv::modulecomm::Unregister(mvectorctrlmsgunit[i].mpa);
+ iv::modulecomm::Unregister(mvectormsgunit[i].mpa);
+ std::cout<<"complete ~grpcclient"<<std::endl;
+void grpcclient::run()
+ iv::UploadRequestThread request;
+ iv::UploadReplyThread reply;
+ std::vector<qint64> xvectorlatency;
+ if((xTime.elapsed()-nlastsend)<ninterval)
+ if(mvectormsgunit[i].mbRefresh)
+ mvectormsgunit[i].mbRefresh = false;
+ if(mvectormsgunit[i].mbImportant)
+ if(mvectormsgunit[i].mnkeeptime > nkeeptime)
+ nkeeptime = mvectormsgunit[i].mnkeeptime;
+ xcloudunit.set_msgname(mvectormsgunit[i].mstrmsgname);
+ xcloudunit.set_data(mvectormsgunit[i].mpstrmsgdata.get(),mvectormsgunit[i].mndatasize);
+ char * strbuf = new char[nbytesize];
+ std::shared_ptr<char> pstrbuf;
+ pstrbuf.reset(strbuf);
+ if(xmsg.SerializeToArray(strbuf,nbytesize))
+ request.set_id(nid);
+ request.set_ntime(time1);
+ request.set_xdata(strbuf,nbytesize);
+ request.set_nsendtime(QDateTime::currentMSecsSinceEpoch());
+ request.set_nlatency(CalcLateny(xvectorlatency));
+ Status status = stub_->uploaddata(&context, request, &reply);
+ std::cout<<" data size is "<<nbytesize<<std::endl;
+ std::cout<<nid<<" upload successfully"<<std::endl;
+ xvectorlatency.push_back((QDateTime::currentMSecsSinceEpoch() - reply.nreqsendtime()));
+ while(xvectorlatency.size()>10)xvectorlatency.erase(xvectorlatency.begin());
+ if(xmsg.ParseFromArray(reply.xdata().data(),reply.xdata().size()))
+ sharectrlmsg(&xmsg);
+ std::this_thread::sleep_for(std::chrono::milliseconds(300));
+ std::cout<<" grpcclient:run complete."<<std::endl;
+void grpcclient::dec_yaml(const char * stryamlpath)
+ if(config["skip"])
+ std::string strskip = config["skip"].as<std::string>();
+ mnskip = atoi(strskip.data());
+ if(mnskip<1)mnskip = 1;
+ if(config["uploadmessage"])
+ for(YAML::const_iterator it= config["uploadmessage"].begin(); it != config["uploadmessage"].end();++it)
+ if(config["uploadmessage"][strtitle]["msgname"]&&config["uploadmessage"][strtitle]["buffersize"]&&config["uploadmessage"][strtitle]["buffercount"])
+ strmsgname = config["uploadmessage"][strtitle]["msgname"].as<std::string>();
+ xmu.mnBufferSize = config["uploadmessage"][strtitle]["buffersize"].as<int>();
+ xmu.mnBufferCount = config["uploadmessage"][strtitle]["buffercount"].as<int>();
+ if(config["uploadmessage"][strtitle]["bimportant"])
+ std::string strimportant = config["uploadmessage"][strtitle]["bimportant"].as<std::string>();
+ if(config["uploadmessage"][strtitle]["keeptime"])
+ std::string strkeep = config["uploadmessage"][strtitle]["keeptime"].as<std::string>();
+ if(!config["ctrlMD5"])
+void grpcclient::sharectrlmsg(iv::cloud::cloudmsg * pxmsg)
+ int nquerysize = mvectorctrlmsgunit.size();
+ if(strncmp(pxmsg->xclouddata(i).msgname().data(), mvectorctrlmsgunit[j].mstrmsgname,255) == 0)
+ // qDebug("size is %d ",pxmsg->xclouddata(i).data().size());
+ iv::modulecomm::ModuleSendMsg(mvectorctrlmsgunit[j].mpa,pxmsg->xclouddata(i).data().data(),pxmsg->xclouddata(i).data().size());
+void grpcclient::UpdateData(const char *strdata, const unsigned int nSize, const char *strmemname)
+ if(strncmp(strmemname,mvectormsgunit[i].mstrmsgname,255) == 0)
+ mvectormsgunit[i].mpstrmsgdata.reset(strtem);
+ mvectormsgunit[i].mndatasize = nSize;
+ mvectormsgunit[i].mbRefresh = true;
+void grpcclient::UpdatePicData(const char *strdata, const unsigned int nSize, const char *strmemname)
+ int npos = -1;
+ if(strncmp(strmemname,mstrpicmsgname[i].data(),255) == 0)
+ if(npos<0)
+ std::cout<<"grpcclient::UpdatePicData not found pic. msg name is "<<strmemname<<std::endl;
+ if(npos>= NUM_CAM)
+ std::cout<<"Camera count is "<<NUM_CAM<<" NOW camear is "<<npos<<std::endl;
+ mpicbuf[npos].mMutex.lock();
+ mpicbuf[npos].mnMsgTime = QDateTime::currentMSecsSinceEpoch();
+ mpicbuf[npos].mbRefresh = true;
+ mpicbuf[npos].mpstrmsgdata = std::shared_ptr<char>(new char[nSize]);
+ mpicbuf[npos].mDataSize = nSize;
+ memcpy(mpicbuf[npos].mpstrmsgdata.get(),strdata,nSize);
+ mpicbuf[npos].mMutex.unlock();
+ mpicbuf[npos].mwc.wakeAll();
+void grpcclient::threadpicupload(int nCamPos)
+ iv::PicUpRequestThread request;
+ iv::PicUpReplyThread reply;
+ while(mbPicUpload)
+ bool bUpdate = false;
+ qint64 nMsgTime = 0;
+ int nSize = 0;
+ qint64 npiclatency;
+ int nSkipBase = 1;
+ int nCount;
+ mpicbuf[nCamPos].mWaitMutex.lock();
+ mpicbuf[nCamPos].mwc.wait(&mpicbuf[nCamPos].mWaitMutex,100);
+ mpicbuf[nCamPos].mWaitMutex.unlock();
+ mpicbuf[nCamPos].mMutex.lock();
+ bUpdate = mpicbuf[nCamPos].mbRefresh;
+ if(bUpdate == true)
+ nMsgTime = mpicbuf[nCamPos].mnMsgTime;
+ mpicbuf[nCamPos].mbRefresh = false;
+ pstr_ptr = mpicbuf[nCamPos].mpstrmsgdata;
+ nSize = mpicbuf[nCamPos].mDataSize;
+ npiclatency = CalcLateny(mpicbuf[nCamPos].mvectorlatency);
+ nSkipBase = mpicbuf[nCamPos].mnSkipBase;
+ nCount = mpicbuf[nCamPos].mnCount;
+ mpicbuf[nCamPos].mnCount++;
+// if(npiclatency > 500)
+// if(mpicbuf[nCamPos].mnSkipBase<30)mpicbuf[nCamPos].mnSkipBase++;
+// if(npiclatency<300)
+// if(mpicbuf[nCamPos].mnSkipBase > mpicbuf[nCamPos].mnDefSkipBase)mpicbuf[nCamPos].mnSkipBase--;
+ std::cout<<"upload "<<nMsgTime<<" latency: "<<npiclatency<<" skip param: "<<nSkipBase<<std::endl;
+ mpicbuf[nCamPos].mMutex.unlock();
+ if(bUpdate == false)
+ // std::this_thread::sleep_for(std::chrono::milliseconds(10));
+ if(nCount%nSkipBase != 0)
+ request.set_npictime(nMsgTime);
+ request.set_xdata(pstr_ptr.get(),nSize);
+ request.set_nlatency(npiclatency);
+ Status status = stub_->uploadpic(&context, request, &reply);
+ qint64 nlaten = QDateTime::currentMSecsSinceEpoch() - time1;
+ mpicbuf[nCamPos].mvectorlatency.push_back(nlaten);
+ while(mpicbuf[nCamPos].mvectorlatency.size()>10)mpicbuf[nCamPos].mvectorlatency.erase(mpicbuf[nCamPos].mvectorlatency.begin());
+ std::cout<<"threadpicupload cam pos: "<<nCamPos<<" exit."<<std::endl;
+qint64 grpcclient::CalcLateny(std::vector<qint64> &xvectorlatency)
+ if(xvectorlatency.size() == 0)return 1000;
+ qint64 nLatencyTotal = 0;
+ for(i=0;i<xvectorlatency.size();i++)
+ nLatencyTotal = nLatencyTotal + xvectorlatency[i];
+ qint64 nLatencyAvg = nLatencyTotal/xvectorlatency.size();
+ return nLatencyAvg;
@@ -0,0 +1,128 @@
+#ifndef GRPCCLIENT_H
+#define GRPCCLIENT_H
+#include <QWaitCondition>
+struct threadpicunit
+ int mDataSize;
+ QMutex mWaitMutex;
+ QWaitCondition mwc;
+ std::vector<qint64> mvectorlatency;
+ int mnSkipBase = 2;
+ int mnDefSkipBase = 1;
+ int mnCount = 0;
+class grpcclient : public QThread
+ grpcclient(std::string stryamlpath);
+ ~grpcclient();
+ std::string gstrserverip = "127.0.0.1";//111.33.136.149";//"0.0.0.0";//"192.168.14.98";// "123.57.212.138";
+ std::string gstruploadinterval = "1000";
+ std::thread * guploadthread;
+ std::string gstrqueryMD5 = "5d41402abc4b2a76b9719d911017c591";//"5d41402abc4b2a76b9719d911017c592";
+ std::string gstrctrlMD5 = "5d41402abc4b2a76b9719d911017c591";
+ void UpdatePicData(const char * strdata,const unsigned int nSize,const char * strmemname);
+ void sharectrlmsg(iv::cloud::cloudmsg * pxmsg);
+ void threadpicupload(int nCamPos);
+ iv::threadpicunit mpicbuf[NUM_CAM];
+ bool mbPicUpload = true;
+ qint64 CalcLateny(std::vector<qint64> & xvectorlatency);
+ int mnskip = 2;
+#endif // GRPCCLIENT_H
@@ -0,0 +1,67 @@
+static QCoreApplication * gApp;
+static grpcclient * gpgrpcclient;
+// gApp->quit();
+ delete gpgrpcclient;
+ std::cout<<"driver_cloud_grpc_thread exit."<<std::endl;
+ showversion("driver_cloud_grpc_client");
+ RegisterIVBackTrace();
+ // std::thread * ptest = new std::thread(test);
+ // return a.exec();
+ char stryamlpath[256];
+ if(argc<2)
+ snprintf(stryamlpath,255,"driver_cloud_grpc_thread.yaml");
+// strncpy(stryamlpath,abs_ymlpath,255);
+ strncpy(stryamlpath,argv[1],255);
+// dec_yaml(stryamlpath);
+ grpcclient * pgrpcclient = new grpcclient(stryamlpath);
+ pgrpcclient->start();
+ gpgrpcclient = pgrpcclient;
@@ -0,0 +1,4 @@
+protoc -I=./../../include/proto3 --plugin=protoc-gen-grpc=/home/yuchuli/git/grpc-framework/build2/grpc_cpp_plugin --grpc_out=. ./../../include/proto3/uploadthreadmsg.proto
+protoc -I=./../../include/proto3 --cpp_out=./../../include/msgtype ./../../include/proto3/uploadthreadmsg.proto
@@ -0,0 +1,212 @@
+// Generated by the gRPC C++ plugin.
+// If you make any local change, they will be lost.
+// source: uploadthreadmsg.proto
+#include "uploadthreadmsg.pb.h"
+#include <functional>
+#include <grpcpp/impl/codegen/async_stream.h>
+#include <grpcpp/impl/codegen/async_unary_call.h>
+#include <grpcpp/impl/codegen/channel_interface.h>
+#include <grpcpp/impl/codegen/client_unary_call.h>
+#include <grpcpp/impl/codegen/client_callback.h>
+#include <grpcpp/impl/codegen/message_allocator.h>
+#include <grpcpp/impl/codegen/method_handler.h>
+#include <grpcpp/impl/codegen/rpc_service_method.h>
+#include <grpcpp/impl/codegen/server_callback.h>
+#include <grpcpp/impl/codegen/server_callback_handlers.h>
+#include <grpcpp/impl/codegen/server_context.h>
+#include <grpcpp/impl/codegen/service_type.h>
+#include <grpcpp/impl/codegen/sync_stream.h>
+static const char* UploadThread_method_names[] = {
+ "/iv.UploadThread/uploaddata",
+ "/iv.UploadThread/uploadpic",
+ "/iv.UploadThread/queryctrl",
+ "/iv.UploadThread/querypic",
+std::unique_ptr< UploadThread::Stub> UploadThread::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
+ (void)options;
+ std::unique_ptr< UploadThread::Stub> stub(new UploadThread::Stub(channel));
+ return stub;
+UploadThread::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel)
+ : channel_(channel), rpcmethod_uploaddata_(UploadThread_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_uploadpic_(UploadThread_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_queryctrl_(UploadThread_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_querypic_(UploadThread_method_names[3], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ {}
+::grpc::Status UploadThread::Stub::uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::iv::UploadReplyThread* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::iv::UploadRequestThread, ::iv::UploadReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_uploaddata_, context, request, response);
+void UploadThread::Stub::experimental_async::uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, std::function<void(::grpc::Status)> f) {
+ ::grpc::internal::CallbackUnaryCall< ::iv::UploadRequestThread, ::iv::UploadReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_uploaddata_, context, request, response, std::move(f));
+void UploadThread::Stub::experimental_async::uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_uploaddata_, context, request, response, reactor);
+::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>* UploadThread::Stub::PrepareAsyncuploaddataRaw(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::iv::UploadReplyThread, ::iv::UploadRequestThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_uploaddata_, context, request);
+::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>* UploadThread::Stub::AsyncuploaddataRaw(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncuploaddataRaw(context, request, cq);
+ result->StartCall();
+ return result;
+::grpc::Status UploadThread::Stub::uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::iv::PicUpReplyThread* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::iv::PicUpRequestThread, ::iv::PicUpReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_uploadpic_, context, request, response);
+void UploadThread::Stub::experimental_async::uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, std::function<void(::grpc::Status)> f) {
+ ::grpc::internal::CallbackUnaryCall< ::iv::PicUpRequestThread, ::iv::PicUpReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_uploadpic_, context, request, response, std::move(f));
+void UploadThread::Stub::experimental_async::uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_uploadpic_, context, request, response, reactor);
+::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>* UploadThread::Stub::PrepareAsyncuploadpicRaw(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::iv::PicUpReplyThread, ::iv::PicUpRequestThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_uploadpic_, context, request);
+::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>* UploadThread::Stub::AsyncuploadpicRaw(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) {
+ this->PrepareAsyncuploadpicRaw(context, request, cq);
+::grpc::Status UploadThread::Stub::queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::iv::queryReplyThread* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::iv::queryReqThread, ::iv::queryReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_queryctrl_, context, request, response);
+void UploadThread::Stub::experimental_async::queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, std::function<void(::grpc::Status)> f) {
+ ::grpc::internal::CallbackUnaryCall< ::iv::queryReqThread, ::iv::queryReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_queryctrl_, context, request, response, std::move(f));
+void UploadThread::Stub::experimental_async::queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_queryctrl_, context, request, response, reactor);
+::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>* UploadThread::Stub::PrepareAsyncqueryctrlRaw(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::iv::queryReplyThread, ::iv::queryReqThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_queryctrl_, context, request);
+::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>* UploadThread::Stub::AsyncqueryctrlRaw(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) {
+ this->PrepareAsyncqueryctrlRaw(context, request, cq);
+::grpc::Status UploadThread::Stub::querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::iv::PicDownReplyThread* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::iv::PicDownReqThread, ::iv::PicDownReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_querypic_, context, request, response);
+void UploadThread::Stub::experimental_async::querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, std::function<void(::grpc::Status)> f) {
+ ::grpc::internal::CallbackUnaryCall< ::iv::PicDownReqThread, ::iv::PicDownReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_querypic_, context, request, response, std::move(f));
+void UploadThread::Stub::experimental_async::querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_querypic_, context, request, response, reactor);
+::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>* UploadThread::Stub::PrepareAsyncquerypicRaw(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::iv::PicDownReplyThread, ::iv::PicDownReqThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_querypic_, context, request);
+::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>* UploadThread::Stub::AsyncquerypicRaw(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) {
+ this->PrepareAsyncquerypicRaw(context, request, cq);
+UploadThread::Service::Service() {
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ UploadThread_method_names[0],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< UploadThread::Service, ::iv::UploadRequestThread, ::iv::UploadReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](UploadThread::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::iv::UploadRequestThread* req,
+ ::iv::UploadReplyThread* resp) {
+ return service->uploaddata(ctx, req, resp);
+ }, this)));
+ UploadThread_method_names[1],
+ new ::grpc::internal::RpcMethodHandler< UploadThread::Service, ::iv::PicUpRequestThread, ::iv::PicUpReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ const ::iv::PicUpRequestThread* req,
+ ::iv::PicUpReplyThread* resp) {
+ return service->uploadpic(ctx, req, resp);
+ UploadThread_method_names[2],
+ new ::grpc::internal::RpcMethodHandler< UploadThread::Service, ::iv::queryReqThread, ::iv::queryReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ const ::iv::queryReqThread* req,
+ ::iv::queryReplyThread* resp) {
+ return service->queryctrl(ctx, req, resp);
+ UploadThread_method_names[3],
+ new ::grpc::internal::RpcMethodHandler< UploadThread::Service, ::iv::PicDownReqThread, ::iv::PicDownReplyThread, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ const ::iv::PicDownReqThread* req,
+ ::iv::PicDownReplyThread* resp) {
+ return service->querypic(ctx, req, resp);
+UploadThread::Service::~Service() {
+::grpc::Status UploadThread::Service::uploaddata(::grpc::ServerContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+::grpc::Status UploadThread::Service::uploadpic(::grpc::ServerContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response) {
+::grpc::Status UploadThread::Service::queryctrl(::grpc::ServerContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response) {
+::grpc::Status UploadThread::Service::querypic(::grpc::ServerContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response) {
+} // namespace iv
@@ -0,0 +1,914 @@
+// Original file comments:
+// Copyright 2015 gRPC authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+#ifndef GRPC_uploadthreadmsg_2eproto__INCLUDED
+#define GRPC_uploadthreadmsg_2eproto__INCLUDED
+#include <grpc/impl/codegen/port_platform.h>
+#include <grpcpp/impl/codegen/async_generic_service.h>
+#include <grpcpp/impl/codegen/client_context.h>
+#include <grpcpp/impl/codegen/completion_queue.h>
+#include <grpcpp/impl/codegen/proto_utils.h>
+#include <grpcpp/impl/codegen/rpc_method.h>
+#include <grpcpp/impl/codegen/status.h>
+#include <grpcpp/impl/codegen/stub_options.h>
+// The Upload service definition.
+class UploadThread final {
+ static constexpr char const* service_full_name() {
+ return "iv.UploadThread";
+ class StubInterface {
+ virtual ~StubInterface() {}
+ // Sends a Upload
+ virtual ::grpc::Status uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::iv::UploadReplyThread* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::UploadReplyThread>> Asyncuploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::UploadReplyThread>>(AsyncuploaddataRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::UploadReplyThread>> PrepareAsyncuploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::UploadReplyThread>>(PrepareAsyncuploaddataRaw(context, request, cq));
+ virtual ::grpc::Status uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::iv::PicUpReplyThread* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicUpReplyThread>> Asyncuploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicUpReplyThread>>(AsyncuploadpicRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicUpReplyThread>> PrepareAsyncuploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicUpReplyThread>>(PrepareAsyncuploadpicRaw(context, request, cq));
+ virtual ::grpc::Status queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::iv::queryReplyThread* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::queryReplyThread>> Asyncqueryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::queryReplyThread>>(AsyncqueryctrlRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::queryReplyThread>> PrepareAsyncqueryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::queryReplyThread>>(PrepareAsyncqueryctrlRaw(context, request, cq));
+ virtual ::grpc::Status querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::iv::PicDownReplyThread* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicDownReplyThread>> Asyncquerypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicDownReplyThread>>(AsyncquerypicRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicDownReplyThread>> PrepareAsyncquerypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicDownReplyThread>>(PrepareAsyncquerypicRaw(context, request, cq));
+ class experimental_async_interface {
+ virtual ~experimental_async_interface() {}
+ virtual void uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, std::function<void(::grpc::Status)>) = 0;
+ #ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
+ virtual void uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ #else
+ virtual void uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
+ #endif
+ virtual void uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, std::function<void(::grpc::Status)>) = 0;
+ virtual void uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
+ virtual void queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, std::function<void(::grpc::Status)>) = 0;
+ virtual void queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
+ virtual void querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, std::function<void(::grpc::Status)>) = 0;
+ virtual void querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
+ typedef class experimental_async_interface async_interface;
+ async_interface* async() { return experimental_async(); }
+ virtual class experimental_async_interface* experimental_async() { return nullptr; }
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::UploadReplyThread>* AsyncuploaddataRaw(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::UploadReplyThread>* PrepareAsyncuploaddataRaw(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicUpReplyThread>* AsyncuploadpicRaw(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicUpReplyThread>* PrepareAsyncuploadpicRaw(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::queryReplyThread>* AsyncqueryctrlRaw(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::queryReplyThread>* PrepareAsyncqueryctrlRaw(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicDownReplyThread>* AsyncquerypicRaw(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::PicDownReplyThread>* PrepareAsyncquerypicRaw(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) = 0;
+ class Stub final : public StubInterface {
+ Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);
+ ::grpc::Status uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::iv::UploadReplyThread* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>> Asyncuploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>>(AsyncuploaddataRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>> PrepareAsyncuploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>>(PrepareAsyncuploaddataRaw(context, request, cq));
+ ::grpc::Status uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::iv::PicUpReplyThread* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>> Asyncuploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>>(AsyncuploadpicRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>> PrepareAsyncuploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>>(PrepareAsyncuploadpicRaw(context, request, cq));
+ ::grpc::Status queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::iv::queryReplyThread* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>> Asyncqueryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>>(AsyncqueryctrlRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>> PrepareAsyncqueryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>>(PrepareAsyncqueryctrlRaw(context, request, cq));
+ ::grpc::Status querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::iv::PicDownReplyThread* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>> Asyncquerypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>>(AsyncquerypicRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>> PrepareAsyncquerypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>>(PrepareAsyncquerypicRaw(context, request, cq));
+ class experimental_async final :
+ public StubInterface::experimental_async_interface {
+ void uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, std::function<void(::grpc::Status)>) override;
+ void uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void uploaddata(::grpc::ClientContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
+ void uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, std::function<void(::grpc::Status)>) override;
+ void uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void uploadpic(::grpc::ClientContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
+ void queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, std::function<void(::grpc::Status)>) override;
+ void queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void queryctrl(::grpc::ClientContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
+ void querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, std::function<void(::grpc::Status)>) override;
+ void querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void querypic(::grpc::ClientContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
+ friend class Stub;
+ explicit experimental_async(Stub* stub): stub_(stub) { }
+ Stub* stub() { return stub_; }
+ Stub* stub_;
+ class experimental_async_interface* experimental_async() override { return &async_stub_; }
+ std::shared_ptr< ::grpc::ChannelInterface> channel_;
+ class experimental_async async_stub_{this};
+ ::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>* AsyncuploaddataRaw(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::UploadReplyThread>* PrepareAsyncuploaddataRaw(::grpc::ClientContext* context, const ::iv::UploadRequestThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>* AsyncuploadpicRaw(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::PicUpReplyThread>* PrepareAsyncuploadpicRaw(::grpc::ClientContext* context, const ::iv::PicUpRequestThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>* AsyncqueryctrlRaw(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::queryReplyThread>* PrepareAsyncqueryctrlRaw(::grpc::ClientContext* context, const ::iv::queryReqThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>* AsyncquerypicRaw(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::PicDownReplyThread>* PrepareAsyncquerypicRaw(::grpc::ClientContext* context, const ::iv::PicDownReqThread& request, ::grpc::CompletionQueue* cq) override;
+ const ::grpc::internal::RpcMethod rpcmethod_uploaddata_;
+ const ::grpc::internal::RpcMethod rpcmethod_uploadpic_;
+ const ::grpc::internal::RpcMethod rpcmethod_queryctrl_;
+ const ::grpc::internal::RpcMethod rpcmethod_querypic_;
+ static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
+ class Service : public ::grpc::Service {
+ Service();
+ virtual ~Service();
+ virtual ::grpc::Status uploaddata(::grpc::ServerContext* context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response);
+ virtual ::grpc::Status uploadpic(::grpc::ServerContext* context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response);
+ virtual ::grpc::Status queryctrl(::grpc::ServerContext* context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response);
+ virtual ::grpc::Status querypic(::grpc::ServerContext* context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response);
+ template <class BaseClass>
+ class WithAsyncMethod_uploaddata : public BaseClass {
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ WithAsyncMethod_uploaddata() {
+ ::grpc::Service::MarkMethodAsync(0);
+ ~WithAsyncMethod_uploaddata() override {
+ BaseClassMustBeDerivedFromService(this);
+ // disable synchronous version of this method
+ ::grpc::Status uploaddata(::grpc::ServerContext* /*context*/, const ::iv::UploadRequestThread* /*request*/, ::iv::UploadReplyThread* /*response*/) override {
+ abort();
+ void Requestuploaddata(::grpc::ServerContext* context, ::iv::UploadRequestThread* request, ::grpc::ServerAsyncResponseWriter< ::iv::UploadReplyThread>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
+ class WithAsyncMethod_uploadpic : public BaseClass {
+ WithAsyncMethod_uploadpic() {
+ ::grpc::Service::MarkMethodAsync(1);
+ ~WithAsyncMethod_uploadpic() override {
+ ::grpc::Status uploadpic(::grpc::ServerContext* /*context*/, const ::iv::PicUpRequestThread* /*request*/, ::iv::PicUpReplyThread* /*response*/) override {
+ void Requestuploadpic(::grpc::ServerContext* context, ::iv::PicUpRequestThread* request, ::grpc::ServerAsyncResponseWriter< ::iv::PicUpReplyThread>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
+ class WithAsyncMethod_queryctrl : public BaseClass {
+ WithAsyncMethod_queryctrl() {
+ ::grpc::Service::MarkMethodAsync(2);
+ ~WithAsyncMethod_queryctrl() override {
+ ::grpc::Status queryctrl(::grpc::ServerContext* /*context*/, const ::iv::queryReqThread* /*request*/, ::iv::queryReplyThread* /*response*/) override {
+ void Requestqueryctrl(::grpc::ServerContext* context, ::iv::queryReqThread* request, ::grpc::ServerAsyncResponseWriter< ::iv::queryReplyThread>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag);
+ class WithAsyncMethod_querypic : public BaseClass {
+ WithAsyncMethod_querypic() {
+ ::grpc::Service::MarkMethodAsync(3);
+ ~WithAsyncMethod_querypic() override {
+ ::grpc::Status querypic(::grpc::ServerContext* /*context*/, const ::iv::PicDownReqThread* /*request*/, ::iv::PicDownReplyThread* /*response*/) override {
+ void Requestquerypic(::grpc::ServerContext* context, ::iv::PicDownReqThread* request, ::grpc::ServerAsyncResponseWriter< ::iv::PicDownReplyThread>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag);
+ typedef WithAsyncMethod_uploaddata<WithAsyncMethod_uploadpic<WithAsyncMethod_queryctrl<WithAsyncMethod_querypic<Service > > > > AsyncService;
+ class ExperimentalWithCallbackMethod_uploaddata : public BaseClass {
+ ExperimentalWithCallbackMethod_uploaddata() {
+ ::grpc::Service::
+ ::grpc::Service::experimental().
+ MarkMethodCallback(0,
+ new ::grpc::internal::CallbackUnaryHandler< ::iv::UploadRequestThread, ::iv::UploadReplyThread>(
+ [this](
+ ::grpc::CallbackServerContext*
+ ::grpc::experimental::CallbackServerContext*
+ context, const ::iv::UploadRequestThread* request, ::iv::UploadReplyThread* response) { return this->uploaddata(context, request, response); }));}
+ void SetMessageAllocatorFor_uploaddata(
+ ::grpc::experimental::MessageAllocator< ::iv::UploadRequestThread, ::iv::UploadReplyThread>* allocator) {
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(0);
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::iv::UploadRequestThread, ::iv::UploadReplyThread>*>(handler)
+ ->SetMessageAllocator(allocator);
+ ~ExperimentalWithCallbackMethod_uploaddata() override {
+ virtual ::grpc::ServerUnaryReactor* uploaddata(
+ ::grpc::CallbackServerContext* /*context*/, const ::iv::UploadRequestThread* /*request*/, ::iv::UploadReplyThread* /*response*/)
+ virtual ::grpc::experimental::ServerUnaryReactor* uploaddata(
+ ::grpc::experimental::CallbackServerContext* /*context*/, const ::iv::UploadRequestThread* /*request*/, ::iv::UploadReplyThread* /*response*/)
+ { return nullptr; }
+ class ExperimentalWithCallbackMethod_uploadpic : public BaseClass {
+ ExperimentalWithCallbackMethod_uploadpic() {
+ MarkMethodCallback(1,
+ new ::grpc::internal::CallbackUnaryHandler< ::iv::PicUpRequestThread, ::iv::PicUpReplyThread>(
+ context, const ::iv::PicUpRequestThread* request, ::iv::PicUpReplyThread* response) { return this->uploadpic(context, request, response); }));}
+ void SetMessageAllocatorFor_uploadpic(
+ ::grpc::experimental::MessageAllocator< ::iv::PicUpRequestThread, ::iv::PicUpReplyThread>* allocator) {
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(1);
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::iv::PicUpRequestThread, ::iv::PicUpReplyThread>*>(handler)
+ ~ExperimentalWithCallbackMethod_uploadpic() override {
+ virtual ::grpc::ServerUnaryReactor* uploadpic(
+ ::grpc::CallbackServerContext* /*context*/, const ::iv::PicUpRequestThread* /*request*/, ::iv::PicUpReplyThread* /*response*/)
+ virtual ::grpc::experimental::ServerUnaryReactor* uploadpic(
+ ::grpc::experimental::CallbackServerContext* /*context*/, const ::iv::PicUpRequestThread* /*request*/, ::iv::PicUpReplyThread* /*response*/)
+ class ExperimentalWithCallbackMethod_queryctrl : public BaseClass {
+ ExperimentalWithCallbackMethod_queryctrl() {
+ MarkMethodCallback(2,
+ new ::grpc::internal::CallbackUnaryHandler< ::iv::queryReqThread, ::iv::queryReplyThread>(
+ context, const ::iv::queryReqThread* request, ::iv::queryReplyThread* response) { return this->queryctrl(context, request, response); }));}
+ void SetMessageAllocatorFor_queryctrl(
+ ::grpc::experimental::MessageAllocator< ::iv::queryReqThread, ::iv::queryReplyThread>* allocator) {
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(2);
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::iv::queryReqThread, ::iv::queryReplyThread>*>(handler)
+ ~ExperimentalWithCallbackMethod_queryctrl() override {
+ virtual ::grpc::ServerUnaryReactor* queryctrl(
+ ::grpc::CallbackServerContext* /*context*/, const ::iv::queryReqThread* /*request*/, ::iv::queryReplyThread* /*response*/)
+ virtual ::grpc::experimental::ServerUnaryReactor* queryctrl(
+ ::grpc::experimental::CallbackServerContext* /*context*/, const ::iv::queryReqThread* /*request*/, ::iv::queryReplyThread* /*response*/)
+ class ExperimentalWithCallbackMethod_querypic : public BaseClass {
+ ExperimentalWithCallbackMethod_querypic() {
+ MarkMethodCallback(3,
+ new ::grpc::internal::CallbackUnaryHandler< ::iv::PicDownReqThread, ::iv::PicDownReplyThread>(
+ context, const ::iv::PicDownReqThread* request, ::iv::PicDownReplyThread* response) { return this->querypic(context, request, response); }));}
+ void SetMessageAllocatorFor_querypic(
+ ::grpc::experimental::MessageAllocator< ::iv::PicDownReqThread, ::iv::PicDownReplyThread>* allocator) {
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(3);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::experimental().GetHandler(3);
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::iv::PicDownReqThread, ::iv::PicDownReplyThread>*>(handler)
+ ~ExperimentalWithCallbackMethod_querypic() override {
+ virtual ::grpc::ServerUnaryReactor* querypic(
+ ::grpc::CallbackServerContext* /*context*/, const ::iv::PicDownReqThread* /*request*/, ::iv::PicDownReplyThread* /*response*/)
+ virtual ::grpc::experimental::ServerUnaryReactor* querypic(
+ ::grpc::experimental::CallbackServerContext* /*context*/, const ::iv::PicDownReqThread* /*request*/, ::iv::PicDownReplyThread* /*response*/)
+ typedef ExperimentalWithCallbackMethod_uploaddata<ExperimentalWithCallbackMethod_uploadpic<ExperimentalWithCallbackMethod_queryctrl<ExperimentalWithCallbackMethod_querypic<Service > > > > CallbackService;
+ typedef ExperimentalWithCallbackMethod_uploaddata<ExperimentalWithCallbackMethod_uploadpic<ExperimentalWithCallbackMethod_queryctrl<ExperimentalWithCallbackMethod_querypic<Service > > > > ExperimentalCallbackService;
+ class WithGenericMethod_uploaddata : public BaseClass {
+ WithGenericMethod_uploaddata() {
+ ::grpc::Service::MarkMethodGeneric(0);
+ ~WithGenericMethod_uploaddata() override {
+ class WithGenericMethod_uploadpic : public BaseClass {
+ WithGenericMethod_uploadpic() {
+ ::grpc::Service::MarkMethodGeneric(1);
+ ~WithGenericMethod_uploadpic() override {
+ class WithGenericMethod_queryctrl : public BaseClass {
+ WithGenericMethod_queryctrl() {
+ ::grpc::Service::MarkMethodGeneric(2);
+ ~WithGenericMethod_queryctrl() override {
+ class WithGenericMethod_querypic : public BaseClass {
+ WithGenericMethod_querypic() {
+ ::grpc::Service::MarkMethodGeneric(3);
+ ~WithGenericMethod_querypic() override {
+ class WithRawMethod_uploaddata : public BaseClass {
+ WithRawMethod_uploaddata() {
+ ::grpc::Service::MarkMethodRaw(0);
+ ~WithRawMethod_uploaddata() override {
+ void Requestuploaddata(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ class WithRawMethod_uploadpic : public BaseClass {
+ WithRawMethod_uploadpic() {
+ ::grpc::Service::MarkMethodRaw(1);
+ ~WithRawMethod_uploadpic() override {
+ void Requestuploadpic(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ class WithRawMethod_queryctrl : public BaseClass {
+ WithRawMethod_queryctrl() {
+ ::grpc::Service::MarkMethodRaw(2);
+ ~WithRawMethod_queryctrl() override {
+ void Requestqueryctrl(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ class WithRawMethod_querypic : public BaseClass {
+ WithRawMethod_querypic() {
+ ::grpc::Service::MarkMethodRaw(3);
+ ~WithRawMethod_querypic() override {
+ void Requestquerypic(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ class ExperimentalWithRawCallbackMethod_uploaddata : public BaseClass {
+ ExperimentalWithRawCallbackMethod_uploaddata() {
+ MarkMethodRawCallback(0,
+ new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
+ context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->uploaddata(context, request, response); }));
+ ~ExperimentalWithRawCallbackMethod_uploaddata() override {
+ ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
+ ::grpc::experimental::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)
+ class ExperimentalWithRawCallbackMethod_uploadpic : public BaseClass {
+ ExperimentalWithRawCallbackMethod_uploadpic() {
+ MarkMethodRawCallback(1,
+ context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->uploadpic(context, request, response); }));
+ ~ExperimentalWithRawCallbackMethod_uploadpic() override {
+ class ExperimentalWithRawCallbackMethod_queryctrl : public BaseClass {
+ ExperimentalWithRawCallbackMethod_queryctrl() {
+ MarkMethodRawCallback(2,
+ context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->queryctrl(context, request, response); }));
+ ~ExperimentalWithRawCallbackMethod_queryctrl() override {
+ class ExperimentalWithRawCallbackMethod_querypic : public BaseClass {
+ ExperimentalWithRawCallbackMethod_querypic() {
+ MarkMethodRawCallback(3,
+ context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->querypic(context, request, response); }));
+ ~ExperimentalWithRawCallbackMethod_querypic() override {
+ class WithStreamedUnaryMethod_uploaddata : public BaseClass {
+ WithStreamedUnaryMethod_uploaddata() {
+ ::grpc::Service::MarkMethodStreamed(0,
+ new ::grpc::internal::StreamedUnaryHandler<
+ ::iv::UploadRequestThread, ::iv::UploadReplyThread>(
+ [this](::grpc::ServerContext* context,
+ ::grpc::ServerUnaryStreamer<
+ ::iv::UploadRequestThread, ::iv::UploadReplyThread>* streamer) {
+ return this->Streameduploaddata(context,
+ streamer);
+ }));
+ ~WithStreamedUnaryMethod_uploaddata() override {
+ // disable regular version of this method
+ // replace default version of method with streamed unary
+ virtual ::grpc::Status Streameduploaddata(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::iv::UploadRequestThread,::iv::UploadReplyThread>* server_unary_streamer) = 0;
+ class WithStreamedUnaryMethod_uploadpic : public BaseClass {
+ WithStreamedUnaryMethod_uploadpic() {
+ ::grpc::Service::MarkMethodStreamed(1,
+ ::iv::PicUpRequestThread, ::iv::PicUpReplyThread>(
+ ::iv::PicUpRequestThread, ::iv::PicUpReplyThread>* streamer) {
+ return this->Streameduploadpic(context,
+ ~WithStreamedUnaryMethod_uploadpic() override {
+ virtual ::grpc::Status Streameduploadpic(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::iv::PicUpRequestThread,::iv::PicUpReplyThread>* server_unary_streamer) = 0;
+ class WithStreamedUnaryMethod_queryctrl : public BaseClass {
+ WithStreamedUnaryMethod_queryctrl() {
+ ::grpc::Service::MarkMethodStreamed(2,
+ ::iv::queryReqThread, ::iv::queryReplyThread>(
+ ::iv::queryReqThread, ::iv::queryReplyThread>* streamer) {
+ return this->Streamedqueryctrl(context,
+ ~WithStreamedUnaryMethod_queryctrl() override {
+ virtual ::grpc::Status Streamedqueryctrl(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::iv::queryReqThread,::iv::queryReplyThread>* server_unary_streamer) = 0;
+ class WithStreamedUnaryMethod_querypic : public BaseClass {
+ WithStreamedUnaryMethod_querypic() {
+ ::grpc::Service::MarkMethodStreamed(3,
+ ::iv::PicDownReqThread, ::iv::PicDownReplyThread>(
+ ::iv::PicDownReqThread, ::iv::PicDownReplyThread>* streamer) {
+ return this->Streamedquerypic(context,
+ ~WithStreamedUnaryMethod_querypic() override {
+ virtual ::grpc::Status Streamedquerypic(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::iv::PicDownReqThread,::iv::PicDownReplyThread>* server_unary_streamer) = 0;
+ typedef WithStreamedUnaryMethod_uploaddata<WithStreamedUnaryMethod_uploadpic<WithStreamedUnaryMethod_queryctrl<WithStreamedUnaryMethod_querypic<Service > > > > StreamedUnaryService;
+ typedef Service SplitStreamedService;
+ typedef WithStreamedUnaryMethod_uploaddata<WithStreamedUnaryMethod_uploadpic<WithStreamedUnaryMethod_queryctrl<WithStreamedUnaryMethod_querypic<Service > > > > StreamedService;
+#endif // GRPC_uploadthreadmsg_2eproto__INCLUDED
@@ -25,6 +25,7 @@ namespace db {
static const char* dbservice_method_names[] = {
"/iv.db.dbservice/querylist",
"/iv.db.dbservice/querydata",
+ "/iv.db.dbservice/downdbfile",
std::unique_ptr< dbservice::Stub> dbservice::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
@@ -36,6 +37,7 @@ std::unique_ptr< dbservice::Stub> dbservice::NewStub(const std::shared_ptr< ::gr
dbservice::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel)
: channel_(channel), rpcmethod_querylist_(dbservice_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_querydata_(dbservice_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_downdbfile_(dbservice_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
{}
::grpc::Status dbservice::Stub::querylist(::grpc::ClientContext* context, const ::iv::db::listRequest& request, ::iv::db::listReply* response) {
@@ -84,6 +86,29 @@ void dbservice::Stub::experimental_async::querydata(::grpc::ClientContext* conte
return result;
+::grpc::Status dbservice::Stub::downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::iv::db::FiledbReply* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::iv::db::Filedbreq, ::iv::db::FiledbReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_downdbfile_, context, request, response);
+void dbservice::Stub::experimental_async::downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, std::function<void(::grpc::Status)> f) {
+ ::grpc::internal::CallbackUnaryCall< ::iv::db::Filedbreq, ::iv::db::FiledbReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_downdbfile_, context, request, response, std::move(f));
+void dbservice::Stub::experimental_async::downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_downdbfile_, context, request, response, reactor);
+::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>* dbservice::Stub::PrepareAsyncdowndbfileRaw(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::iv::db::FiledbReply, ::iv::db::Filedbreq, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_downdbfile_, context, request);
+::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>* dbservice::Stub::AsyncdowndbfileRaw(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) {
+ this->PrepareAsyncdowndbfileRaw(context, request, cq);
dbservice::Service::Service() {
AddMethod(new ::grpc::internal::RpcServiceMethod(
dbservice_method_names[0],
@@ -105,6 +130,16 @@ dbservice::Service::Service() {
::iv::db::dataReply* resp) {
return service->querydata(ctx, req, resp);
}, this)));
+ dbservice_method_names[2],
+ new ::grpc::internal::RpcMethodHandler< dbservice::Service, ::iv::db::Filedbreq, ::iv::db::FiledbReply, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](dbservice::Service* service,
+ const ::iv::db::Filedbreq* req,
+ ::iv::db::FiledbReply* resp) {
+ return service->downdbfile(ctx, req, resp);
dbservice::Service::~Service() {
@@ -124,6 +159,13 @@ dbservice::Service::~Service() {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+::grpc::Status dbservice::Service::downdbfile(::grpc::ServerContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response) {
} // namespace iv
} // namespace db
@@ -66,6 +66,13 @@ class dbservice final {
std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::dataReply>> PrepareAsyncquerydata(::grpc::ClientContext* context, const ::iv::db::dataRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::dataReply>>(PrepareAsyncquerydataRaw(context, request, cq));
+ virtual ::grpc::Status downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::iv::db::FiledbReply* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::FiledbReply>> Asyncdowndbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::FiledbReply>>(AsyncdowndbfileRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::FiledbReply>> PrepareAsyncdowndbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::FiledbReply>>(PrepareAsyncdowndbfileRaw(context, request, cq));
class experimental_async_interface {
virtual ~experimental_async_interface() {}
@@ -81,6 +88,12 @@ class dbservice final {
virtual void querydata(::grpc::ClientContext* context, const ::iv::db::dataRequest* request, ::iv::db::dataReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
+ virtual void downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, std::function<void(::grpc::Status)>) = 0;
+ virtual void downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0;
#ifdef GRPC_CALLBACK_API_NONEXPERIMENTAL
typedef class experimental_async_interface async_interface;
@@ -94,6 +107,8 @@ class dbservice final {
virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::listReply>* PrepareAsyncquerylistRaw(::grpc::ClientContext* context, const ::iv::db::listRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::dataReply>* AsyncquerydataRaw(::grpc::ClientContext* context, const ::iv::db::dataRequest& request, ::grpc::CompletionQueue* cq) = 0;
virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::dataReply>* PrepareAsyncquerydataRaw(::grpc::ClientContext* context, const ::iv::db::dataRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::FiledbReply>* AsyncdowndbfileRaw(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::iv::db::FiledbReply>* PrepareAsyncdowndbfileRaw(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) = 0;
class Stub final : public StubInterface {
@@ -112,6 +127,13 @@ class dbservice final {
std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::db::dataReply>> PrepareAsyncquerydata(::grpc::ClientContext* context, const ::iv::db::dataRequest& request, ::grpc::CompletionQueue* cq) {
return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::db::dataReply>>(PrepareAsyncquerydataRaw(context, request, cq));
+ ::grpc::Status downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::iv::db::FiledbReply* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>> Asyncdowndbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>>(AsyncdowndbfileRaw(context, request, cq));
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>> PrepareAsyncdowndbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>>(PrepareAsyncdowndbfileRaw(context, request, cq));
class experimental_async final :
public StubInterface::experimental_async_interface {
@@ -127,6 +149,12 @@ class dbservice final {
void querydata(::grpc::ClientContext* context, const ::iv::db::dataRequest* request, ::iv::db::dataReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
+ void downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, std::function<void(::grpc::Status)>) override;
+ void downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void downdbfile(::grpc::ClientContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response, ::grpc::experimental::ClientUnaryReactor* reactor) override;
friend class Stub;
explicit experimental_async(Stub* stub): stub_(stub) { }
@@ -142,8 +170,11 @@ class dbservice final {
::grpc::ClientAsyncResponseReader< ::iv::db::listReply>* PrepareAsyncquerylistRaw(::grpc::ClientContext* context, const ::iv::db::listRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::iv::db::dataReply>* AsyncquerydataRaw(::grpc::ClientContext* context, const ::iv::db::dataRequest& request, ::grpc::CompletionQueue* cq) override;
::grpc::ClientAsyncResponseReader< ::iv::db::dataReply>* PrepareAsyncquerydataRaw(::grpc::ClientContext* context, const ::iv::db::dataRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>* AsyncdowndbfileRaw(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::iv::db::FiledbReply>* PrepareAsyncdowndbfileRaw(::grpc::ClientContext* context, const ::iv::db::Filedbreq& request, ::grpc::CompletionQueue* cq) override;
const ::grpc::internal::RpcMethod rpcmethod_querylist_;
const ::grpc::internal::RpcMethod rpcmethod_querydata_;
+ const ::grpc::internal::RpcMethod rpcmethod_downdbfile_;
static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
@@ -153,6 +184,7 @@ class dbservice final {
virtual ~Service();
virtual ::grpc::Status querylist(::grpc::ServerContext* context, const ::iv::db::listRequest* request, ::iv::db::listReply* response);
virtual ::grpc::Status querydata(::grpc::ServerContext* context, const ::iv::db::dataRequest* request, ::iv::db::dataReply* response);
+ virtual ::grpc::Status downdbfile(::grpc::ServerContext* context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response);
template <class BaseClass>
class WithAsyncMethod_querylist : public BaseClass {
@@ -194,7 +226,27 @@ class dbservice final {
::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
- typedef WithAsyncMethod_querylist<WithAsyncMethod_querydata<Service > > AsyncService;
+ class WithAsyncMethod_downdbfile : public BaseClass {
+ WithAsyncMethod_downdbfile() {
+ ~WithAsyncMethod_downdbfile() override {
+ ::grpc::Status downdbfile(::grpc::ServerContext* /*context*/, const ::iv::db::Filedbreq* /*request*/, ::iv::db::FiledbReply* /*response*/) override {
+ void Requestdowndbfile(::grpc::ServerContext* context, ::iv::db::Filedbreq* request, ::grpc::ServerAsyncResponseWriter< ::iv::db::FiledbReply>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ typedef WithAsyncMethod_querylist<WithAsyncMethod_querydata<WithAsyncMethod_downdbfile<Service > > > AsyncService;
class ExperimentalWithCallbackMethod_querylist : public BaseClass {
@@ -289,11 +341,58 @@ class dbservice final {
{ return nullptr; }
+ class ExperimentalWithCallbackMethod_downdbfile : public BaseClass {
+ ExperimentalWithCallbackMethod_downdbfile() {
+ new ::grpc::internal::CallbackUnaryHandler< ::iv::db::Filedbreq, ::iv::db::FiledbReply>(
+ context, const ::iv::db::Filedbreq* request, ::iv::db::FiledbReply* response) { return this->downdbfile(context, request, response); }));}
+ void SetMessageAllocatorFor_downdbfile(
+ ::grpc::experimental::MessageAllocator< ::iv::db::Filedbreq, ::iv::db::FiledbReply>* allocator) {
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::iv::db::Filedbreq, ::iv::db::FiledbReply>*>(handler)
+ ~ExperimentalWithCallbackMethod_downdbfile() override {
+ virtual ::grpc::ServerUnaryReactor* downdbfile(
+ ::grpc::CallbackServerContext* /*context*/, const ::iv::db::Filedbreq* /*request*/, ::iv::db::FiledbReply* /*response*/)
+ virtual ::grpc::experimental::ServerUnaryReactor* downdbfile(
+ ::grpc::experimental::CallbackServerContext* /*context*/, const ::iv::db::Filedbreq* /*request*/, ::iv::db::FiledbReply* /*response*/)
- typedef ExperimentalWithCallbackMethod_querylist<ExperimentalWithCallbackMethod_querydata<Service > > CallbackService;
+ typedef ExperimentalWithCallbackMethod_querylist<ExperimentalWithCallbackMethod_querydata<ExperimentalWithCallbackMethod_downdbfile<Service > > > CallbackService;
- typedef ExperimentalWithCallbackMethod_querylist<ExperimentalWithCallbackMethod_querydata<Service > > ExperimentalCallbackService;
+ typedef ExperimentalWithCallbackMethod_querylist<ExperimentalWithCallbackMethod_querydata<ExperimentalWithCallbackMethod_downdbfile<Service > > > ExperimentalCallbackService;
class WithGenericMethod_querylist : public BaseClass {
@@ -329,6 +428,23 @@ class dbservice final {
+ class WithGenericMethod_downdbfile : public BaseClass {
+ WithGenericMethod_downdbfile() {
+ ~WithGenericMethod_downdbfile() override {
class WithRawMethod_querylist : public BaseClass {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
@@ -369,6 +485,26 @@ class dbservice final {
+ class WithRawMethod_downdbfile : public BaseClass {
+ WithRawMethod_downdbfile() {
+ ~WithRawMethod_downdbfile() override {
+ void Requestdowndbfile(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
class ExperimentalWithRawCallbackMethod_querylist : public BaseClass {
@@ -445,6 +581,44 @@ class dbservice final {
+ class ExperimentalWithRawCallbackMethod_downdbfile : public BaseClass {
+ ExperimentalWithRawCallbackMethod_downdbfile() {
+ context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->downdbfile(context, request, response); }));
+ ~ExperimentalWithRawCallbackMethod_downdbfile() override {
class WithStreamedUnaryMethod_querylist : public BaseClass {
@@ -498,9 +672,36 @@ class dbservice final {
// replace default version of method with streamed unary
virtual ::grpc::Status Streamedquerydata(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::iv::db::dataRequest,::iv::db::dataReply>* server_unary_streamer) = 0;
- typedef WithStreamedUnaryMethod_querylist<WithStreamedUnaryMethod_querydata<Service > > StreamedUnaryService;
+ class WithStreamedUnaryMethod_downdbfile : public BaseClass {
+ WithStreamedUnaryMethod_downdbfile() {
+ ::iv::db::Filedbreq, ::iv::db::FiledbReply>(
+ ::iv::db::Filedbreq, ::iv::db::FiledbReply>* streamer) {
+ return this->Streameddowndbfile(context,
+ ~WithStreamedUnaryMethod_downdbfile() override {
+ virtual ::grpc::Status Streameddowndbfile(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::iv::db::Filedbreq,::iv::db::FiledbReply>* server_unary_streamer) = 0;
+ typedef WithStreamedUnaryMethod_querylist<WithStreamedUnaryMethod_querydata<WithStreamedUnaryMethod_downdbfile<Service > > > StreamedUnaryService;
typedef Service SplitStreamedService;
- typedef WithStreamedUnaryMethod_querylist<WithStreamedUnaryMethod_querydata<Service > > StreamedService;
+ typedef WithStreamedUnaryMethod_querylist<WithStreamedUnaryMethod_querydata<WithStreamedUnaryMethod_downdbfile<Service > > > StreamedService;
@@ -6,6 +6,7 @@ CONFIG += c++11 console
+system(protoc -I=./../../include/proto3 --cpp_out=./../../include/msgtype ./../../include/proto3/grpcdb.proto)
system(protoc -I=./../../include/proto3 --cpp_out=./../../include/msgtype ./../../include/proto3/grpcgroup.proto)
# any Qt feature that has been marked deprecated (the exact warnings
@@ -2,12 +2,30 @@
groupdb::groupdb(std::string strdbpath)
mstrdbpath = strdbpath;
+groupdb::~groupdb()
+ this->requestInterruption();
+ while(mbRunning)
+ if(xTime.elapsed()>3000)
+ qDebug("gropudb close.");
void groupdb::OpenDataBase()
@@ -197,7 +215,7 @@ void groupdb::run()
for(i=0;i<xvectordbmsg.size();i++)
- QSqlQuery query;
+ QSqlQuery query(mdatabase);
char strsen[1000];
snprintf(strsen,1000,"INSERT INTO groupdata(vehid,recordid,recvtime,msgtime,groupid,intragroupid,vehdata)"
@@ -216,13 +234,33 @@ void groupdb::run()
- msleep(50);
+ mqueryWaitMutex.lock();
+ mwc_query.wait(&mqueryWaitMutex,50);
+ mqueryWaitMutex.unlock();
+// msleep(50);
+ if(mql_bUpdate)
+ ExecQueryList();
+ mql_wc.wakeAll();
+ if(mqd_bUpdate)
+ ExecQueryData();
+ mqd_wc.wakeAll();
// msleep(1000);
mdatabase.close();
+ qDebug("groupdb thread close");
int groupdb::addmsg(qint64 recvtime, std::string strvehid, qint64 msgtime, int groupid,
@@ -283,7 +321,7 @@ qint64 groupdb::GetRecID(std::string strvehid,int groupid)
if(bFind == false)
snprintf(strsen,1000,"INSERT INTO recorddata(recordid,groupid,vehid)"
@@ -316,52 +354,254 @@ void groupdb::CheckRecID()
mMutexrec.unlock();
-int groupdb::getlist(qint64 xfrom,qint64 xto,std::string &strvehid, std::vector<qint64> &xvectorrecordtime)
+void groupdb::ExecQueryList()
+ mql_Mutexdata.lock();
+ char strsen[1000];
+ snprintf(strsen,1000,"select * from recorddata where((recorddata.recordid >= %lld) &(recorddata.recordid <= %lld) &(recorddata.vehid = \"%s\"))",
+ mql_xfrom,mql_xto,mql_strvehid.data());
+ query.exec(strsen);
+ mql_xvectorrecordtime.clear();
+ if(!query.exec(strsen))
+ qDebug()<<query.lastError();
+ while(query.next())
+ int id = query.value(0).toInt();
+ qint64 recordid = query.value(1).toLongLong();
+ mql_xvectorrecordtime.push_back(recordid);
+ std::string strvehid = query.value(3).toString().toStdString();
- QSqlDatabase xdatabase ;
+ mql_bUpdate = false;
+ mql_bUpdateRes = true;
+ mql_Mutexdata.unlock();
+ qDebug("Exec query time is : %d ",xTime.elapsed());
-// if(QSqlDatabase::contains("sqliteadc"))
-// xdatabase = QSqlDatabase::database("sqliteadc");
-// else
- xdatabase = QSqlDatabase::addDatabase("QSQLITE","sqliteadc");
+int groupdb::GetFilePathDir(QString &strdir)
+ strdir = getenv("HOME");
+ strdir = strdir + "/groupdbtmp";
+ QDir xDir;
- xdatabase.setDatabaseName(mstrdbpath.data());
- if (!xdatabase.open())
+ if(xDir.exists(strdir) == false)
- qDebug("Error: Failed to connect database. error is %s ",xdatabase.lastError());
+ qDebug("%s is not exist.Create ",strdir.toLatin1().data());
+ if(false == xDir.mkdir(strdir))
+ nrtn = -1;
+void groupdb::ExecQueryData()
+ QString strdir;
+ if(GetFilePathDir(strdir ) == -1)
+ qDebug("Directory Fail.");
+ mqd_bUpdateRes = false;
+ mqd_nError = -11;
+ QString filename = QString(mqd_strvehid.data()) + "-"
+ +QString::number(mqd_nrecordid)+"-"
+ +QDateTime::currentDateTime().toString("yyyyMMddhhmmsszzz");
- // qDebug("Succeed to connect database.");
+ xFile.setFileName(strdir + "/" + filename);
+ if(!xFile.open(QIODevice::ReadWrite))
+ qDebug("Open File Fail.");
+ mqd_nError = -12;
- QSqlQuery query(xdatabase);
+ mqd_filename = filename.toStdString();
+ mqd_filesize = 0;
+ mqd_Mutexdata.lock();
- snprintf(strsen,1000,"select * from recorddata");
+ snprintf(strsen,1000,"select * from groupdata where((groupdata.recordid = %lld) &(groupdata.vehid = \"%s\"))",
+ mqd_nrecordid,mqd_strvehid.data());
query.exec(strsen);
if(!query.exec(strsen))
qDebug()<<query.lastError();
+ mqd_nError = -13;
while(query.next())
- int id = query.value(0).toInt();
- qint64 recordid = query.value(1).toLongLong();
- std::string strvehid = query.value(3).toString().toStdString();
+ QByteArray badata =query.value(7).toByteArray();
+ mqd_filesize = mqd_filesize + badata.size();
+ xFile.write(badata);
+// int id = query.value(0).toInt();
+// qint64 recordid = query.value(1).toLongLong();
+// mql_xvectorrecordtime.push_back(recordid);
+// std::string strvehid = query.value(3).toString().toStdString();
+ mqd_bUpdateRes = true;
+ mqd_bUpdate = false;
+ xFile.close();
+ mqd_Mutexdata.unlock();
+ qDebug("Exec querydata time is : %d ",xTime.elapsed());
+int groupdb::getlist(qint64 xfrom,qint64 xto,std::string &strvehid, std::vector<qint64> &xvectorrecordtime)
+ if(mbSQL == false)
+ int nres = 0;
+ mql_Mutex.lock();
+ mql_xfrom = xfrom;
+ mql_xto = xto;
+ mql_bUpdateRes = false;
+ mql_bUpdate = true;
+ mql_strvehid = strvehid;
+ mwc_query.wakeAll();
+ mql_waitmutex.lock();
+ mql_wc.wait(&mql_waitmutex,300);
+ mql_waitmutex.unlock();
+ qDebug("query time is %d ",xTime.elapsed());
+ if(mql_bUpdateRes == false)
+ nres = -2;
+ xvectorrecordtime = mql_xvectorrecordtime;
+ mql_Mutex.unlock();
+ return nres;
+int groupdb::getfilepath(qint64 nrecordid, std::string strvehid,std::string & strfilename,int & nfilesize)
+ mqd_Mutex.lock();
+ mqd_nrecordid = nrecordid;
+ mqd_strvehid = strvehid;
+ mqd_bUpdate = true;
+ mqd_waitmutex.lock();
+ mqd_wc.wait(&mqd_waitmutex,10000);
+ mqd_waitmutex.unlock();
+ if(mqd_bUpdateRes == false)
+ if((mqd_nError == -11)||(mqd_nError == -12))
+ nres = -3;
+ strfilename = mqd_filename;
+ nfilesize = mqd_filesize;
+ mqd_Mutex.unlock();
- xdatabase.close();
- qDebug("query suc.");
+int groupdb::GetFileData(std::string strfilename, qint64 nPos, qint64 nSize, qint64 & nFilesize, QByteArray &ba)
+ QString strpath;
+ if(GetFilePathDir(strpath)!= 0)
+ qDebug("Directory not exist.");
+ return -1; //File Directory can't found.
+ strpath = strpath + "/"+ strfilename.data();
+ if(nPos<0)
+ xFile.setFileName(strpath);
+ xFile.remove();
+ nFilesize = 0;
+ if(!xFile.open(QIODevice::ReadOnly))
+ return -2; //File Not Exist
+ if(xFile.seek(nPos) == false)
+ qDebug("Seek File Fail. pos is %lld",nPos);
+ ba.clear();
+ ba = xFile.read(nSize);
+ nFilesize = xFile.size();
+ int nrtn = ba.size();