sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf |    2 
 sw/qa/extras/ooxmlexport/ooxmlexport12.cxx                   |   11 
 sw/qa/extras/rtfimport/data/165717.rtf                       |  178 +++++++++++
 sw/qa/extras/rtfimport/rtfimport.cxx                         |    9 
 sw/source/writerfilter/dmapper/DomainMapper.cxx              |    2 
 sw/source/writerfilter/dmapper/PropertyMap.cxx               |  137 +++++---
 sw/source/writerfilter/dmapper/PropertyMap.hxx               |    3 
 sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx          |    6 
 8 files changed, 294 insertions(+), 54 deletions(-)

New commits:
commit a2a88f0073bdd5119745679daa61469e87002579
Author:     Oliver Specht <oliver.spe...@cib.de>
AuthorDate: Wed Mar 12 15:39:00 2025 +0100
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Tue Mar 18 11:46:42 2025 +0100

    tdf#165717, tdf#165718 additional hack to apply continuous section breaks
    
    Keeps reference to range in front of the current range to
    apply page style to an already available page break in cases
    where the section starts with a table.
    Page number restart is also applied in the old and the new code.
    Remove of dummy section paragraphs introduced with
    b696600821d8aafb63b6a88016d299ef89478f56 is now only performed
    if it is no RTF import.
    
    This causes:
    
      Test name: testHiddenParaBreaks::TestBody
      equality assertion failed
      - Expected: 3
      - Actual  : 4
      - In <>, XPath '/root/page[2]/body/txt' number of nodes is incorrect
    
    But the file is not imported correctly anyway and this is actually
    fixing a bug, so adapt the test file.
    
      rtfimport.cxx:910:Assertion
      Test name: (anonymous namespace)::testContSectionPageBreak::TestBody
      equality assertion failed
      - Expected: THIRD
      - Actual  :
    
    The problem here is that the extra paragraph that is inserted for \sect
    if m_bIgnoreNextContSectBreak is now wrong as it was previously removed
    but no longer is, so don't insert the extra paragraph any more.
    
    But leave the extra paragraph in case it's a frame, otherwise we get:
    
      rtfexport8.cxx:91:(anonymous namespace)::testTdf158586_0::TestBody
      equality assertion failed
      - Expected: 1
      - Actual  : 2
    
    testTd112202 fails, but Oliver says that extra page 6 is an improvement.
    
    Change-Id: Ie9a22f00e75c797762f52e6b865e32002051988c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182830
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>

diff --git a/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf 
b/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf
index f8526dafe5ea..4dc442bea367 100644
--- a/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf
+++ b/sw/qa/extras/layout/data/section-break-hidden-paragraphs.rtf
@@ -54,7 +54,7 @@ Normal Table;}{\*     s15     srowd   rbrdrtrdrsrdrw10      
rbrdrlrdrsrdrw10      rbr
 s22\lang2057\langfe1028\lochf31506\hichf31506\dbchf31505 
\linex0\headery708ootery708 \ltrchcs0 
s22\lang2057\langfe1028\lochf31506\hichf31506\dbchf31505-\par \par }{ tlch
cs1 f31507 \ltrchcs0 \lang1031\langfe1028\langnp1031
+\par }{ tlchcs1 f31507 \ltrchcs0 \lang1031\langfe1028\langnp1031
 \par \ltrrow}  rowd \irow0\irowband0\lastrow \ltrrow   s15     rgaph108        
rleft5  rbrdrtrdrsrdrw10      rbrdrlrdrsrdrw10      rbrdrbrdrsrdrw10      
rbrdrrrdrsrdrw10      rbrdrhrdrsrdrw10      rbrdrvrdrsrdrw10 
        rftsWidth1      rftsWidthB3     rautofit1       rpaddl108       
rpaddr108       rpaddfl3        rpaddft3        rpaddfb3        rpaddfr3        
bllkhdrrows     bllkhdrcols     bllknocolband   blind0  blindtype3  diff --git 
a/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx
index e34b17467348..9a57a288cbbd 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport12.cxx
@@ -713,14 +713,15 @@ CPPUNIT_TEST_FIXTURE(Test, testTd112202)
                     "portion", u"Titel der studentischen Arbeit");
         assertXPath(pXmlDoc, "/root/page[5]/header//anchored", 0);
 
-        // page 6: same as page 4
-        assertXPath(pXmlDoc, "/root/page[6]/header/txt", 1);
-        assertXPath(pXmlDoc, "/root/page[6]/header/tab", 1);
+        // page 7: same as page 4
+        // page 6 is automatically empty since page number is applied with 
tdf#165717 tdf#165718
+        assertXPath(pXmlDoc, "/root/page[7]/header/txt", 1);
+        assertXPath(pXmlDoc, "/root/page[7]/header/tab", 1);
         assertXPath(pXmlDoc,
-                    
"/root/page[6]/header/tab/row[1]/cell[1]/txt[1]/SwParaPortion/SwLineLayout/"
+                    
"/root/page[7]/header/tab/row[1]/cell[1]/txt[1]/SwParaPortion/SwLineLayout/"
                     "SwParaPortion",
                     "portion", u"Titel der studentischen Arbeit");
-        assertXPath(pXmlDoc, "/root/page[6]/header//anchored", 0);
+        assertXPath(pXmlDoc, "/root/page[7]/header//anchored", 0);
     };
 
     createSwDoc("090716_Studentische_Arbeit_VWS.docx");
diff --git a/sw/qa/extras/rtfimport/data/165717.rtf 
b/sw/qa/extras/rtfimport/data/165717.rtf
new file mode 100644
index 000000000000..b5531d92e8d2
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/165717.rtf
@@ -0,0 +1,178 @@
+{ 
tf1deflang1025nsinsicpg1252\uc1deff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1031\deflangfe1041
       hemelang3079    hemelangfe0     hemelangcs0{onttbl{0bidi roman
charset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Arial};}
+{1bidi swisscharset0prq2{\*\panose 020b0604020202020204}Arial{\*alt 
Arial};}{34bidi romancharset0prq2{\*\panose 02040503050406030204}Cambria 
Math;}{48bidi swisscharset0prq2{\*\panose 020b0502040204020203}Segoe UI;}
+{49bidi swisscharset0prq2{\*\panose 020b0503020204020204}Corbel;}{
lomajor31500bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}
+{dbmajor31501bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}{himajor31502bidi romancharset0prq2{\*\panose 
02040503050406030204}Cambria;}
+{bimajor31503bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}{lominor31504bidi romancharset0prq2{\*\panose 
02020603050405020304}Times New Roman{\*alt Arial};}
+{dbminor31505bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}{himinor31506bidi swisscharset0prq2{\*\panose 
020f0502020204030204}Calibri;}
+{biminor31507bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}{51bidi romancharset238prq2 Times New Roman CE{\*
alt Arial};}
+{52bidi romancharset204prq2 Times New Roman Cyr{\*alt Arial};}{54bidi 
romancharset161prq2 Times New Roman Greek{\*alt Arial};}{55bidi roman
charset162prq2 Times New Roman Tur{\*alt Arial};}
+{56bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Arial};}{57
bidi romancharset178prq2 Times New Roman (Arabic){\*alt Arial};}{58bidi 
romancharset186prq2 Times New Roman Baltic{\*alt Arial};}
+{59bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Arial};}{
61bidi swisscharset238prq2 Arial CE{\*alt Arial};}{62bidi swiss
charset204prq2 Arial Cyr{\*alt Arial};}
+{64bidi swisscharset161prq2 Arial Greek{\*alt Arial};}{65bidi swiss
charset162prq2 Arial Tur{\*alt Arial};}{66bidi swisscharset177prq2 Arial 
(Hebrew){\*alt Arial};}
+{67bidi swisscharset178prq2 Arial (Arabic){\*alt Arial};}{68bidi 
swisscharset186prq2 Arial Baltic{\*alt Arial};}{69bidi swisscharset163
prq2 Arial (Vietnamese){\*alt Arial};}
+{391bidi romancharset238prq2 Cambria Math CE;}{392bidi roman
charset204prq2 Cambria Math Cyr;}{394bidi romancharset161prq2 Cambria 
Math Greek;}{395bidi romancharset162prq2 Cambria Math Tur;}
+{398bidi romancharset186prq2 Cambria Math Baltic;}{399bidi roman
charset163prq2 Cambria Math (Vietnamese);}{531bidi swisscharset238prq2 
Segoe UI CE;}{532bidi swisscharset204prq2 Segoe UI Cyr;}
+{534bidi swisscharset161prq2 Segoe UI Greek;}{535bidi swisscharset162
prq2 Segoe UI Tur;}{536bidi swisscharset177prq2 Segoe UI (Hebrew);}{537
bidi swisscharset178prq2 Segoe UI (Arabic);}
+{538bidi swisscharset186prq2 Segoe UI Baltic;}{539bidi swiss
charset163prq2 Segoe UI (Vietnamese);}{541bidi swisscharset238prq2 Corbel 
CE;}{542bidi swisscharset204prq2 Corbel Cyr;}
+{544bidi swisscharset161prq2 Corbel Greek;}{545bidi swisscharset162
prq2 Corbel Tur;}{548bidi swisscharset186prq2 Corbel Baltic;}{549bidi 
swisscharset163prq2 Corbel (Vietnamese);}
+{lomajor31508bidi romancharset238prq2 Times New Roman CE{\*alt 
Arial};}{lomajor31509bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}
+{lomajor31511bidi romancharset161prq2 Times New Roman Greek{\*alt 
Arial};}{lomajor31512bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}
+{lomajor31513bidi romancharset177prq2 Times New Roman (Hebrew){\*alt 
Arial};}{lomajor31514bidi romancharset178prq2 Times New Roman (Arabic){\*
alt Arial};}
+{lomajor31515bidi romancharset186prq2 Times New Roman Baltic{\*alt 
Arial};}{lomajor31516bidi romancharset163prq2 Times New Roman 
(Vietnamese){\*alt Arial};}
+{dbmajor31518bidi romancharset238prq2 Times New Roman CE{\*alt 
Arial};}{dbmajor31519bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}
+{dbmajor31521bidi romancharset161prq2 Times New Roman Greek{\*alt 
Arial};}{dbmajor31522bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}
+{dbmajor31523bidi romancharset177prq2 Times New Roman (Hebrew){\*alt 
Arial};}{dbmajor31524bidi romancharset178prq2 Times New Roman (Arabic){\*
alt Arial};}
+{dbmajor31525bidi romancharset186prq2 Times New Roman Baltic{\*alt 
Arial};}{dbmajor31526bidi romancharset163prq2 Times New Roman 
(Vietnamese){\*alt Arial};}{himajor31528bidi romancharset238prq2 Cambria 
CE;}
+{himajor31529bidi romancharset204prq2 Cambria Cyr;}{himajor31531bidi 
romancharset161prq2 Cambria Greek;}{himajor31532bidi romancharset162
prq2 Cambria Tur;}
+{himajor31535bidi romancharset186prq2 Cambria Baltic;}{himajor31536
bidi romancharset163prq2 Cambria (Vietnamese);}{bimajor31538bidi roman
charset238prq2 Times New Roman CE{\*alt Arial};}
+{bimajor31539bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}{bimajor31541bidi romancharset161prq2 Times New Roman Greek{\*
alt Arial};}
+{bimajor31542bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}{bimajor31543bidi romancharset177prq2 Times New Roman (Hebrew){\*
alt Arial};}
+{bimajor31544bidi romancharset178prq2 Times New Roman (Arabic){\*alt 
Arial};}{bimajor31545bidi romancharset186prq2 Times New Roman Baltic{\*
alt Arial};}
+{bimajor31546bidi romancharset163prq2 Times New Roman (Vietnamese){\*
alt Arial};}{lominor31548bidi romancharset238prq2 Times New Roman CE{\*
alt Arial};}
+{lominor31549bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}{lominor31551bidi romancharset161prq2 Times New Roman Greek{\*
alt Arial};}
+{lominor31552bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}{lominor31553bidi romancharset177prq2 Times New Roman (Hebrew){\*
alt Arial};}
+{lominor31554bidi romancharset178prq2 Times New Roman (Arabic){\*alt 
Arial};}{lominor31555bidi romancharset186prq2 Times New Roman Baltic{\*
alt Arial};}
+{lominor31556bidi romancharset163prq2 Times New Roman (Vietnamese){\*
alt Arial};}{dbminor31558bidi romancharset238prq2 Times New Roman CE{\*
alt Arial};}
+{dbminor31559bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}{dbminor31561bidi romancharset161prq2 Times New Roman Greek{\*
alt Arial};}
+{dbminor31562bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}{dbminor31563bidi romancharset177prq2 Times New Roman (Hebrew){\*
alt Arial};}
+{dbminor31564bidi romancharset178prq2 Times New Roman (Arabic){\*alt 
Arial};}{dbminor31565bidi romancharset186prq2 Times New Roman Baltic{\*
alt Arial};}
+{dbminor31566bidi romancharset163prq2 Times New Roman (Vietnamese){\*
alt Arial};}{himinor31568bidi swisscharset238prq2 Calibri CE;}{himinor
31569bidi swisscharset204prq2 Calibri Cyr;}
+{himinor31571bidi swisscharset161prq2 Calibri Greek;}{himinor31572
bidi swisscharset162prq2 Calibri Tur;}{himinor31573bidi swisscharset177
prq2 Calibri (Hebrew);}
+{himinor31574bidi swisscharset178prq2 Calibri (Arabic);}{himinor31575
bidi swisscharset186prq2 Calibri Baltic;}{himinor31576bidi swiss
charset163prq2 Calibri (Vietnamese);}
+{biminor31578bidi romancharset238prq2 Times New Roman CE{\*alt 
Arial};}{biminor31579bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}
+{biminor31581bidi romancharset161prq2 Times New Roman Greek{\*alt 
Arial};}{biminor31582bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}
+{biminor31583bidi romancharset177prq2 Times New Roman (Hebrew){\*alt 
Arial};}{biminor31584bidi romancharset178prq2 Times New Roman (Arabic){\*
alt Arial};}
+{biminor31585bidi romancharset186prq2 Times New Roman Baltic{\*alt 
Arial};}{biminor31586bidi romancharset163prq2 Times New Roman 
(Vietnamese){\*alt Arial};}}{+ ed0\green255lue255; ed0\green255lue0; 
ed255\green0lue255; ed255\green0lue0; ed255\green255lue0; 
ed255\green255lue255; ed0\green0lue128; ed0\green128lue128; 
ed0\green128lue0; ed128\green0lue128; ed128\green0lue0;
+ ed128\green128lue0; ed128\green128lue128; ed192\green192lue192; 
ed0\green0lue0; ed0\green0lue0;}{\*\defchp 31506
s22\lang3079\langfe1033\langnp3079\langfenp1033 }{\*\defpap \ql \li0 
i0\sa200\sl276\slmult1
+\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 }
oqfpromote {\stylesheet{\ql \li0 
i0\sa200\sl276\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright 
in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 
+49s23\lang3079\langfe1033+   s11     srowd   rftsWidthB3     rpaddl108       
rpaddr108       rpaddfl3        rpaddft3        rpaddfb3        rpaddfr3        
blind0  blindtype3      svertalt        sbrdrt  sbrdrl  sbrdrb  sbrdrr  
sbrdrdgl        sbrdrdgr        sbrdrh  sbrdrv \ql \li0 i0\sa200\sl276\slmult1
+\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0  tlchcs1 
f31506fs22lang1025 \ltrchcs0 31506s22\lang3079\langfe1033+\s15\ql \li0 
i0\widctlpar       qc      x4536   qr      x9072\wrapdefaultspalphaspnum
aautodjustright in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 49
s23\lang3079\langfe1033+\sbasedon0 \snext15 \slink16 \sunhideused header;}{\*+  
     qc      x4536   qr      x9072\wrapdefaultspalphaspnumaautodjustright 
in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 49
s23\lang3079\langfe1033+\sbasedon0 \snext17 \slink18 \sunhideused \spriority57 
footer;}{\*++ rftsWidthB3     rpaddl108       rpaddr108       rpaddfl3        
rpaddft3        rpaddfb3        rpaddfr3        blind0  blindtype3      
svertalt        sbrdrt  sbrdrl  sbrdrb  sbrdrr  sbrdrdgl        sbrdrdgr        
sbrdrh  sbrdrv 
+\ql \li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright 
in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 31506
s22\lang3079\langfe1033+\s21\ql \li720 
i0\sa200\sl276\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright 
in0\lin720\itap0+\sbasedon0 \snext21 \sqformat \spriority34 List 
Paragraph;}{\s22\ql \li0 i0\widctlparrdrtrdrsrdrw10rsp20 
rdrlrdrsrdrw10rsp80 rdrbrdrsrdrw10rsp20 rdrrrdrsrdrw10rsp80 
+\wrapdefaultspalphaspnumaauto\outlinelevel0djustright in0\lin0\itap0  tlch
cs1 f0fs20lang1025 \ltrchcs0 s26+\s23\ql \li0 
i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0  tlch
cs1 f48fs18lang1025 \ltrchcs0 48s18\lang3079\langfe1033+\sbasedon0 
\snext23 \slink24 \ssemihidden \sunhideused Balloon Text;}{\*+rdrsrdrw10     
rbrdrlrdrsrdrw10      rbrdrbrdrsrdrw10      rbrdrrrdrsrdrw10      
rbrdrhrdrsrdrw10      rbrdrvrdrsrdrw10 
+       rftsWidthB3     rpaddl108       rpaddr108       rpaddfl3        
rpaddft3        rpaddfb3        rpaddfr3        blind0  blindtype3      
svertalt        sbrdrt  sbrdrl  sbrdrb  sbrdrr  sbrdrdgl        sbrdrdgr        
sbrdrh  sbrdrv 
+\ql \li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright 
in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 31506
s22\lang1031\langfe1033+Tabellenraster1;}{\s26\ql \li0 
i0\sa345\sl264\slmult1\widctlpar\wrapdefaultspalphaspnum
aauto\outlinelevel0djustright in0\lin0\itap0+s28\lang1031\langfe1033\loch
31502\hichf31502\dbchf31505+s23\lang1031\langfe0\loch
31502\hichf31502\dbchf31505+\widctlpar\wrapdefaultspalphaspnum
aautodjustright in0\lin0\itap0  tlchcs1 f0fs23lang1025 \ltrchcs0 
s23\lang1031\langfe1033\loch31506\hichf31506\dbchf31505+\sbasedon0 \snext28 
\slink29 \sqformat \spriority1 No Spacing;}{\*+Kein Leerraum 
Zchn;}}{\*\listtable}{\*\listoverridetable}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1
+\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{        
itle incl_DBBezeichnung_klein}{uthor e107}{\operator Oliver Specht}{+{
ersion2}{dmins0}{
ofpages2}{
ofwords8}{
ofchars54}{\*+\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect
 
+\deftab708\widowctrltnbjenddoc\pgnstart3\hyphhotz425 rackmoves0      
rackformatting1\donotembedsysfont1 elyonvml0\donotembedlingdata0\grfdocevents0
alidatexml1\showplaceholdtext0\ignoremixedcontent0
+\saveinvalidxml0\showxmlerrors1
oxlattoyenxpshrtn
oultrlspc\dntblnsbdb
ospaceforul
ormshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
+\jexpandiewkind1iewscale130\pgbrdrhead\pgbrdrfoot\splytwnine
tnlytwnine\htmautsp
olnhtadjtbl\useltbalnlntblind\lytcalctblwd\lyttblrtgr\lnbrkrule
obrkwrptbl\snaptogridincellllowfieldendsel\wrppunct
+sianbrkrule
ewtblstyruls
ogrowautofit\usenormstyforlist
oindnmbrtselnbrelev
ocxsptable\indrlsweleven
oafcnsttblfelev\utinl\hwelev\spltpgpar
otcvasp
otbrkcnstfrctbl
otvatxbx\krnprsnet+{\*\wgrffmtfilter 2450}
ofeaturethrottle1\ilfomacatclnup0{\*tnsep \ltrpar \pard\plain \ltrpar\ql \li0 
i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 
f0fs22lang1025 \ltrchcs0 
+49s23\lang3079\langfe1033+\par }}{\*tnsepc \ltrpar \pard\plain \ltrpar\ql 
\li0 i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 
tlchcs1 f0fs22lang1025 \ltrchcs0 49s23\lang3079\langfe1033+ tlchcs1 f0 
\ltrchcs0 +\par }}{\*ftnsep \ltrpar \pard\plain \ltrpar\ql \li0 
i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 
f0fs22lang1025 \ltrchcs0 49s23\lang3079\langfe1033+ tlchcs1 f0 \ltrch
cs0 +\par }}{\*ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0 
i0\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 
f0fs22lang1025 \ltrchcs0 49s23\lang3079\langfe1033+ tlchcs1 f0 \ltrch
cs0 +\par }}\ltrpar \sectd \ltrsect\pgnrestart\pgnstarts3\linex0\headery708
ootery708+      qc      x4536   qr      x9072\wrapdefaultspalphaspnum
aautodjustright in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 49
s23\lang3079\langfe1033+\lang1031\langfe1033\langnp1031Header 1}{ tlchcs1 f0 
\ltrchcs0 \lang1031\langfe1033\langn
 p1031
+\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta 
.}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta 
.}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta 
.}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
+{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta 
)}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta 
)}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta 
)}}{\*\pnseclvl8
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta 
)}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta 
)}}\pard\plain \ltrpar\ql \li0 i0\sa200\sl276\slmult1
+\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0  tlchcs1 
f0fs22lang1025 \ltrchcs0 49s23\lang3079\langfe1033+
s24\lang1033\langfe1033\langnp1033 paragraph 1 
+\par }\pard \ltrpar\ql \li0 
i0\sa200\sl276\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright 
in0\lin0\itap0 { tlchcs1 f0fs24 \ltrchcs0 
s24\lang1033\langfe1033\langnp1033
+before page break\page }{ tlchcs1 f0fs24 \ltrchcs0 
s24\lang1033\langfe1033\langnp1033 before section break\sect }\sectd \ltrsect
+\marglsxn1077\margrsxn1077\margtsxn1440\margbsxn1440\sbknone\pgnrestart\linex0\headery709
ootery709+   qc      x4536   qr      x9072\wrapdefaultspalphaspnum
aautodjustright in0\lin0\itap0 tlchcs1 f0fs22lang1025 \ltrchcs0 49
s23\lang3079\langfe1033+\lang1031\langfe1033\langnp1031 Header 2}{ tlchcs1 f0 
\ltrchcs0 \lang1031\langfe1033\langnp1031
+\par }{ tlchcs1 f0 \ltrchcs0 \lang1031\langfe1033\langnp1031
+\par }}{ooterr \ltrpar \pard\plain \ltrpar\s17\ql \li0 i0\widctlpar   qc      
x4536   qr      x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 
 tlchcs1 f0fs22lang1025 \ltrchcs0 
+49s23\lang3079\langfe1033+\par }}{\headerf \ltrpar \pard\plain 
\ltrpar\s15\ql \li0 i0\widctlpar      qc      x4536   qr      
x9072\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0  tlchcs1 
f0fs22lang1025 \ltrchcs0 
+49
s23\lang3079\langfe1033+{\shp{\*\shpinst\shpleft113\shptop5954\shpright680\shpbottom5954\shpfhdr0\shpbxpage\shpbxignore\shpbypage\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz0\shplockanchor\shplid1025{\sp{\sn
 shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
+{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 0}}{\sp{\sn 
fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn 
fLockVerticies}{\sv 0}}{\sp{\sn fLockAdjustHandles}{\sv 0}}
+{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn 
fFilled}{\sv 0}}{\sp{\sn lineColor}{\sv 12566463}{\*\hsv +{\sp{\sn 
fLockShapeType}{\sv 0}}{\sp{\sn wzName}{\sv Gerade Verbindung 2}}{\sp{\sn 
dyWrapDistTop}{\sv -1}}{\sp{\sn dyWrapDistBottom}{\sv -1}}{\sp{\sn posrelh}{\sv 
1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn metroBlob}{\sv {\*\svb 
+504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004
+323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac
+70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6
+3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d
+e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b030414000600080000002100dc60c717f0010000410400000e0000006472732f65326f446f632e786d6cac534d8fd33010bd23f11f2cdf69d2c2161435ddc3ae762f0b54ecc2ddb5c7a985
+bf64bb4dfaef193b4d583e8404e262c533f3decc7b196fae07a3c9094254ceb674b9a82901cb9d50b66be9e7a7bb57ef28898959c1b4b3d0d233447abd7df962d3fb0656eee0b4804090c4c6a6f72d3da4e49baa8afc0086c585f36031295d302ce135749508ac4776a3ab555dafabde05e183e31023466fc724dd167e2981
+a78f52464844b714674be50ce5dce7b3da6e58d305e60f8a5fc660ff308561ca62d399ea9625468e41fd4265140f2e3a9916dc99ca49a938140da86659ffa4e6f1c03c142d684ef4b34df1ffd1f20fa75d204ab4744d8965067fd13d0426807c81b057561c6d4756d9a6dec706ab6fec2e64a17cb08ffec1f1af1173d50fc9
+7c897e2c1b6430b91c9592a1d87e9e6d8721118ec1d7ebba7e7345099f52156b269c0f31dd8333247fb4542b9b0d610d3b3dc4943bb3662ac9616df3199d56e24e695d2e7995e046077262b804fb6e5908f4d1bc77628cbdbdaaebb20ac856362f9717ee674c98cbec45eaa8aee84c670d63e74f20d148d433369889c61e8c
+73b069999d2c4c589d6112a79c817599ec8fc04b7d864259efbf01cf88d2d9d934838db22efcae7b1aa691e5583f3930eace16ec9d38efc2b405b8a745e1e54de587f0fc5ee0df5ffef61b000000ffff0300504b030414000600080000002100b179e523dd000000090100000f0000006472732f646f776e7265762e786d6c
+4c8fcd4ec3301084ef48bc83b548dca89342d312e254fc561c698ac4d58db74944bc36b1db069e9e454282e3cc7e9a9d2996a3edc50187d03952904e121048b5331d350a5e374f170b10216a32ba77840a3e31c0b23c3d29746edc91d678a86223388442ae15b431fa5cca50b7687598388fc4b79d1bac8e2c87469a411f39
+dcf6729a2499b4ba23fed06a8ff72dd6efd5de2ac8ded2afe7d5631637dd47f532bd7bf0e96eee953a3f1b6f6f40441ce31f0c3ff5b93a94dc69ebf66482e859a7974c2a985dcfae4030902d78dbf6d7906521ff2f28bf010000ffff0300504b01022d0014000600080000002100b6833892fe000000e10100001300000000
+000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d0014000600080000002100dc60c717f0010000410400000e000000000000000000
+000000002e0200006472732f65326f446f632e786d6c504b01022d0014000600080000002100b179e523dd000000090100000f000000000000000000000000004a0400006472732f646f776e7265762e786d6c504b05060000000004000400f3000000540500000000
+}}}{\sp{\sn dhgt}{\sv 251659264}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn 
fAllowOverlap}{\sv 1}}{\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 
0}}{\sp{\sn fPseudoInline}{\sv 0}}
+{\sp{\sn sizerelh}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 
1}}}{\shprslt{\*\do\dobxpage\dobypage\dodhgt8192\dpline\dpptx0\dppty0\dpptx567\dppty0\dpx113\dpy5954\dpxsize567\dpysize0\dplinew15\dplinecor108\dplinecog9\dplinecob0}}}
+{\shp{\*\shpinst\shpleft113\shptop8420\shpright680\shpbottom8420\shpfhdr0\shpbxpage\shpbxignore\shpbypage\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz1\shplockanchor\shplid1026{\sp{\sn
 shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
+{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 0}}{\sp{\sn 
fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn 
fLockVerticies}{\sv 0}}{\sp{\sn fLockAdjustHandles}{\sv 0}}
+{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn 
fFilled}{\sv 0}}{\sp{\sn lineColor}{\sv 12566463}{\*\hsv +{\sp{\sn 
fLockShapeType}{\sv 0}}{\sp{\sn wzName}{\sv Gerade Verbindung 4}}{\sp{\sn 
dyWrapDistTop}{\sv -1}}{\sp{\sn dyWrapDistBottom}{\sv -1}}{\sp{\sn posrelh}{\sv 
1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn metroBlob}{\sv {\*\svb 
+504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004
+323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac
+70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6
+3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d
+e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b030414000600080000002100ae1178b8f0010000410400000e0000006472732f65326f446f632e786d6cac534d6fd43010bd23f11f2cdfd964cbb6a068b33db46a2f055614b87bed71d6c2
+5fb2bd9becbf67ec6c42691112888b15cfcc7b33ef65bcbe1e8c2647085139dbd2e5a2a6042c7742d9aea55fbfdcbd794f494ccc0aa69d85969e20d2ebcdeb57ebde3770e1f64e0b0804496c6c7adfd27d4abea9aac8f760585c380f1693d205c3125e435789c07a6437babaa8ebabaa7741f8e038c488d1db314937855f4a
+e0e993941112d12dc5d95239433977f9ac366bd67481f9bde2e731d83f4c6198b2d874a6ba65899143502fa88ce2c14527d3823b5339291587a201d52ceb676a1ef7cc43d182e6443fdb14ff1f2dff78dc06a2444b57945866f017dd436002c837083b65c5c17664956dea7d6cb0fac66e4316ca07fbe81f1cff1e3157fd92
+cc97e8c7b2410693cb5129198aeda7d9761812e1187c7b55d7ab4b4af894aa5833e17c88e91e9c21f9a3a55ad96c086bd8f121a6dc993553490e6b9bcfe8b412774aeb72c9ab04373a9023c325d875cb42a00fe6831363ecdd655d975540b6b279b9bc703f61c25c662f52477545673a69183b7f068946a29eb1c14c34f660
+9c834dcbec6461c2ea0c9338e50caccb647f049eeb3314ca7aff0d784694cecea6196c9475e177ddd3308d2cc7fac9815177b660e7c4691ba62dc03d2d0acf6f2a3f84a7f702fff9f2373f000000ffff0300504b030414000600080000002100e332eeaadc000000090100000f0000006472732f646f776e7265762e786d6c
+4c8fcd4ec3301084ef48bc83b548dca893804294c6a9f817474891b8baf136891aaf4decb681a7679190e0b49addd1ec37d56ab6a338e01406470ad2450202a97566a04ec1dbfaf1a20011a226a34747a8e01303acead3934a97c61de9150f4dec04875028b5823e465f4a19da1ead0e0be791f8b67593d591e5d44933e923
+87db516649924bab07e20fbdf678d763bb6bf65641fe9e7e3d3f3de4713d7c342fd9edbd4fb7d75ea9f3b3f9660922e21cffccf083cfe85033d3c6edc90431b24e2fd9a9a0b8cab8131bf282e7e67721eb4afe6f507f030000ffff0300504b01022d0014000600080000002100b6833892fe000000e1010000130000000000
+0000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d0014000600080000002100ae1178b8f0010000410400000e00000000000000000000
+0000002e0200006472732f65326f446f632e786d6c504b01022d0014000600080000002100e332eeaadc000000090100000f000000000000000000000000004a0400006472732f646f776e7265762e786d6c504b05060000000004000400f3000000530500000000
+}}}{\sp{\sn dhgt}{\sv 251660288}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn 
fAllowOverlap}{\sv 1}}{\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 
0}}{\sp{\sn fPseudoInline}{\sv 0}}
+{\sp{\sn sizerelh}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 
1}}}{\shprslt{\*\do\dobxpage\dobypage\dodhgt8193\dpline\dpptx0\dppty0\dpptx567\dppty0\dpx113\dpy8420\dpxsize567\dpysize0\dplinew15\dplinecor108\dplinecog9\dplinecob0}}}
+{\shp{\*\shpinst\shpleft113\shptop11907\shpright680\shpbottom11907\shpfhdr0\shpbxpage\shpbxignore\shpbypage\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz2\shplockanchor\shplid1027{\sp{\sn
 shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
+{\sp{\sn fLockRotation}{\sv 0}}{\sp{\sn fLockAspectRatio}{\sv 0}}{\sp{\sn 
fLockPosition}{\sv 0}}{\sp{\sn fLockAgainstSelect}{\sv 0}}{\sp{\sn 
fLockVerticies}{\sv 0}}{\sp{\sn fLockAdjustHandles}{\sv 0}}
+{\sp{\sn fLockAgainstGrouping}{\sv 0}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn 
fFilled}{\sv 0}}{\sp{\sn lineColor}{\sv 12566463}{\*\hsv +{\sp{\sn 
fLockShapeType}{\sv 0}}{\sp{\sn wzName}{\sv Gerade Verbindung 5}}{\sp{\sn 
dyWrapDistTop}{\sv -1}}{\sp{\sn dyWrapDistBottom}{\sv -1}}{\sp{\sn posrelh}{\sv 
1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn metroBlob}{\sv {\*\svb 
+504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004
+323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac
+70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6
+3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d
+e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b0304140006000800000021006924364eef010000410400000e0000006472732f65326f446f632e786d6cac53cb6edb3010bc17e83f10bcd792d33a2d04cb3924482e696b3469ee34b99488
+f20592b6e5bfef92b294f481022d7a21c4dd9dd99dd1727d35184d0e10a272b6a5cb454d0958ee84b25d4bbf3edebef940494ccc0aa69d85969e20d2abcdeb57eba36fe0c2f54e0b0804496c6c8ebea57d4abea9aac87b302c2e9c078b49e9826109afa1ab4460476437babaa8ebcbeae882f0c1718811a33763926e0abf94
+c0d367292324a25b8ab3a5728672eef2596dd6ace902f3bde2e731d83f4c6198b2d874a6ba6189917d50bf5019c5838b4ea60577a672522a0e4503aa59d63fa979e89987a205cd897eb629fe3f5afee9b00d448996ae28b1cce02fba83c0049027083b65c5de7664956d3afad860f5b5dd862c940ff6c1df3bfe2d62aefa21
+992fd18f65830c2697a3523214db4fb3ed3024c231f8f6b2aedf617b3ea52ad64c381f62ba036748fe68a956361bc21a76b88f297766cd5492c3dae6333aadc4add2ba5cf22ac1b50ee4c0700976ddb210e8bdf9e8c4187bbfaaebb20ac856362f9717ee174c98cbec45eaa8aee84c270d63e72f20d148d433369889c61e8c
+73b069999d2c4c589d6112a79c817599ec8fc0737d864259efbf01cf88d2d9d934838db22efcae7b1aa691e5583f3930eace16ec9c386dc3b405b8a745e1f94de587f0f25ee0cf2f7ff31d0000ffff0300504b030414000600080000002100602897a1dd0000000b0100000f0000006472732f646f776e7265762e786d6c4c
+8fcd4ec3301084ef487d076b91b85127454a4b8853955f71a429125737de2611f1dac46e1b787ab607444fabd91dcd7e532c47db8b030ea173a4209d2620906a673a6a14bc6f9eaf172042d46474ef08157c63806539b928746edc91d678a86223388442ae15b431fa5cca50b76875983a8fc4b79d1bac8e2c87469a411f39
+dcf672962499b4ba23fed06a8f0f2dd69fd5de2ac83ed29fd797a72c6ebaafea6d76ffe8d3dddc2b757539aeee40441ce3bf194ef88c0e25336ddd9e4c103debf4869da7799bcc41b0235b70b9eddf4696853cef50fe020000ffff0300504b01022d0014000600080000002100b6833892fe000000e1010000130000000000
+0000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d00140006000800000021006924364eef010000410400000e00000000000000000000
+0000002e0200006472732f65326f446f632e786d6c504b01022d0014000600080000002100602897a1dd0000000b0100000f00000000000000000000000000490400006472732f646f776e7265762e786d6c504b05060000000004000400f3000000530500000000
+}}}{\sp{\sn dhgt}{\sv 251661312}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn 
fAllowOverlap}{\sv 1}}{\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 
0}}{\sp{\sn fPseudoInline}{\sv 0}}
+{\sp{\sn sizerelh}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 
1}}}{\shprslt{\*\do\dobxpage\dobypage\dodhgt8194\dpline\dpptx0\dppty0\dpptx567\dppty0\dpx113\dpy11907\dpxsize567\dpysize0\dplinew15\dplinecor108\dplinecog9\dplinecob0}}}}{
 tlchcs1 f0 \ltrchcs0 
+\par }}\pard\plain \ltrpar\ql \li0 i0\widctlpar\wrapdefaultaautodjustright 
in0\lin0\itap0  tlchcs1 f0fs22lang1025 \ltrchcs0 49
s23\lang3079\langfe1033+\lang1033\langfe1033\langnp1033
+\par \ltrrow}  rowd \irow0\irowband0\lastrow \ltrrow
+       s17     rgaph108        rrh1985 rleft0  rftsWidth3      rwWidth9781     
rftsWidthB3     rpaddl108       rpaddt85        rpaddb85        rpaddr108       
rpaddfl3        rpaddft3        rpaddfb3        rpaddfr3        bllkhdrrows     
bllkhdrcols     bllknocolband   blind0  blindtype3 +rdrtbl +rdrtbl + tlchcs1 
f0fs22lang1025 \ltrchcs0 49s23\lang3079\langfe1033+
s21\lang1024\langfe1024
oproof\langfenp3079 e}{ tlchcs1 f1fs23 \ltrchcs0 
\lang1031\langfe1033\langnp1031 +s17\lang1031\langfe1033\langnp1031 +49
s23\lang3079\langfe1033+ s17     rgaph108        rrh1985 rleft0  rftsWidth3     
 rwWidth9781     rftsWidthB3     rpaddl108       rpaddt85        rpaddb85       
 rpaddr108       rpaddfl3        rpaddft3        rpaddfb3        rpaddfr3       
 bllkhdrrows     bllkhdrcols     bllknocolband   blind0  blindtype3 +rdrtbl 
+rdrtbl +f0 \ltrchcs0 s22\lang1031\langfe1033\langnp1031
+\par }
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx 
b/sw/qa/extras/rtfimport/rtfimport.cxx
index 76d0257a7187..080a8ccdf706 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -839,6 +839,15 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf115153)
                          getProperty<sal_Int32>(xShape, 
u"VertOrientPosition"_ustr));
 }
 
+CPPUNIT_TEST_FIXTURE(Test, test165717Tdf)
+{
+    createSwDoc("165717.rtf");
+
+    uno::Reference<beans::XPropertySet> const xPara3PS(getParagraphOrTable(3), 
uno::UNO_QUERY);
+    CPPUNIT_ASSERT_EQUAL(u"Converted1"_ustr, getProperty<OUString>(xPara3PS, 
u"PageDescName"_ustr));
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(1), getProperty<sal_Int32>(xPara3PS, 
u"PageNumberOffset"_ustr));
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testFdo68291)
 {
     createSwDoc("fdo68291.odt");
diff --git a/sw/source/writerfilter/dmapper/DomainMapper.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper.cxx
index 18774537f6b7..2695f871b2fb 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper.cxx
@@ -4582,7 +4582,7 @@ void DomainMapper::lcl_utext(const sal_Unicode *const 
data_, size_t len)
             }
 
             bool bRemove = (!m_pImpl->GetParaChanged() && 
m_pImpl->GetRemoveThisPara()) ||
-                           (!m_pImpl->GetParaChanged() && 
m_pImpl->GetParaSectpr()
+                           (!IsRTFImport() && !m_pImpl->GetParaChanged() && 
m_pImpl->GetParaSectpr()
                             && !bSingleParagraphAfterRedline
                             && !bIsColumnBreak
                             && !m_pImpl->GetIsLastSectionGroup() // 
testContSectionPageBreak
diff --git a/sw/source/writerfilter/dmapper/PropertyMap.cxx 
b/sw/source/writerfilter/dmapper/PropertyMap.cxx
index efd038964444..f878912257bc 100644
--- a/sw/source/writerfilter/dmapper/PropertyMap.cxx
+++ b/sw/source/writerfilter/dmapper/PropertyMap.cxx
@@ -1659,60 +1659,93 @@ void SectionPropertyMap::CloseSectionGroup( 
DomainMapper_Impl& rDM_Impl )
                 // it to apply the page style; see "nightmare scenario" in
                 // wwSectionManager::InsertSegments()
                 auto xTextAppend = rDM_Impl.GetCurrentXText();
-                uno::Reference<container::XEnumerationAccess> const xCursor(
-                    xTextAppend->createTextCursorByRange(
-                        
uno::Reference<text::XTextContent>(static_cast<cppu::OWeakObject*>(xSection.get()),
 uno::UNO_QUERY_THROW)->getAnchor()),
-                    uno::UNO_QUERY_THROW);
-                uno::Reference<container::XEnumeration> const xEnum(
-                        xCursor->createEnumeration());
-                bool isFound = false;
-                while (xEnum->hasMoreElements())
+                // if no section could be created due to a table at the given 
position
+                if (!xSection.is() && m_xPreStartingRange.is())
                 {
-                    uno::Reference<beans::XPropertySet> xElem;
-                    xEnum->nextElement() >>= xElem;
-                    if 
(xElem->getPropertySetInfo()->hasPropertyByName(u"BreakType"_ustr))
+                    //similar hack as below
+                    uno::Reference<beans::XPropertySet> const 
xPSRange(m_xPreStartingRange, uno::UNO_QUERY_THROW);
+                    style::BreakType eBreakType;
+                    if ((xPSRange->getPropertyValue(u"BreakType"_ustr) >>= 
eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE)
                     {
-                        style::BreakType eBreakType;
-                        if ((xElem->getPropertyValue(u"BreakType"_ustr) >>= 
eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE)
+                        
xPSRange->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), 
uno::Any(m_sPageStyleName));
+                        
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
+                        if (0 <= m_nPageNumber)
                         {
-                            // tdf#112201: do *not* use m_sFirstPageStyleName 
here!
-                            
xElem->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), 
uno::Any(m_sPageStyleName));
-                            
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
-                            isFound = true;
-                            break;
+                            sal_Int16 nPageNumber = static_cast< sal_Int16 
>(m_nPageNumber);
+                            
xPSRange->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET),
+                                uno::Any(nPageNumber));
                         }
                     }
                 }
-                uno::Reference<text::XParagraphCursor> const xPCursor(xCursor, 
uno::UNO_QUERY_THROW);
-                float fCharHeight = 0;
-                if (!isFound)
-                {   // HACK: try the last paragraph of the previous section
-                    xPCursor->gotoPreviousParagraph(false);
-                    uno::Reference<beans::XPropertySet> const 
xPSCursor(xCursor, uno::UNO_QUERY_THROW);
-                    style::BreakType eBreakType;
-                    if ((xPSCursor->getPropertyValue(u"BreakType"_ustr) >>= 
eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE)
+                else
+                {
+                    bool isFound = false;
+                    uno::Reference<container::XEnumerationAccess> const 
xCursor(
+                        xTextAppend->createTextCursorByRange(
+                            
uno::Reference<text::XTextContent>(static_cast<cppu::OWeakObject*>(xSection.get()),
 uno::UNO_QUERY_THROW)->getAnchor()),
+                        uno::UNO_QUERY_THROW);
+                    uno::Reference<container::XEnumeration> const xEnum(
+                            xCursor->createEnumeration());
+                    while (xEnum->hasMoreElements())
                     {
-                        
xPSCursor->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), 
uno::Any(m_sPageStyleName));
-                        
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
-                        isFound = true;
+                        uno::Reference<beans::XPropertySet> xElem;
+                        xEnum->nextElement() >>= xElem;
+                        if 
(xElem->getPropertySetInfo()->hasPropertyByName(u"BreakType"_ustr))
+                        {
+                            style::BreakType eBreakType;
+                            if ((xElem->getPropertyValue(u"BreakType"_ustr) 
>>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE)
+                            {
+                                // tdf#112201: do *not* use 
m_sFirstPageStyleName here!
+                                
xElem->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), 
uno::Any(m_sPageStyleName));
+                                
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
+                                isFound = true;
+                                if (0 <= m_nPageNumber)
+                                {
+                                    sal_Int16 nPageNumber = static_cast< 
sal_Int16 >(m_nPageNumber);
+                                    
xElem->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET),
+                                        uno::Any(nPageNumber));
+                                }
+                                break;
+                            }
+                        }
                     }
-                    else
-                    {
-                        xPSCursor->getPropertyValue(u"CharHeight"_ustr) >>= 
fCharHeight;
+                    uno::Reference<text::XParagraphCursor> const 
xPCursor(xCursor, uno::UNO_QUERY_THROW);
+                    float fCharHeight = 0;
+                    if (!isFound)
+                    {   // HACK: try the last paragraph of the previous section
+                        xPCursor->gotoPreviousParagraph(false);
+                        uno::Reference<beans::XPropertySet> const 
xPSCursor(xCursor, uno::UNO_QUERY_THROW);
+                        style::BreakType eBreakType;
+                        if ((xPSCursor->getPropertyValue(u"BreakType"_ustr) 
>>= eBreakType) && eBreakType == style::BreakType_PAGE_BEFORE)
+                        {
+                            
xPSCursor->setPropertyValue(getPropertyName(PROP_PAGE_DESC_NAME), 
uno::Any(m_sPageStyleName));
+                            
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
+                            isFound = true;
+                            if (0 <= m_nPageNumber)
+                            {
+                                sal_Int16 nPageNumber = static_cast< sal_Int16 
>(m_nPageNumber);
+                                
xPSCursor->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET),
+                                    uno::Any(nPageNumber));
+                            }
+                        }
+                        else
+                        {
+                            xPSCursor->getPropertyValue(u"CharHeight"_ustr) 
>>= fCharHeight;
+                        }
                     }
-                }
-                if (!isFound && fCharHeight <= 1.0)
-                {
-                    // If still not found, see if the last paragraph is 
~invisible, and work with
-                    // the last-in-practice paragraph.
-                    xPCursor->gotoPreviousParagraph(false);
-                    uno::Reference<beans::XPropertySet> xPropertySet(xCursor, 
uno::UNO_QUERY_THROW);
-                    OUString aPageDescName;
-                    if ((xPropertySet->getPropertyValue(u"PageDescName"_ustr) 
>>= aPageDescName) && !aPageDescName.isEmpty())
+                    if (!isFound && fCharHeight <= 1.0)
                     {
-                        rtl::Reference<SwXBaseStyle> 
xPageStyle(rDM_Impl.GetPageStyles()->getStyleByName(aPageDescName));
-                        xPageStyle->setPropertyValue(u"FollowStyle"_ustr, 
uno::Any(m_sPageStyleName));
-                        
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
+                        // If still not found, see if the last paragraph is 
~invisible, and work with
+                        // the last-in-practice paragraph.
+                        xPCursor->gotoPreviousParagraph(false);
+                        uno::Reference<beans::XPropertySet> 
xPropertySet(xCursor, uno::UNO_QUERY_THROW);
+                        OUString aPageDescName;
+                        if 
((xPropertySet->getPropertyValue(u"PageDescName"_ustr) >>= aPageDescName) && 
!aPageDescName.isEmpty())
+                        {
+                            rtl::Reference<SwXBaseStyle> 
xPageStyle(rDM_Impl.GetPageStyles()->getStyleByName(aPageDescName));
+                            xPageStyle->setPropertyValue(u"FollowStyle"_ustr, 
uno::Any(m_sPageStyleName));
+                            
m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(true));
+                        }
                     }
                 }
             }
@@ -2090,6 +2123,22 @@ sal_Int32 SectionPropertyMap::GetPageWidth() const
     return getProperty( PROP_WIDTH )->second.get<sal_Int32>();
 }
 
+//create a pre-starting-range
+void SectionPropertyMap::SetStart( const uno::Reference< text::XTextRange >& 
xRange )
+{
+    m_xStartingRange = xRange;
+    try
+    {
+        uno::Reference<text::XParagraphCursor> const xPCursor(
+            
m_xStartingRange->getText()->createTextCursorByRange(m_xStartingRange), 
uno::UNO_QUERY_THROW);
+        xPCursor->gotoPreviousParagraph(false);
+        m_xPreStartingRange = xPCursor;
+    }
+    catch (const uno::Exception&)
+    {
+    }
+}
+
 StyleSheetPropertyMap::StyleSheetPropertyMap()
     : mnListLevel( -1 )
     , mnOutlineLevel( -1 )
diff --git a/sw/source/writerfilter/dmapper/PropertyMap.hxx 
b/sw/source/writerfilter/dmapper/PropertyMap.hxx
index 14e37c48b5cb..e9d3cc8d94de 100644
--- a/sw/source/writerfilter/dmapper/PropertyMap.hxx
+++ b/sw/source/writerfilter/dmapper/PropertyMap.hxx
@@ -256,6 +256,7 @@ private:
 
     bool                                            m_bIsFirstSection;
     css::uno::Reference< css::text::XTextRange >    m_xStartingRange;
+    css::uno::Reference< css::text::XTextRange >    m_xPreStartingRange;
 
     OUString m_sPageStyleName;
     rtl::Reference<SwXPageStyle>                    m_aPageStyle;
@@ -355,7 +356,7 @@ public:
 
     bool IsFirstSection() const { return m_bIsFirstSection; }
 
-    void SetStart( const css::uno::Reference< css::text::XTextRange >& xRange 
) { m_xStartingRange = xRange; }
+    void SetStart( const css::uno::Reference< css::text::XTextRange >& xRange 
);
 
     const css::uno::Reference< css::text::XTextRange >& GetStartingRange() 
const { return m_xStartingRange; }
 
diff --git a/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx 
b/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx
index 2df10c35482b..4b2e785b2e7a 100644
--- a/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx
+++ b/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx
@@ -135,8 +135,10 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword 
nKeyword)
             m_bHadSect = true;
             if (m_bIgnoreNextContSectBreak || 
m_aStates.top().getFrame().hasProperties())
             {
-                // testContSectionPageBreak: need \par now
-                dispatchSymbol(RTFKeyword::PAR);
+                if (m_aStates.top().getFrame().hasProperties())
+                { // testTdf158586_0: convert \sect to \par inside frame
+                    dispatchSymbol(RTFKeyword::PAR);
+                } // testContSectionPageBreak: no \par when break ignored
                 m_bIgnoreNextContSectBreak = false;
             }
             else

Reply via email to