DPjudge Map Files
about the DPjudge | the DPPD | common questions
File minorpower.ps
 
%!PS-Adobe-3.0
%%Title: Diplomacy Map (diplomacy map (minorpower variant))
%%Creator: dpmap, using a map created with DPeye by Mario Huys (woelpad@yahoo.com)
%%DocumentPaperSizes: Letter
%%LanguageLevel: 2
%%Orientation: Landscape
%%Pages: (atend)
%%DocumentNeededResources: font Helvetica-Bold Courier Courier-Bold Times-Roman
%%EndComments

%%BeginDefaults
%%PageResources: font Helvetica-Bold Courier Courier-Bold Times-Roman
%%EndDefaults

% INFO
%  311  155 ADR    Adriatic Sea
%  425   59 AEG    Aegean Sea
%  363  120 ALB    Albania
%  511  124 ANK    Ankara
%  328  121 APU    Apulia
%  626  121 ARM    Armenia
%  353  343 BAL    Baltic Sea
%  477  561 BAR    Barents Sea
%  231  284 BEL    Belgium
%  312  308 BER    Berlin
%  482  164 BLA    Black Sea
%  318  252 BOH    Bohemia
%  374  387 BOT    Gulf of Bothnia
%  162  257 BRE    Brest
%  376  205 BUD    Budapest
%  415  148 BUL    Bulgaria
%  448  151 BUL/EC Bulgaria (east coast)
%  424  121 BUL/SC Bulgaria (south coast)
%  226  230 BUR    Burgundy
%  166  387 CLY    Clyde
%  471  106 CON    Constantinople
%  281  351 DEN    Denmark
%  482   40 EAS    Eastern Mediterranean
%  189  401 EDI    Edinburgh
%  145  288 ENG    English Channel
%  398  437 FIN    Finland
%  396  242 GAL    Galicia
%  164  203 GAS    Gascony
%  384   92 GRE    Greece
%  256  335 HEL    Helgoland Bight
%  245  305 HOL    Holland
%  333   44 ION    Ionian Sea
%  115  310 IRI    Irish Sea
%  274  295 KIE    Kiel
%  195  314 LON    London
%  403  341 LVN    Livonia
%  177  344 LVP    Liverpool
%  204  147 LYO    Gulf of Lyon
%   68  252 MAO    Mid-Atlantic Ocean
%  214  185 MAR    Marseilles
%  527  360 MOS    Moscow
%  274  250 MUN    Munich
%  190   71 NAF    North Africa
%   91  430 NAO    North Atlantic Ocean
%  318  104 NAP    Naples
%  227  374 NTH    North Sea
%  246  504 NWG    Norwegian Sea
%  284  429 NWY    Norway
%  191  238 PAR    Paris
%  201  269 PIC    Picardy
%  247  192 PIE    Piedmont
%   57  176 POR    Portugal
%  347  309 PRU    Prussia
%  296  131 ROM    Rome
%  252  271 RUH    Ruhr
%  440  178 RUM    Rumania
%  375  145 SER    Serbia
%  513  234 SEV    Sevastopol
%  329  281 SIL    Silesia
%  288  381 SKA    Skagerrak
%  473   74 SMY    Smyrna
%  122  165 SPA    Spain
%   77  211 SPA/NC Spain (north coast)
%  101  109 SPA/SC Spain (south coast)
%  465  403 STP    St Petersburg
%  476  474 STP/NC St Petersburg (north coast)
%  430  402 STP/SC St Petersburg (south coast)
%  326  384 SWE    Sweden
%  247  218 SWI    Switzerland
%  603   50 SYR    Syria
%  324  172 TRI    Trieste
%  234   45 TUN    Tunis
%  271  158 TUS    Tuscany
%  295  218 TYR    Tyrolia
%  268  103 TYS    Tyrrhenian Sea
%  444  260 UKR    Ukraine
%  275  184 VEN    Venice
%  339  231 VIE    Vienna
%  168  313 WAL    Wales
%  384  283 WAR    Warsaw
%  200  100 WES    Western Mediterranean
%  194  343 YOR    Yorkshire
% MAP

%%BeginSetup
/bd { bind def } bind def
/xd { exch def } bd
/ld { load def } bd
/ifloor { .001 add floor cvi } bd
/iceiling { .001 sub ceiling cvi } bd
/min { 2 copy gt { exch } if pop } bd
/max { 2 copy lt { exch } if pop } bd
/secure_atan { 2 copy 0 eq exch 0 eq and { pop pop 0 } { atan } ifelse } bd
/center { 3 2 roll add 2 div 3 1 roll add 2 div exch } bd
/a /arc ld
/c /curveto ld
/d /setdash ld
/f /fill ld
/h /show ld
/k /stroke ld
/l /lineto ld
/m /moveto ld
/n /newpath ld
/o /rotate ld
/p /closepath ld
/r /grestore ld
/s /gsave ld
/t /translate ld
/w /setlinewidth ld
/x /scale ld
/y /scalefont ld
/z /setfont ld
%%IncludeResource: font Helvetica-Bold
/MapNameFont /Helvetica-Bold findfont 14 y def
/Powers 20 dict def
%%IncludeResource: font Helvetica-Bold
/MapUnitLetterFont /Helvetica-Bold findfont 14 y def
%%IncludeResource: font Courier
/TextFixedFont /Courier findfont def
%%IncludeResource: font Courier-Bold
/TextHeadingFont /Courier-Bold findfont def
%%IncludeResource: font Times-Roman
/TextTitleFont /Times-Roman findfont def
/PageSetup {
    612 0 t
    90 o
    /FinishReport { } def /InTextMode true def
    Black
    MovePhase
} bd
/ShowPage {
    DrawAliases
    DrawRemainingCenters
    InTextMode { FinishReport } { r } ifelse
    FrameMap
    showpage
} bd
/MapForm <<
    /FormType 1
    /Matrix [ 2.701 0 0 2.701 22 25 ]
    /BBox [ 0 0 232.51 204 ]
    /FormDict 1 dict
    /PaintProc {
        dup /Matrix get exch /FormDict get begin
        s
        matrix invertmatrix concat
        SeaBlue 22 25 628 551 rectfill
        IncludeLand
        IncludeInternalBorders
        IncludeBorders
        IncludeMountain
        IncludeLake
        r
        end
    } bind
>> def
/DrawMap {
    PageSetup
    SwitchToMapMode
    MapForm execform
    /Centers << Centers { pop true } forall >> def
    UNOWNED
} bd
/VisitSupplies {
    1 dict begin
    /s xd
    /SEV 491 229 s
    /WAR 368 286 s
    /STP 446 403 s
    /MOS 526 345 s
    /ANK 530 124 s
    /SMY 452 77 s
    /CON 446 131 s
    /BRE 142 270 s
    /MAR 204 180 s
    /PAR 204 249 s
    /NAP 311 117 s
    /ROM 280 141 s
    /VEN 281 195 s
    /KIE 279 316 s
    /BER 303 305 s
    /MUN 284 241 s
    /LON 185 305 s
    /LVP 168 337 s
    /EDI 185 388 s
    /BUD 351 207 s
    /TRI 314 191 s
    /VIE 329 220 s
    /NWY 300 415 s
    /DEN 301 342 s
    /POR 43 164 s
    /SPA 100 161 s
    /TUN 238 62 s
    /SER 370 162 s
    /GRE 402 85 s
    /BUL 400 149 s
    /RUM 425 176 s
    /BEL 223 281 s
    /HOL 236 302 s
    /SWE 346 405 s
    end
} def
/VisitTerritories {
    6 dict begin
    /m xd
    /b xd
    /g xd
    /w xd
    /l xd
    /c xd
    (ALB) 363 120 c
    (ANK) 511 124 c
    (APU) 328 121 c
    (ARM) 626 121 c
    (BEL) 231 284 c
    (BER) 312 308 c
    (BRE) 162 257 c
    (CLY) 166 387 c
    (CON) 471 106 c
    (DEN) 281 351 c
    (EDI) 189 401 c
    (FIN) 398 437 c
    (GAS) 164 203 c
    (GRE) 384 92 c
    (HOL) 245 305 c
    (KIE) 274 295 c
    (LON) 195 314 c
    (LVN) 403 341 c
    (LVP) 177 344 c
    (MAR) 214 185 c
    (NAF) 190 71 c
    (NAP) 318 104 c
    (NWY) 284 429 c
    (PIC) 201 269 c
    (PIE) 247 192 c
    (POR) 57 176 c
    (PRU) 347 309 c
    (ROM) 296 131 c
    (RUM) 440 178 c
    (SEV) 513 234 c
    (SMY) 473 74 c
    (SWE) 326 384 c
    (SYR) 603 50 c
    (TRI) 324 172 c
    (TUN) 234 45 c
    (TUS) 271 158 c
    (VEN) 275 184 c
    (WAL) 168 313 c
    (YOR) 194 343 c
    (BOH) 318 252 l
    (BUD) 376 205 l
    (BUR) 226 230 l
    (GAL) 396 242 l
    (MOS) 527 360 l
    (MUN) 274 250 l
    (PAR) 191 238 l
    (RUH) 252 271 l
    (SER) 375 145 l
    (SIL) 329 281 l
    (TYR) 295 218 l
    (UKR) 444 260 l
    (VIE) 339 231 l
    (WAR) 384 283 l
    (ADR) 311 155 w
    (AEG) 425 59 w
    (BAL) 353 343 w
    (BAR) 477 561 w
    (BLA) 482 164 w
    (BOT) 374 387 w
    (EAS) 482 40 w
    (ENG) 145 288 w
    (HEL) 256 335 w
    (ION) 333 44 w
    (IRI) 115 310 w
    (LYO) 204 147 w
    (MAO) 68 252 w
    (NAO) 91 430 w
    (NTH) 227 374 w
    (NWG) 246 504 w
    (SKA) 288 381 w
    (TYS) 268 103 w
    (WES) 200 100 w
    (BUL) 415 148 g
    (SPA) 122 165 g
    (STP) 465 403 g
    (BUL/EC) 448 151 b
    (BUL/SC) 424 121 b
    (SPA/NC) 77 211 b
    (SPA/SC) 101 109 b
    (STP/NC) 476 474 b
    (STP/SC) 430 402 b
    (SWI) 247 218 m
    end
} def
/DrawSupplies {
    SwitchToMapMode
    UNOWNEDCENTER
    { SupplyCenters 3 1 roll 4 3 roll supply } bind
    VisitSupplies
} bd
/DrawAlias {
    SwitchToMapMode
    s
    3 1 roll t
    .5 .5 x
    0 -14 t
    MapNameFont z
    dup stringwidth pop -2 div 0 neg m h
    r
} bd
/DrawName {
    pop pop pop
} bd
/DrawAliases {
    NameTerritories
} bd
/NameTerritories {
    SwitchToMapMode
    s
    { LandGreen 3 2 roll DrawAlias } bind
    { LandGreen 3 2 roll DrawAlias } bind
    { SeaWhite 3 2 roll DrawAlias } bind
    { LandGreen 3 2 roll DrawAlias } bind
    { pop pop pop } bind
    { pop pop pop } bind
    VisitTerritories
    r
} bd
/VisitPowers {
    1 dict begin
    /p xd
    /AUSTRIA (A) /Red /White (A-AUS) (A-AUSTRIA) p
    /ENGLAND (E) /Blue /White (E-ENG) (E-ENGLAND) p
    /FRANCE (F) /Turquoise /Black (F-FRA) (F-FRANCE) p
    /GERMANY (G) /Black /White (G-GER) (G-GERMANY) p
    /ITALY (I) /Green /Black (I-ITA) (I-ITALY) p
    /RUSSIA (R) /White /Black (R-RUS) (R-RUSSIA) p
    /TURKEY (T) /Yellow /Black (T-TUR) (T-TURKEY) p
    /BELGIUM (B) /BelgiumColor /White (B-BEL) (B-BELGIUM) p
    /BULGARIA (L) /BulgariaColor /White (L-BUL) (L-BULGARIA) p
    /DENMARK (D) /DenmarkColor /Black (D-DEN) (D-DENMARK) p
    /GREECE (C) /GreeceColor /Black (C-GRE) (C-GREECE) p
    /HOLLAND (H) /HollandColor /White (H-HOL) (H-HOLLAND) p
    /NORWAY (Y) /NorwayColor /White (Y-NWY) (Y-NORWAY) p
    /PORTUGAL (P) /PortugalColor /White (P-POR) (P-PORTUGAL) p
    /RUMANIA (U) /RumaniaColor /White (U-RUM) (U-RUMANIA) p
    /SERBIA (S) /SerbiaColor /White (S-SER) (S-SERBIA) p
    /SPAIN (N) /SpainColor /Black (N-SPA) (N-SPAIN) p
    /SWEDEN (W) /SwedenColor /White (W-SWE) (W-SWEDEN) p
    /TUNIS (X) /TunisColor /White (X-TUN) (X-TUNIS) p
    /UNOWNED (?) /Brown /White () () p
    end
} def
/CreateTroop {
    <<
        /BBox 4 3 roll
        /PaintProc 5 4 roll
        6 5 roll {} forall
        /FormType 1
        /Matrix matrix
    >>
} bd
/CreateTroops {
    << 3 1 roll Powers {
        3 index 3 index CreateTroop 4 2 roll
    } forall pop pop >>
} bd
/PaintFleet {
    begin
    .5 .5 x
    0 8 t
    -26 -7 m -26 -2 l -19 -2 l -19 -1 l % to bow
    -22 -1 l -22 0 l -15 0 l -15 1 l % A turret
    -18 1 l -18 2 l -10 2 l -10 0 l % B turret
    -9 0 l -9 4 l -8 4 l -8 6 l % conn tower
    -6 6 l -6 5 l -5 5 l -5 9 l % Infra struct
    -3 9 l -3 14 l -2 14 l -2 9 l % funnel 1
    0 9 l 0 5 l 1 5 l 1 8 l % funnel 2
    3 8 l 3 13 l 4 13 l 4 8 l % mast 2
    6 8 l 6 0 l 8 0 l 8 2 l % funnel 2
    16 2 l 16 1 l 13 1 l 13 0 l % C turret
    20 0 l 20 -1 l 17 -1 l 17 -2 l % D turret
    23 -2 l 23 -3 l 25 -3 l 25 -5 l % stern
    24 -5 l 24 -7 l p
    s 2 w Contrast k r Paint f
    Offset aload pop m
    MapUnitLetterFont z
    Contrast Letter h
    end
} bd
/FleetTroopBBox [
    -13.5 0 13 11.5
] def
/PaintArmy {
    begin
    .5 .5 x
    0 8 t
    n 0 0 9 0 360 a p % wheel
    2 w Contrast k
    -20 7 m 10 7 l 10 3 l 14 3 l
    14 1 l -16 1 l -16 3 l -20 3 l p % barrel
    4 2 m 24 -8 l 26 -8 l 18 -8 l -2 2 l % carriage
    s 2 w Contrast k r Paint f
    n 0 0 9 0 360 a p % wheel
    Paint f
    Offset aload pop m
    MapUnitLetterFont z
    Contrast Letter h
    end
} bd
/ArmyTroopBBox [
    -10.5 -1 13.5 9
] def
/DrawFleet {
    SwitchToMapMode
    s t
    FleetTroops Power get execform
    r
} bd
/DrawArmy {
    SwitchToMapMode
    s t
    ArmyTroops Power get execform
    r
} bd
/DrawRemainingCenters {
    SwitchToMapMode
    UNOWNED
    Centers {
        { load exec supply } { pop } ifelse
    } forall
} bd
/PaintSupply {
    begin
    .5 .5 x
    Paint
    n 0 0 6 0 360 a f
    end
} bd
/SupplyCenterBBox [
    -3 -3 3 3
] def
/supply {
    SwitchToMapMode
    Centers exch false put
    s t
    Power get execform
    r
} bd
/GetControlledPower {
    1 index dup length string cvs 1 index dup length string cvs
    1 index length dup 2 index length add 1 add string
    dup 0 6 5 roll putinterval dup 2 index 124 put dup 3 2 roll 1 add 4 3 roll putinterval cvn
    3 1 roll Powers 3 index known {
        pop pop
    } {
        8 dict dup begin
        exch Powers exch get /Paint get /Outer xd
        Powers 2 index get { def } forall
        end
        dup ControlledFleetTroopBBox /PaintControlledFleet load CreateTroop FleetTroops 4 index 3 2 roll put
        dup ControlledArmyTroopBBox /PaintControlledArmy load CreateTroop ArmyTroops 4 index 3 2 roll put
        dup ControlledSupplyCenterBBox /PaintControlledSupply load CreateTroop SupplyCenters 4 index 3 2 roll put
        Powers 2 index 3 2 roll put
        [ /Power 3 index 4 3 roll {
            ChangeController {
                Power GetControlledPower exch
                /ChangeController false def
            } if pop
        } bind /exec load /def load ] cvx 2 index xd
    } ifelse
} bd
/PaintControlledFleet {
    begin
    .5 .5 x
    0 8 t
    -26 -7 m -26 -2 l -19 -2 l -19 -1 l % to bow
    -22 -1 l -22 0 l -15 0 l -15 1 l % A turret
    -18 1 l -18 2 l -10 2 l -10 0 l % B turret
    -9 0 l -9 4 l -8 4 l -8 6 l % conn tower
    -6 6 l -6 5 l -5 5 l -5 9 l % Infra struct
    -3 9 l -3 14 l -2 14 l -2 9 l % funnel 1
    0 9 l 0 5 l 1 5 l 1 8 l % funnel 2
    3 8 l 3 13 l 4 13 l 4 8 l % mast 2
    6 8 l 6 0 l 8 0 l 8 2 l % funnel 2
    16 2 l 16 1 l 13 1 l 13 0 l % C turret
    20 0 l 20 -1 l 17 -1 l 17 -2 l % D turret
    23 -2 l 23 -3 l 25 -3 l 25 -5 l % stern
    24 -5 l 24 -7 l p
    s s 6 w Outer k r 2 w Contrast k r Paint f
    Offset aload pop m
    MapUnitLetterFont z
    Contrast Letter h
    end
} bd
/ControlledFleetTroopBBox [
    -14.5 -1 14 12.5
] def
/PaintControlledArmy {
    begin
    .5 .5 x
    0 8 t
    n 0 0 9 0 360 a p % wheel
    s 6 w Outer k r 2 w Contrast k
    -20 7 m 10 7 l 10 3 l 14 3 l
    14 1 l -16 1 l -16 3 l -20 3 l p % barrel
    4 2 m 24 -8 l 26 -8 l 18 -8 l -2 2 l % carriage
    s s 6 w Outer k r 2 w Contrast k r Paint f
    n 0 0 9 0 360 a p % wheel
    Paint f
    Offset aload pop m
    MapUnitLetterFont z
    Contrast Letter h
    end
} bd
/ControlledArmyTroopBBox [
    -11.5 -2 14.5 10
] def
/PaintControlledSupply {
    begin
    .5 .5 x
    Outer
    n 0 0 10 0 360 a f
    Contrast
    n 0 0 8 0 360 a f
    Paint
    n 0 0 6 0 360 a f
    end
} bd
/ControlledSupplyCenterBBox [
    -5 -5 5 5
] def
/Controls {
    /ChangeController true def
} bd
/SetArrowStateOk {
    [] 0 d
} bd
/OkOrder {
    /SetArrowState /SetArrowStateOk ld
} bd
/SetArrowStateFailed {
    [4 6] 2 d
} bd
/FailedOrder {
    /SetArrowState /SetArrowStateFailed ld
} bd
/MovePhase {
    /ArrowColor /ArrowBlack ld
    /ArrowBase 20 def
    /TraceArrowHead /TraceSingleArrowHead ld
    InTextMode not { ArrowColor } if
} bd
/RetreatPhase {
    /ArrowColor /ArrowRed ld
    /ArrowBase 39.8 def
    /TraceArrowHead /TraceDoubleArrowHead ld
    InTextMode not { ArrowColor } if
} bd
/ProposePhase {
    /ArrowColor /ArrowWhite ld
    /ArrowBase 39.8 def
    /TraceArrowHead /TraceDoubleArrowHead ld
    InTextMode not { ArrowColor } if
} bd
/TraceSingleArrowHead {
    % draw the arrow head ...
    n
    dup -5 m
    dup 20 add 0 l
    dup 5 l
    p
} bd
/TraceDoubleArrowHead {
    % draw the double arrow head ...
    n
    dup -5 m
    dup 19.8 add
    dup -1 l
    dup -5 l
    dup 20 add 0 l
    dup 5 l
    1 l
    dup 5 l
    p
} bd
/PaintArrowMove {
    s
    3 index 3 index t
    3 2 roll sub 3 1 roll exch sub exch
    2 copy dup mul exch dup mul add sqrt 3 1 roll exch secure_atan
    .5 .5 x
    0 8 t
    o
    .5 div ArrowBase sub
    % if base of arrow is long enough, shorten it enough
    % to e.g. move arrow start beyond support circle
    dup 14 gt {
        14 14 0 t sub
    } {
        0 t 0
    } ifelse
    % if base is still too long, shorten it some more
    % to make arrow head touch support circle
    dup 14 gt {
        14 sub
    } {
        pop 0
    } ifelse
    1 w
    TraceArrowHead
    k
    % now the shaft ...
    2 w
    0 0 m
    0 l
    k
    r
} bd
/PaintArrowCircle {
    s
    5 1 roll
    3 index 3 index t
    3 2 roll sub 3 1 roll exch sub exch
    2 copy dup mul exch dup mul add sqrt 3 1 roll exch secure_atan
    .5 .5 x
    0 8 t
    o
    .5 div
    1 index sub
    % if base of arrow is long enough, shorten it enough
    % to e.g. move arrow start beyond support circle
    dup 14 gt {
        14 14 0 t sub
    } {
        0 t 0
    } ifelse
    % draw the circle ...
    1 w
    n
    2 copy add 0 4 3 roll 0 360 a
    p k
    % now the shaft ...
    2 w
    0 0 m
    0 l
    k
    r
} bd
/ArrowMove {
    SwitchToMapMode
    s
    SetArrowState
    PaintArrowMove
    r
} bd
/ArrowHold {
    SwitchToMapMode
    s
    SetArrowState
    24 PaintArrowCircle
    r
} bd
/ArrowSupport {
    SwitchToMapMode
    s
    SetArrowState
    center
    8 PaintArrowCircle
    r
} bd
/ArrowConvoy {
    SwitchToMapMode
    s
    SetArrowState
    center
    12 PaintArrowCircle
    r
} bd
/ArrowRetreat {
    RetreatPhase
    ArrowMove
    MovePhase
} bd
/ArrowPropose {
    ProposePhase
    ArrowMove
    MovePhase
} bd
/BuildUnit {
    SwitchToMapMode
    s
    t
    ArrowWhite
    .5 .5 x
    0 8 t
    6 w [ 3.14 6.28 ] 1.57 d
    n
    0 0 24 0 360 a
    p k
    r
} bd
/SlashUnit {
    s
    3 1 roll t
    .5 .5 x
    0 8 t
    n
    -21 -16 m
    11 16 l
    21 16 l
    -11 -16 l
    p
    exec
    r
} bd
/DestroyUnit {
    SwitchToMapMode
    { ArrowRed f } SlashUnit
} bd
/DisbandUnit {
    SwitchToMapMode
    { s ArrowWhite f r 1 w ArrowRed k } SlashUnit
} bd
/RemoveUnit {
    SwitchToMapMode
    { ArrowWhite f } SlashUnit
} bd
/QueryUnit {
    SwitchToMapMode
    s
    t
    ArrowWhite
    .5 .5 x
    0 8 t
    4 w
    -12 4 m
    -8 7 -4 7 0 4 c
    4 1 8 1 12 4 c
    -12 -4 m
    -8 -1 -4 -1 0 -4 c
    4 -7 8 -7 12 -4 c
    k
    r
} bd
/PaintArrowArrive {
    s
    t
    .5 .5 x
    0 8 t
    180 rotate 54 ArrowBase add neg 0 t
    40
    1 w
    TraceArrowHead
    k
    % now the shaft ...
    2 w
    0 0 m
    0 l
    k
    -10 0 m -20 0 l
    -30 0 m -40 0 l
    k
    r
} bd
/PaintArrowArriveFleet {
    2 copy
    PaintArrowArrive
    SetArrowStateOk
    exch 0 44 ArrowBase add add .5 mul add exch 7.2 add t
    .8 .8 x
    FleetTroops Power get execform
} bd
/PaintArrowArriveArmy {
    2 copy
    PaintArrowArrive
    SetArrowStateOk
    exch 0 44 ArrowBase add add .5 mul add exch 7.2 add t
    .8 .8 x
    ArmyTroops Power get execform
} bd
/PaintArrowDepart {
    s
    t
    .5 .5 x
    0 8 t
    -54 0 t
    40
    2 w
    0 0 m
    0 l
    -10 0 m -20 0 l
    -30 0 m -40 0 l
    k
    r
} bd
/ArrowDepart {
    SwitchToMapMode
    s
    SetArrowState
    PaintArrowDepart
    r
} bd
/ArrowArriveFleet {
    SwitchToMapMode
    s
    SetArrowState
    PaintArrowArriveFleet
    r
} bd
/ArrowArriveArmy {
    SwitchToMapMode
    s
    SetArrowState
    PaintArrowArriveArmy
    r
} bd
/ArrowSupportArrive {
    2 copy exch 64 add exch ArrowSupport
} bd
/ArrowSupportDepart {
    2 copy exch 44 sub exch ArrowSupport
} bd
/ArrowConvoyArrive {
    2 copy exch 64 add exch ArrowConvoy
} bd
/ArrowConvoyDepart {
    2 copy exch 44 sub exch ArrowConvoy
} bd
/ArrowRefugeFleet {
    RetreatPhase
    ArrowArriveFleet
    MovePhase
} bd
/ArrowRefugeArmy {
    RetreatPhase
    ArrowArriveArmy
    MovePhase
} bd
/ArrowFlee {
    RetreatPhase
    ArrowDepart
    MovePhase
} bd
/FindUnit {
    SwitchToMapMode
    s
    t
    ArrowBlue
    .5 .5 x
    0 8 t
    6 w [ 3.14 6.28 ] 1.57 d
    n
    0 0 24 0 360 a
    p k
    r
} bd
/FindArriveUnit {
    SwitchToMapMode
    s
    exch 32 add exch 7.2 add t
    .8 .8 x
    0 0 FindUnit
    r
} bd
/LoseUnit {
    SwitchToMapMode
    s
    t
    ArrowBlue
    .5 .5 x
    0 8 t
    4 w
    -12 4 m
    -8 7 -4 7 0 4 c
    4 1 8 1 12 4 c
    -12 -4 m
    -8 -1 -4 -1 0 -4 c
    4 -7 8 -7 12 -4 c
    k
    r
} bd
/LoseArriveUnit {
    SwitchToMapMode
    s
    exch 32 add exch 7.2 add t
    .8 .8 x
    0 0 LoseUnit
    r
} bd
/SplitString {
    7 dict begin
    /nrChars xd
    /indentLength xd
    /objectString xd
    /objectLast objectString length 1 sub def
    % Short string?
    objectLast nrChars lt {
        false objectString
    } {
        % Look for a suitable place to split.
        % First tracking backwards, if that doesn't work, look forward.
        /splitIndex -1 def
        nrChars -1 0 {
            objectString 1 index get 32 eq {
                /splitIndex xd exit
            } if pop
        } for splitIndex -1 eq {
            nrChars 1 add 1 objectLast {
                objectString 1 index get 32 eq {
                    /splitIndex xd exit
                } if pop
            } for
        } if
        splitIndex -1 eq splitIndex objectLast eq or {
            false objectString
        } {
            % The first part.
            objectString 0 splitIndex getinterval
            % The second part.
            objectString splitIndex 1 add objectLast splitIndex sub getinterval
            % Add indentation if needed.
            indentLength 0 gt {
                dup length indentLength add string
                0 1 indentLength 1 sub { 1 index exch 32 put } for
                dup indentLength 4 3 roll putinterval
            } if
            % Add white space of the first part.
            /nonSpaceIndex objectLast 1 add def
            0 1 objectLast {
                objectString 1 index get 32 ne {
                    /nonSpaceIndex xd exit
                } if pop
            } for
            nonSpaceIndex 0 gt nonSpaceIndex splitIndex lt and {
                dup length nonSpaceIndex add string
                dup 0 objectString 0 nonSpaceIndex getinterval putinterval
                dup nonSpaceIndex 4 3 roll putinterval
            } if
            exch true exch
        } ifelse
    } ifelse
    end
} bd
/DrawLayoutBorders {
    s
    TextFixedFont 7 y z
    r
} bd
/ReplaceOrderName {
    dup length 0 gt {
        dup 0 get 32 ne {
            ( ) search {
                exch pop true exch
                0 3 index {
                    32 ne { exit } if 1 add
                } forall dup 4 index length eq {
                    pop 3 1 roll pop pop false
                } {
                    dup 0 eq { pop } {
                        4 3 roll dup length 3 2 roll dup 3 1 roll sub getinterval 3 1 roll
                    } ifelse
                } ifelse
            } { false exch } ifelse
            dup cvn load exec Powers Power get /LongName get dup length 0 gt { exch } if pop
            1 index {
                3 2 roll dup 0 get 40 eq {
                    dup dup length 1 sub get 41 eq {
                        1 1 index length 2 sub getinterval
                        dup cvn load exec Powers Power get /LongName get dup length 0 gt { exch } if pop
                        dup length 2 add string
                        dup 0 40 put dup dup length 1 sub 41 put
                        dup 1 4 3 roll putinterval
                    } if
                } if 3 1 roll
            } if
            exch {
                dup length dup 1 add 3 index length add string
                dup 0 5 4 roll putinterval
                dup 2 index 32 put
                dup 3 2 roll 1 add 4 3 roll putinterval
            } if
        } if
    } if
} bd
/ReplaceOwnerName {
    dup length 0 gt {
        dup 0 get 32 eq dup 3 1 roll {
            dup length 1 sub 1 exch getinterval
        } if
        1 dict begin
        6 2 index { 1 sub } if /NameLength xd
        dup length 0 gt {
            dup 0 get 32 ne {
                ( ) search {
                    exch pop true exch
                    0 3 index {
                        32 ne { exit } if 1 add
                    } forall dup 4 index length eq {
                        pop 3 1 roll pop pop false
                    } {
                        dup 0 eq { pop } {
                            4 3 roll dup length 3 2 roll dup 3 1 roll sub getinterval 3 1 roll
                        } ifelse
                    } ifelse
                } { false exch } ifelse
                dup cvn load exec Powers Power get /ShortName get dup length 0 gt { exch } if pop
                exch {
                    dup length dup NameLength lt { NameLength } { dup } ifelse 1 add
                    dup 4 index length add string
                    3 2 roll 1 3 index 1 sub { 1 index exch 32 put } for
                    dup 0 5 4 roll putinterval
                    dup 3 2 roll 4 3 roll putinterval
                } if
            } if
        } if
        end
        exch {
            dup length 1 add string dup 0 32 put dup 1 4 3 roll putinterval
        } if
    } if
} bd
/ReplaceAdjustmentName {
    dup length 0 gt {
        dup 0 get 32 ne {
            ( ) search {
                exch pop true exch
                0 3 index {
                    32 ne { exit } if 1 add
                } forall dup 4 index length eq {
                    pop 3 1 roll pop pop false
                } {
                    dup 0 eq { pop } {
                        4 3 roll dup length 3 2 roll dup 3 1 roll sub getinterval 3 1 roll
                    } ifelse
                } ifelse
            } { false exch } ifelse
            dup cvn load exec Powers Power get /ShortName get dup length 0 gt { exch } if pop
            exch {
                dup length dup 5 lt { 5 } { dup } ifelse 1 add
                dup 4 index length add string
                3 2 roll 1 3 index 1 sub { 1 index exch 32 put } for
                dup 0 5 4 roll putinterval
                dup 3 2 roll 4 3 roll putinterval
            } if
        } if
    } if
} bd
/Owner <<
    /Steps [
        { /Overlaps 11 array def /Count 0 def /Remaining 22 def /Y 101.46 def false true } bind
        {
            Count 11 ge {
                /StepIndex StepIndex 3 add def false true
            } {
                /Y Y 7 sub def
                98 SplitString
                dup length 48 sub dup Overlaps Count 3 2 roll put
                0 gt { 2 } { 1 } ifelse dup Remaining ge { pop false true } {
                    /Remaining Remaining 3 2 roll sub def
                    /Count Count 1 add def
                    20.1 Y m h
                    true false
                } ifelse
            } ifelse
        } bind
        {
            [ exch {
                20.1 Y m h
            } /exec load ] cvx /Finish xd
            true true
        } bind
        {
            /Count 1 def /Finish {
                20.1 Y m (... \() h
                Count dup 1 add log iceiling string cvs h
                ( more\)) h
            } bd false true
        } bind
        { /Count Count 1 add def 98 SplitString pop true false } bind
        { /Count 0 def /Y 101.46 def false true } bind
        {
            /Y Y 7 sub def
            Count 10 ge { false true } {
                Overlaps Count get 0 gt {
                    /Count Count 1 add def false false
                } {
                    Remaining 1 le { false true } {
                        /Remaining Remaining 1 sub def
                        48 SplitString
                        /Count Count 1 add def
                        230.1 Y m h
                        true false
                    } ifelse
                } ifelse
            } ifelse
        } bind
        {
            48 SplitString [ exch {
                230.1 Y m h
            } /exec load ] cvx /Finish xd
            true true
        } bind
        {
            /Count 1 def /Finish {
                230.1 Y m (... \() h
                Count dup 1 add log iceiling string cvs h
                ( more\)) h
            } bd false true
        } bind
        { /Count Count 1 add def 48 SplitString pop true false } bind
    ]
    /Start {
        TextFixedFont 7 y z
        /StepIndex 0 def
        /Step Steps 0 get def
        /Finish { } def
    } bind
    /Write {
        ReplaceOwnerName
        15 {
            Step {
                /StepIndex StepIndex 1 add def
                /Step Steps StepIndex get def
            } if { not { exit } if () } if
        } loop
    } bind
>> def
/OwnerReport {
    SwitchToTextMode
    Owner begin Start end
    /FinishReport /FinishOwnerReport load def
} bd
/WriteOwner {
    Owner begin Write end
} bd
/FinishOwnerReport {
    Owner begin Finish end
} bd
/Adjustment <<
    /Steps [
        { /Count 0 def /Y 101.46 def false true } bind
        {
            Count 10 ge { false true } {
                34 SplitString
                /Count Count 1 add def /Y Y 7 sub def
                440.1 Y m h
                true false
            } ifelse
        } bind
        {
            34 SplitString [ exch {
                440.1 24.46 m h
            } /exec load ] cvx /Finish xd
            true true
        } bind
        {
            /Count 1 def /Finish {
                440.1 24.46 m (... \() h
                Count dup 1 add log iceiling string cvs h
                ( more\)) h
            } bd false true
        } bind
        { /Count Count 1 add def 34 SplitString pop true false } bind
    ]
    /Start {
        TextFixedFont 7 y z
        /StepIndex 0 def
        /Step Steps 0 get def
        /Finish { } def
    } bind
    /Write {
        ReplaceAdjustmentName
        14 {
            Step {
                /StepIndex StepIndex 1 add def
                /Step Steps StepIndex get def
            } if { not { exit } if () } if
        } loop
    } bind
>> def
/AdjustReport {
    SwitchToTextMode
    Adjustment begin Start end
    /FinishReport /FinishAdjustReport load def
} bd
/WriteAdjust {
    Adjustment begin Write end
} bd
/FinishAdjustReport {
    Adjustment begin Finish end
} bd
/Retreat <<
    /Steps [
        { /Count 0 def /Y 136.46 def false true } bind
        {
            Count 15 ge { false true } {
                43 SplitString
                /Count Count 1 add def /Y Y 7 sub def
                591.3 Y m h
                true false
            } ifelse
        } bind
        {
            43 SplitString [ exch {
                591.3 24.46 m h
            } /exec load ] cvx /Finish xd
            true true
        } bind
        {
            /Count 1 def /Finish {
                591.3 24.46 m (... \() h
                Count dup 1 add log iceiling string cvs h
                ( more\)) h
            } bd false true
        } bind
        { /Count Count 1 add def 43 SplitString pop true false } bind
    ]
    /Start {
        TextHeadingFont 7 y z
        591.3 136.46 moveto
        (Retreats) h
        TextFixedFont 7 y z
        /StepIndex 0 def
        /Step Steps 0 get def
        /Finish { } def
    } bind
    /Write {
        ReplaceAdjustmentName
        12 {
            Step {
                /StepIndex StepIndex 1 add def
                /Step Steps StepIndex get def
            } if { not { exit } if () } if
        } loop
    } bind
>> def
/RetreatReport {
    SwitchToTextMode
    Retreat begin Start end
    /FinishReport /FinishRetreatReport load def
} bd
/WriteRetreat {
    Retreat begin Write end
} bd
/FinishRetreatReport {
    Retreat begin Finish end
} bd
/Order <<
    /Steps [
        { /Count 0 def /Y 549.46 def false true } bind
        {
            Count 57 ge { false true } {
                43 SplitString
                /Count Count 1 add def /Y Y 7 sub def
                591.3 Y m h
                true false
            } ifelse
        } bind
        {
            43 SplitString [ exch {
                591.3 143.46 m h
            } /exec load ] cvx /Finish xd
            true true
        } bind
        {
            /Count 1 def /Finish {
                591.3 143.46 m (... \() h
                Count dup 1 add log iceiling string cvs h
                ( more\)) h
            } bd false true
        } bind
        { /Count Count 1 add def 43 SplitString pop true false } bind
    ]
    /Start {
        TextFixedFont 7 y z
        /StepIndex 0 def
        /Step Steps 0 get def
        /Finish { } def
    } bind
    /Write {
        ReplaceOrderName
        6 {
            Step {
                /StepIndex StepIndex 1 add def
                /Step Steps StepIndex get def
            } if { not { exit } if () } if
        } loop
    } bind
>> def
/OrderReport {
    SwitchToTextMode
    Order begin Start end
    /FinishReport /FinishOrderReport load def
} bd
/WriteOrder {
    Order begin Write end
} bd
/FinishOrderReport {
    Order begin Finish end
} bd
/DrawTitle {
    SwitchToTextMode
    TextTitleFont 21 y z
    (Diplomacy)
    591.3 574.38 m h
    TextTitleFont 14 y z
    dup stringwidth pop dup 180.6 gt {
        591.3 554.5 m
        180.6 exch div dup 1 x exch
        0 3.92 rmoveto h
        1 exch div 1 x
    } {
        pop 591.3 558.42 m h
    } ifelse
} bd
/SwitchToTextMode {
    InTextMode {
        FinishReport /FinishReport { } def
    } {
        r /InTextMode true def
    } ifelse
} bd
/SwitchToMapMode {
    InTextMode {
        FinishReport /FinishReport { } def
        /InTextMode false def
        s
        31.95 111.5 539.1 473 rectclip .8584 .8584 x 15.22 104.89 t
        ArrowColor
        OkOrder
    } if
} bd
/FrameMap {
    s
    2 w LandBrown
    28.95 108.5 m 574.05 108.5 l 574.05 587.5 l 28.95 587.5 l
    p
    s 8 w Black k r
    clipsave clip k cliprestore
    r
} bd
/IncludeLand {
    s
    /fk {
        p
        s LandBrown f r
        k
    } bd
    .75 w BorderBlack
    OutlineChartLandBrown
    OutlineChartBrown
    r
} bd
/IncludeInternalBorders {
    s
    /fk { k } bd
    .75 w [ 4.5 1.5 ] 2.25 d BorderBlack
    OutlineChartBlack
    r
} bd
/IncludeBorders {
    s
    /fk { k } bd
    1.5 w BorderBlack
    OutlineChartBorderBlack
    r
} bd
/IncludeMountain {
    s
    /fk {
        p
        s MountainGrey f r
        k
    } bd
    1.5 w BorderBlack
    OutlineChartGrey
    r
} bd
/IncludeLake {
    s
    /fk {
        p
        s SeaBlue f r
        k
    } bd
    .75 w BorderBlack
    OutlineChartBlue
    r
} bd
/VisitColors {
    3 dict begin
    /c xd /r xd /g xd
    /BorderBlack .1 g
    /MountainGrey .5 g
    /IceGrey .9 g
    /ArrowBlack 0 g
    /ArrowWhite .9 g
    /Black 0 g
    /White .9 g
    /LandBrown .8 .7 .4 r
    /SeaBlue .1 .4 .6 r
    /LandGreen 0 .4 0 r
    /SeaWhite 1 1 1 r
    /ArrowRed 1 0 0 r
    /ArrowBlue .529 .808 .922 r
    /Red 1 0 0 r
    /Blue 0 0 1 r
    /Turquoise .2 .7 .7 r
    /Green 0 .7 0 r
    /Yellow 1 1 0 r
    /BelgiumColor .98 .37 0 r
    /BulgariaColor .45 .45 1 r
    /DenmarkColor .91 .65 .18 r
    /GreeceColor 1 0 .50 r
    /HollandColor 1 0 1 r
    /NorwayColor .25 .50 0 r
    /PortugalColor .50 .50 .50 r
    /RumaniaColor .25 .50 .50 r
    /SerbiaColor .50 .25 0 r
    /SpainColor 1 .50 .75 r
    /SwedenColor .50 0 .50 r
    /TunisColor .50 0 .25 r
    /Brown .6 .45 .2 r
    end
} def
/OutlineChartLandBrown {
    549 25 m
    549 31 l
    555 43 l
    555 52 l
    550 60 l
    551 68 l
    555 75 l
    550 75 l
    545 71 l
    536 71 l
    523 60 l
    516 58 l
    508 60 l
    501 64 l
    490 65 l
    486 57 l
    475 55 l
    466 58 l
    459 63 l
    454 60 l
    444 59 l
    448 65 l
    447 73 l
    435 82 l
    435 89 l
    440 94 l
    432 98 l
    431 106 l
    438 113 l
    448 114 l
    452 118 l
    458 113 l
    467 122 l
    458 130 l
    470 131 l
    478 129 l
    486 130 l
    488 135 l
    499 145 l
    512 148 l
    519 152 l
    534 148 l
    541 142 l
    552 142 l
    558 139 l
    576 143 l
    580 146 l
    586 146 l
    591 152 l
    597 156 l
    600 162 l
    590 177 l
    577 177 l
    560 188 l
    551 190 l
    540 201 l
    536 200 l
    536 205 l
    543 203 l
    547 217 l
    539 222 l
    551 235 l
    539 228 l
    531 226 l
    521 218 l
    512 209 l
    505 207 l
    506 206 l
    511 206 l
    519 200 l
    525 201 l
    527 204 l
    533 205 l
    533 197 l
    525 197 l
    524 195 l
    523 191 l
    514 187 l
    511 182 l
    503 181 l
    497 184 l
    504 186 l
    502 190 l
    490 195 l
    489 199 l
    502 203 l
    501 206 l
    485 205 l
    487 211 l
    475 211 l
    468 201 l
    466 195 l
    462 192 l
    464 182 l
    458 181 l
    455 176 l
    453 171 l
    454 163 l
    449 158 l
    446 149 l
    446 142 l
    454 136 l
    455 126 l
    450 122 l
    445 122 l
    440 117 l
    432 117 l
    427 121 l
    420 120 l
    416 119 l
    407 117 l
    402 107 l
    394 109 l
    390 113 l
    390 108 l
    399 97 l
    406 92 l
    409 88 l
    413 78 l
    411 77 l
    407 81 l
    408 74 l
    406 73 l
    403 76 l
    397 75 l
    401 72 l
    403 65 l
    401 64 l
    396 68 l
    395 66 l
    400 60 l
    404 50 l
    402 49 l
    396 56 l
    396 49 l
    393 50 l
    390 58 l
    389 58 l
    387 53 l
    381 60 l
    383 63 l
    379 70 l
    380 75 l
    385 78 l
    394 77 l
    396 79 l
    385 80 l
    377 76 l
    374 80 l
    370 92 l
    363 97 l
    359 102 l
    354 111 l
    351 136 l
    339 146 l
    330 150 l
    314 167 l
    310 167 l
    306 172 l
    308 179 l
    302 180 l
    298 184 l
    297 195 l
    286 189 l
    285 180 l
    282 176 l
    294 164 l
    298 152 l
    303 148 l
    305 143 l
    313 136 l
    320 134 l
    322 127 l
    331 125 l
    342 114 l
    347 106 l
    342 100 l
    332 108 l
    327 107 l
    325 101 l
    330 96 l
    325 85 l
    321 77 l
    312 73 l
    308 79 l
    315 87 l
    318 96 l
    313 104 l
    303 111 l
    290 125 l
    279 132 l
    272 141 l
    263 151 l
    261 169 l
    252 179 l
    245 181 l
    237 173 l
    223 168 l
    212 168 l
    197 179 l
    183 175 l
    183 160 l
    176 155 l
    159 151 l
    142 142 l
    134 136 l
    134 127 l
    138 124 l
    136 118 l
    126 118 l
    121 109 l
    117 114 l
    109 108 l
    104 103 l
    95 103 l
    86 109 l
    74 110 l
    67 107 l
    57 109 l
    52 119 l
    48 127 l
    44 131 l
    34 131 l
    29 139 l
    32 145 l
    36 152 l
    35 156 l
    29 154 l
    31 165 l
    38 172 l
    47 177 l
    52 187 l
    57 203 l
    55 214 l
    60 221 l
    70 218 l
    72 225 l
    92 215 l
    118 201 l
    138 195 l
    156 230 l
    149 243 l
    149 254 l
    139 262 l
    128 265 l
    132 276 l
    148 279 l
    156 270 l
    164 270 l
    164 286 l
    171 283 l
    171 276 l
    181 273 l
    182 279 l
    192 278 l
    197 284 l
    200 290 l
    210 291 l
    219 298 l
    225 300 l
    227 307 l
    240 319 l
    256 318 l
    258 323 l
    268 320 l
    272 322 l
    273 333 l
    269 336 l
    275 342 l
    271 348 l
    274 356 l
    270 362 l
    278 369 l
    279 361 l
    290 374 l
    294 372 l
    296 366 l
    290 364 l
    290 358 l
    294 354 l
    287 349 l
    290 343 l
    294 341 l
    288 336 l
    283 337 l
    280 331 l
    284 327 l
    291 326 l
    292 321 l
    297 321 l
    307 325 l
    315 327 l
    312 319 l
    320 316 l
    324 323 l
    327 319 l
    338 325 l
    350 329 l
    356 327 l
    358 319 l
    366 322 l
    365 328 l
    376 330 l
    373 337 l
    375 343 l
    371 351 l
    377 362 l
    381 371 l
    389 370 l
    391 363 l
    397 363 l
    400 373 l
    395 381 l
    388 387 l
    393 396 l
    407 400 l
    418 399 l
    423 399 l
    431 407 l
    437 408 l
    431 413 l
    422 413 l
    409 412 l
    401 408 l
    390 407 l
    385 402 l
    376 414 l
    375 425 l
    375 438 l
    371 444 l
    384 460 l
    393 472 l
    401 481 l
    397 489 l
    390 489 l
    379 484 l
    376 472 l
    371 464 l
    363 453 l
    355 444 l
    351 434 l
    349 426 l
    349 418 l
    355 411 l
    361 406 l
    361 400 l
    355 398 l
    358 391 l
    348 388 l
    342 380 l
    343 365 l
    339 353 l
    320 346 l
    321 337 l
    309 336 l
    307 342 l
    311 348 l
    305 350 l
    309 357 l
    303 370 l
    300 381 l
    301 394 l
    293 396 l
    283 390 l
    272 385 l
    266 387 l
    264 395 l
    257 395 l
    257 401 l
    263 401 l
    266 408 l
    258 407 l
    259 424 l
    263 439 l
    271 449 l
    283 457 l
    295 461 l
    307 470 l
    319 482 l
    325 494 l
    330 505 l
    337 512 l
    341 519 l
    342 525 l
    331 523 l
    340 532 l
    341 538 l
    350 543 l
    349 530 l
    354 542 l
    362 550 l
    372 558 l
    386 564 l
    400 565 l
    413 561 l
    418 566 l
    427 560 l
    421 556 l
    428 549 l
    432 557 l
    443 549 l
    453 549 l
    467 542 l
    477 540 l
    486 533 l
    492 523 l
    489 516 l
    481 510 l
    472 506 l
    460 506 l
    453 508 l
    439 516 l
    450 505 l
    460 495 l
    461 484 l
    473 472 l
    483 473 l
    483 479 l
    474 483 l
    471 492 l
    488 491 l
    495 487 l
    496 495 l
    488 498 l
    490 504 l
    500 517 l
    505 521 l
    511 520 l
    511 527 l
    505 533 l
    504 544 l
    497 550 l
    506 553 l
    515 552 l
    519 544 l
    513 539 l
    514 534 l
    519 538 l
    524 533 l
    530 541 l
    531 553 l
    538 562 l
    543 565 l
    547 572 l
    547 576 l
    650 576 l
    650 25 l
    549 25 l
    fk
    22 80 m
    32 86 l
    40 93 l
    45 101 l
    55 107 l
    63 101 l
    63 94 l
    78 88 l
    84 87 l
    92 81 l
    108 81 l
    124 85 l
    136 88 l
    146 84 l
    164 86 l
    193 80 l
    212 80 l
    223 74 l
    229 73 l
    235 76 l
    245 76 l
    246 68 l
    256 71 l
    257 66 l
    249 59 l
    254 49 l
    253 42 l
    246 36 l
    240 27 l
    239 25 l
    22 25 l
    22 80 l
    fk
} bd
/OutlineChartBrown {
    130 300 m
    134 297 l
    140 300 l
    146 301 l
    149 298 l
    154 298 l
    155 304 l
    161 304 l
    165 298 l
    174 298 l
    182 295 l
    186 292 l
    191 293 l
    201 300 l
    193 301 l
    198 305 l
    205 308 l
    207 314 l
    208 322 l
    201 325 l
    194 322 l
    191 326 l
    199 330 l
    200 342 l
    198 350 l
    195 353 l
    195 364 l
    192 371 l
    188 375 l
    181 372 l
    188 379 l
    183 379 l
    190 382 l
    199 389 l
    205 397 l
    193 402 l
    183 402 l
    191 407 l
    197 413 l
    201 419 l
    203 425 l
    193 422 l
    189 417 l
    180 421 l
    173 410 l
    164 411 l
    160 407 l
    164 402 l
    156 385 l
    157 377 l
    166 374 l
    161 371 l
    161 365 l
    175 365 l
    169 359 l
    170 354 l
    174 349 l
    168 342 l
    160 348 l
    155 345 l
    155 339 l
    159 335 l
    154 329 l
    144 327 l
    142 324 l
    147 321 l
    152 323 l
    153 315 l
    159 313 l
    164 316 l
    160 311 l
    150 314 l
    146 311 l
    145 308 l
    136 306 l
    135 302 l
    130 300 l
    fk
    109 335 m
    115 335 l
    118 337 l
    124 333 l
    128 333 l
    131 338 l
    137 334 l
    145 346 l
    147 358 l
    153 359 l
    157 363 l
    157 370 l
    155 378 l
    149 379 l
    147 383 l
    135 383 l
    132 376 l
    134 373 l
    129 373 l
    121 378 l
    118 372 l
    118 367 l
    112 365 l
    117 361 l
    122 358 l
    114 355 l
    111 348 l
    106 351 l
    103 347 l
    103 339 l
    109 335 l
    fk
    537 56 m
    527 50 l
    518 49 l
    511 44 l
    512 37 l
    522 37 l
    531 43 l
    532 49 l
    537 56 l
    fk
    437 37 m
    435 36 l
    426 37 l
    422 40 l
    414 39 l
    412 37 l
    409 40 l
    403 39 l
    401 36 l
    401 30 l
    408 33 l
    419 28 l
    422 28 l
    426 32 l
    435 30 l
    438 34 l
    437 37 l
    fk
    306 80 m
    300 83 l
    298 79 l
    289 79 l
    284 84 l
    276 84 l
    272 79 l
    278 72 l
    288 66 l
    295 60 l
    301 56 l
    305 60 l
    305 72 l
    306 80 l
    fk
    243 104 m
    235 102 l
    231 100 l
    229 107 l
    232 117 l
    230 125 l
    228 130 l
    233 134 l
    236 130 l
    240 130 l
    243 135 l
    248 130 l
    249 123 l
    243 104 l
    fk
    250 160 m
    242 154 l
    237 152 l
    237 145 l
    241 139 l
    246 137 l
    249 147 l
    252 152 l
    250 160 l
    fk
    173 129 m
    168 129 l
    165 126 l
    166 120 l
    173 120 l
    178 125 l
    173 129 l
    fk
    224 443 m
    219 443 l
    214 436 l
    219 432 l
    224 439 l
    224 443 l
    fk
    185 461 m
    192 470 l
    196 476 l
    193 481 l
    185 479 l
    182 474 l
    188 471 l
    184 465 l
    185 461 l
    fk
    363 373 m
    360 366 l
    359 361 l
    353 360 l
    350 364 l
    350 369 l
    355 373 l
    363 373 l
    fk
    302 348 m
    305 344 l
    304 336 l
    297 333 l
    295 337 l
    298 341 l
    294 346 l
    298 350 l
    302 348 l
    fk
    174 421 m
    170 423 l
    164 418 l
    159 416 l
    158 411 l
    165 414 l
    170 414 l
    173 417 l
    174 421 l
    fk
} bd
/OutlineChartBlack {
    639 259 m
    632 285 l
    622 304 l
    609 315 l
    592 318 l
    575 311 l
    556 301 l
    547 301 l
    532 303 l
    509 290 l
    499 288 l
    fk
    499 288 m
    492 277 l
    486 261 l
    463 243 l
    451 231 l
    440 214 l
    fk
    498 288 m
    466 288 l
    443 286 l
    421 282 l
    402 277 l
    fk
    401 265 m
    401 278 l
    fk
    401 278 m
    399 297 l
    fk
    399 297 m
    387 310 l
    fk
    398 297 m
    417 304 l
    424 315 l
    423 323 l
    430 335 l
    430 347 l
    fk
    430 347 m
    427 364 l
    425 378 l
    422 389 l
    413 387 l
    403 388 l
    393 396 l
    fk
    430 347 m
    440 347 l
    454 358 l
    467 366 l
    482 364 l
    491 372 l
    505 392 l
    520 403 l
    546 406 l
    577 412 l
    650 420 l
    fk
    415 413 m
    420 427 l
    422 455 l
    424 531 l
    fk
    378 365 m
    361 367 l
    fk
    355 373 m
    342 381 l
    fk
    309 336 m
    300 329 l
    294 329 l
    288 337 l
    fk
    293 320 m
    298 286 l
    fk
    298 286 m
    307 292 l
    fk
    307 292 m
    324 297 l
    fk
    324 297 m
    326 319 l
    fk
    324 297 m
    345 290 l
    fk
    308 293 m
    311 272 l
    fk
    298 286 m
    266 271 l
    fk
    266 271 m
    248 294 l
    fk
    266 271 m
    253 251 l
    fk
    271 349 m
    265 354 l
    252 355 l
    241 341 l
    236 328 l
    240 319 l
    fk
    271 362 m
    264 369 l
    261 381 l
    266 389 l
    fk
    309 357 m
    294 354 l
    fk
    169 359 m
    153 359 l
    fk
    173 410 m
    176 380 l
    fk
    176 380 m
    165 375 l
    fk
    176 380 m
    180 362 l
    fk
    180 362 m
    187 346 l
    186 332 l
    fk
    186 332 m
    180 322 l
    fk
    180 322 m
    176 307 l
    181 296 l
    fk
    192 323 m
    179 321 l
    fk
    186 332 m
    174 330 l
    158 335 l
    fk
    193 367 m
    180 363 l
    fk
    129 300 m
    103 284 l
    fk
    132 276 m
    103 283 l
    71 295 l
    22 316 l
    fk
    71 295 m
    108 335 l
    fk
    170 422 m
    185 461 l
    fk
    158 410 m
    160 407 l
    fk
    185 479 m
    141 576 l
    fk
    215 435 m
    202 425 l
    fk
    224 439 m
    269 447 l
    fk
    156 230 m
    169 234 l
    fk
    169 234 m
    181 254 l
    fk
    181 254 m
    181 273 l
    fk
    168 234 m
    175 220 l
    184 218 l
    196 223 l
    fk
    196 223 m
    205 234 l
    217 243 l
    222 255 l
    fk
    222 255 m
    227 264 l
    fk
    223 256 m
    211 260 l
    197 255 l
    181 255 l
    fk
    197 223 m
    199 203 l
    fk
    199 203 m
    213 214 l
    227 217 l
    fk
    199 203 m
    179 191 l
    167 178 l
    fk
    137 122 m
    165 123 l
    fk
    178 126 m
    230 124 l
    fk
    261 169 m
    249 160 l
    fk
    232 100 m
    236 76 l
    fk
    240 140 m
    240 130 l
    fk
    272 78 m
    256 71 l
    fk
    354 110 m
    346 106 l
    fk
    402 49 m
    408 40 l
    fk
    410 32 m
    407 25 l
    fk
    467 58 m
    456 55 l
    447 43 l
    438 35 l
    fk
    432 107 m
    431 117 l
    fk
    484 129 m
    491 93 l
    fk
    440 94 m
    452 88 l
    471 93 l
    491 93 l
    fk
    491 93 m
    512 100 l
    531 105 l
    549 100 l
    565 103 l
    578 110 l
    592 121 l
    fk
    586 146 m
    592 120 l
    fk
    592 120 m
    601 94 l
    fk
    601 94 m
    619 89 l
    650 93 l
    fk
    600 95 m
    549 59 l
    fk
    281 215 m
    281 206 l
    267 197 l
    259 188 l
    fk
    259 188 m
    251 180 l
    fk
    258 188 m
    267 176 l
    279 164 l
    285 155 l
    fk
    285 155 m
    300 141 l
    fk
    300 141 m
    309 125 l
    fk
    309 125 m
    323 114 l
    327 104 l
    fk
    308 126 m
    294 121 l
    fk
    304 143 m
    299 141 l
    fk
    285 155 m
    269 144 l
    fk
    343 260 m
    344 245 l
    fk
    319 235 m
    315 219 l
    fk
    340 203 m
    342 215 l
    350 226 l
    357 231 l
    361 240 l
    fk
    307 237 m
    319 235 l
    fk
    319 235 m
    330 242 l
    345 245 l
    fk
    345 245 m
    353 241 l
    361 241 l
    fk
    361 241 m
    375 238 l
    389 233 l
    401 227 l
    410 221 l
    415 216 l
    fk
    299 209 m
    303 216 l
    315 219 l
    fk
    315 219 m
    319 211 l
    325 204 l
    340 203 l
    fk
    340 203 m
    337 195 l
    341 185 l
    351 183 l
    355 177 l
    fk
    470 131 m
    454 136 l
    fk
    394 565 m
    394 576 l
    fk
    200 300 m
    214 294 l
    fk
    63 100 m
    66 107 l
    fk
} bd
/OutlineChartBorderBlack {
    224 74 m
    224 60 l
    213 52 l
    217 39 l
    217 25 l
    fk
    650 140 m
    627 148 l
    626 160 l
    614 165 l
    607 160 l
    600 162 l
    fk
    446 142 m
    436 141 l
    433 143 l
    429 134 l
    433 128 l
    427 120 l
    fk
    418 120 m
    417 130 l
    410 136 l
    401 126 l
    394 129 l
    fk
    394 129 m
    385 124 l
    374 120 l
    fk
    374 120 m
    372 107 l
    362 98 l
    fk
    374 120 m
    370 135 l
    362 145 l
    fk
    351 136 m
    362 145 l
    fk
    362 145 m
    359 152 l
    359 161 l
    353 162 l
    355 177 l
    fk
    355 177 m
    367 175 l
    383 171 l
    fk
    383 171 m
    390 185 l
    402 185 l
    410 190 l
    421 187 l
    427 194 l
    428 202 l
    422 209 l
    415 211 l
    415 217 l
    fk
    415 217 m
    426 225 l
    fk
    426 225 m
    426 239 l
    418 246 l
    414 255 l
    402 264 l
    fk
    402 264 m
    396 254 l
    389 252 l
    382 263 l
    376 264 l
    370 254 l
    359 258 l
    fk
    359 258 m
    352 251 l
    341 261 l
    fk
    341 261 m
    332 258 l
    325 266 l
    317 272 l
    311 272 l
    fk
    311 272 m
    307 265 l
    303 266 l
    298 271 l
    289 264 l
    290 257 l
    297 253 l
    301 245 l
    307 237 l
    fk
    307 237 m
    300 231 l
    291 227 l
    278 226 l
    273 233 l
    266 225 l
    fk
    426 225 m
    434 224 l
    440 215 l
    fk
    440 215 m
    439 205 l
    445 198 l
    447 190 l
    456 187 l
    464 182 l
    fk
    453 172 m
    443 166 l
    439 162 l
    432 166 l
    424 163 l
    413 168 l
    402 162 l
    396 164 l
    393 170 l
    386 165 l
    fk
    386 165 m
    383 171 l
    fk
    386 165 m
    387 158 l
    392 154 l
    387 148 l
    394 129 l
    fk
    271 212 m
    281 215 l
    fk
    281 215 m
    289 218 l
    289 208 l
    300 209 l
    fk
    300 209 m
    303 201 l
    297 194 l
    fk
    237 211 m
    235 198 l
    228 195 l
    229 189 l
    235 184 l
    234 172 l
    fk
    243 228 m
    243 241 l
    253 245 l
    253 251 l
    fk
    253 251 m
    238 257 l
    fk
    238 256 m
    244 264 l
    240 269 l
    241 283 l
    241 290 l
    fk
    241 290 m
    248 294 l
    fk
    248 294 m
    256 295 l
    252 307 l
    258 310 l
    258 314 l
    256 318 l
    fk
    241 290 m
    224 299 l
    fk
    238 258 m
    232 257 l
    234 263 l
    227 264 l
    fk
    227 264 m
    228 273 l
    224 277 l
    219 271 l
    218 280 l
    213 280 l
    211 286 l
    205 290 l
    fk
    359 258 m
    354 267 l
    349 270 l
    349 279 l
    344 285 l
    344 291 l
    fk
    344 291 m
    352 298 l
    368 302 l
    378 308 l
    388 310 l
    fk
    388 310 m
    382 322 l
    376 331 l
    fk
    302 394 m
    308 398 l
    316 417 l
    312 426 l
    320 432 l
    320 438 l
    315 444 l
    318 457 l
    323 469 l
    331 467 l
    339 487 l
    339 495 l
    349 504 l
    349 513 l
    356 522 l
    361 517 l
    361 531 l
    369 524 l
    372 526 l
    371 532 l
    fk
    371 532 m
    372 540 l
    379 545 l
    382 541 l
    381 534 l
    401 535 l
    405 539 l
    401 542 l
    402 548 l
    407 552 l
    417 549 l
    421 546 l
    421 536 l
    424 530 l
    fk
    424 530 m
    429 536 l
    428 550 l
    fk
    371 532 m
    376 531 l
    383 525 l
    388 522 l
    390 509 l
    390 488 l
    fk
    57 202 m
    64 203 l
    65 198 l
    67 193 l
    73 195 l
    74 192 l
    84 195 l
    82 188 l
    79 188 l
    70 179 l
    66 168 l
    63 162 l
    58 162 l
    57 148 l
    44 131 l
    fk
    183 169 m
    177 168 l
    172 171 l
    167 171 l
    167 178 l
    fk
    167 178 m
    161 183 l
    154 179 l
    137 195 l
    fk
    272 333 m
    280 331 l
    fk
} bd
/OutlineChartGrey {
    271 212 m
    266 206 l
    260 212 l
    256 202 l
    251 202 l
    251 211 l
    241 207 l
    237 211 l
    240 216 l
    227 210 l
    226 217 l
    242 228 l
    249 225 l
    260 229 l
    266 225 l
    267 217 l
    271 212 l
    fk
} bd
/OutlineChartBlue {
    448 412 m
    451 418 l
    457 420 l
    452 427 l
    443 430 l
    439 434 l
    434 428 l
    438 423 l
    444 423 l
    446 417 l
    448 412 l
    fk
    477 431 m
    481 432 l
    480 438 l
    472 442 l
    472 448 l
    466 445 l
    468 439 l
    475 436 l
    477 431 l
    fk
    650 260 m
    647 258 l
    638 259 l
    646 250 l
    638 241 l
    634 230 l
    637 218 l
    649 213 l
    650 205 l
    650 260 l
    fk
} bd
{
    currentdict end 3 1 roll [ exch /setgray load ] cvx def begin
}{
    currentdict end 5 1 roll [ 4 1 roll /setrgbcolor load ] cvx def begin
}{
    currentdict end 6 1 roll [ 5 1 roll /setcmykcolor load ] cvx def begin
} bind VisitColors
/ChangeController false def
s
MapUnitLetterFont z
{
    5 2 roll exch load exch load
    2 index [ exch n 0 0 m true charpath pathbbox 3 2 roll add -2 div 3 1 roll add -2 div exch ] 3 1 roll 6 4 roll
    6 dict begin /LongName xd /ShortName xd /Contrast xd /Paint xd /Offset xd /Letter xd currentdict end
    currentdict end 3 1 roll
    Powers 2 index 3 2 roll put
    [ /Power 2 index { ChangeController { Power GetControlledPower /ChangeController false def } if } bind /exec load /def load ] cvx def
    begin
} VisitPowers
r
/FleetTroops FleetTroopBBox /PaintFleet load CreateTroops def
/ArmyTroops ArmyTroopBBox /PaintArmy load CreateTroops def
/SupplyCenters SupplyCenterBBox /PaintSupply load CreateTroops def
{ currentdict end 4 1 roll [ SupplyCenters 4 2 roll 4 index ] cvx def begin } bind
VisitSupplies
/AUSTRIACENTER /AUSTRIA ld
/ENGLANDCENTER /ENGLAND ld
/FRANCECENTER /FRANCE ld
/GERMANYCENTER /GERMANY ld
/ITALYCENTER /ITALY ld
/RUSSIACENTER /RUSSIA ld
/TURKEYCENTER /TURKEY ld
/BELGIUMCENTER /BELGIUM ld
/BULGARIACENTER /BULGARIA ld
/DENMARKCENTER /DENMARK ld
/GREECECENTER /GREECE ld
/HOLLANDCENTER /HOLLAND ld
/NORWAYCENTER /NORWAY ld
/PORTUGALCENTER /PORTUGAL ld
/RUMANIACENTER /RUMANIA ld
/SERBIACENTER /SERBIA ld
/SPAINCENTER /SPAIN ld
/SWEDENCENTER /SWEDEN ld
/TUNISCENTER /TUNIS ld
/UNOWNEDCENTER /UNOWNED ld
/Centers <<
    { pop pop true } bind
    VisitSupplies
>> def
%%EndSetup


 
The DPjudge is copyright © 1995-2018 by Manus Hand. All rights reserved.