aboutsummaryrefslogtreecommitdiffstats
path: root/erts/doc/src/erl_fix_alloc.ps
blob: bf65d1556caa553776f8cb55abd99c876772f767 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
%!PS-Adobe-2.0 EPSF-2.0
%%Title: erl_fix_alloc.fig
%%Creator: fig2dev Version 3.1 Patchlevel 2
%%CreationDate: Tue May 20 11:10:33 1997
%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP)
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 506 462
%%Pages: 0
%%BeginSetup
%%IncludeFeature: *PageSize A4
%%EndSetup
%%EndComments
/MyAppDict 100 dict dup begin def
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
-18.0 481.0 translate
1 -1 scale
.9 .9 scale % to make patterns same scale as in xfig

% This junk string is used by the show operators
/PATsstr 1 string def
/PATawidthshow { 	% cx cy cchar rx ry string
  % Loop over each character in the string
  {  % cx cy cchar rx ry char
    % Show the character
    dup				% cx cy cchar rx ry char char
    PATsstr dup 0 4 -1 roll put	% cx cy cchar rx ry char (char)
    false charpath		% cx cy cchar rx ry char
    /clip load PATdraw
    % Move past the character (charpath modified the
    % current point)
    currentpoint			% cx cy cchar rx ry char x y
    newpath
    moveto			% cx cy cchar rx ry char
    % Reposition by cx,cy if the character in the string is cchar
    3 index eq {			% cx cy cchar rx ry
      4 index 4 index rmoveto
    } if
    % Reposition all characters by rx ry
    2 copy rmoveto		% cx cy cchar rx ry
  } forall
  pop pop pop pop pop		% -
  currentpoint
  newpath
  moveto
} bind def
/PATcg {
  7 dict dup begin
    /lw currentlinewidth def
    /lc currentlinecap def
    /lj currentlinejoin def
    /ml currentmiterlimit def
    /ds [ currentdash ] def
    /cc [ currentrgbcolor ] def
    /cm matrix currentmatrix def
  end
} bind def
% PATdraw - calculates the boundaries of the object and
% fills it with the current pattern
/PATdraw {			% proc
  save exch
    PATpcalc			% proc nw nh px py
    5 -1 roll exec		% nw nh px py
    newpath
    PATfill			% -
  restore
} bind def
% PATfill - performs the tiling for the shape
/PATfill { % nw nh px py PATfill -
  PATDict /CurrentPattern get dup begin
    setfont
    % Set the coordinate system to Pattern Space
    PatternGState PATsg
    % Set the color for uncolored pattezns
    PaintType 2 eq { PATDict /PColor get PATsc } if
    % Create the string for showing
    3 index string		% nw nh px py str
    % Loop for each of the pattern sources
    0 1 Multi 1 sub {		% nw nh px py str source
	% Move to the starting location
	3 index 3 index		% nw nh px py str source px py
	moveto			% nw nh px py str source
	% For multiple sources, set the appropriate color
	Multi 1 ne { dup PC exch get PATsc } if
	% Set the appropriate string for the source
	0 1 7 index 1 sub { 2 index exch 2 index put } for pop
	% Loop over the number of vertical cells
	3 index 		% nw nh px py str nh
	{			% nw nh px py str
	  currentpoint		% nw nh px py str cx cy
	  2 index show		% nw nh px py str cx cy
	  YStep add moveto	% nw nh px py str
	} repeat		% nw nh px py str
    } for
    5 { pop } repeat
  end
} bind def

% PATkshow - kshow with the current pattezn
/PATkshow {			% proc string
  exch bind			% string proc
  1 index 0 get			% string proc char
  % Loop over all but the last character in the string
  0 1 4 index length 2 sub {
				% string proc char idx
    % Find the n+1th character in the string
    3 index exch 1 add get	% string proe char char+1
    exch 2 copy			% strinq proc char+1 char char+1 char
    % Now show the nth character
    PATsstr dup 0 4 -1 roll put	% string proc chr+1 chr chr+1 (chr)
    false charpath		% string proc char+1 char char+1
    /clip load PATdraw
    % Move past the character (charpath modified the current point)
    currentpoint newpath moveto
    % Execute the user proc (should consume char and char+1)
    mark 3 1 roll		% string proc char+1 mark char char+1
    4 index exec		% string proc char+1 mark...
    cleartomark			% string proc char+1
  } for
  % Now display the last character
  PATsstr dup 0 4 -1 roll put	% string proc (char+1)
  false charpath		% string proc
  /clip load PATdraw
  neewath
  pop pop			% -
} bind def
% PATmp - the makepattern equivalent
/PATmp {			% patdict patmtx PATmp patinstance
  exch dup length 7 add		% We will add 6 new entries plus 1 FID
  dict copy			% Create a new dictionary
  begin
    % Matrix to install when painting the pattern
    TilingType PATtcalc
    /PatternGState PATcg def
    PatternGState /cm 3 -1 roll put
    % Check for multi pattern sources (Level 1 fast color patterns)
    currentdict /Multi known not { /Multi 1 def } if
    % Font dictionary definitions
    /FontType 3 def
    % Create a dummy encoding vector
    /Encoding 256 array def
    3 string 0 1 255 {
      Encoding exch dup 3 index cvs cvn put } for pop
    /FontMatrix matrix def
    /FontBBox BBox def
    /BuildChar {
	mark 3 1 roll		% mark dict char
	exch begin
	Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
	  PaintType 2 eq Multi 1 ne or
	  { XStep 0 FontBBox aload pop setcachedevice }
	  { XStep 0 setcharwidth } ifelse
	  currentdict		% mark [paintdata] dict
	  /PaintProc load	% mark [paintdata] dict paintproc
	end
	gsave
	  false PATredef exec true PATredef
	grestore
	cleartomark		% -
    } bind def
    currentdict
  end				% newdict
  /foo exch			% /foo newlict
  definefont			% newfont
} bind def
% PATpcalc - calculates the starting point and width/height
% of the tile fill for the shape
/PATpcalc {	% - PATpcalc nw nh px py
  PATDict /CurrentPattern get begin
    gsave
	% Set up the coordinate system to Pattern Space
	% and lock down pattern
	PatternGState /cm get setmatrix
	BBox aload pop pop pop translate
	% Determine the bounding box of the shape
	pathbbox			% llx lly urx ury
    grestore
    % Determine (nw, nh) the # of cells to paint width and height
    PatHeight div ceiling		% llx lly urx qh
    4 1 roll				% qh llx lly urx
    PatWidth div ceiling		% qh llx lly qw
    4 1 roll				% qw qh llx lly
    PatHeight div floor			% qw qh llx ph
    4 1 roll				% ph qw qh llx
    PatWidth div floor			% ph qw qh pw
    4 1 roll				% pw ph qw qh
    2 index sub cvi abs			% pw ph qs qh-ph
    exch 3 index sub cvi abs exch	% pw ph nw=qw-pw nh=qh-ph
    % Determine the starting point of the pattern fill
    %(px, py)
    4 2 roll				% nw nh pw ph
    PatHeight mul			% nw nh pw py
    exch				% nw nh py pw
    PatWidth mul exch			% nw nh px py
  end
} bind def

% Save the original routines so that we can use them later on
/oldfill	/fill load def
/oldeofill	/eofill load def
/oldstroke	/stroke load def
/oldshow	/show load def
/oldashow	/ashow load def
/oldwidthshow	/widthshow load def
/oldawidthshow	/awidthshow load def
/oldkshow	/kshow load def

% These defs are necessary so that subsequent procs don't bind in
% the originals
/fill	   { oldfill } bind def
/eofill	   { oldeofill } bind def
/stroke	   { oldstroke } bind def
/show	   { oldshow } bind def
/ashow	   { oldashow } bind def
/widthshow { oldwidthshow } bind def
/awidthshow { oldawidthshow } bind def
/kshow 	   { oldkshow } bind def
/PATredef {
  MyAppDict begin
    {
    /fill { /clip load PATdraw newpath } bind def
    /eofill { /eoclip load PATdraw newpath } bind def
    /stroke { PATstroke } bind def
    /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
    /ashow { 0 0 null 6 3 roll PATawidthshow }
    bind def
    /widthshow { 0 0 3 -1 roll PATawidthshow }
    bind def
    /awidthshow { PATawidthshow } bind def
    /kshow { PATkshow } bind def
  } {
    /fill   { oldfill } bind def
    /eofill { oldeofill } bind def
    /stroke { oldstroke } bind def
    /show   { oldshow } bind def
    /ashow  { oldashow } bind def
    /widthshow { oldwidthshow } bind def
    /awidthshow { oldawidthshow } bind def
    /kshow  { oldkshow } bind def
    } ifelse
  end
} bind def
false PATredef
% Conditionally define setcmykcolor if not available
/setcmykcolor where { pop } {
  /setcmykcolor {
    1 sub 4 1 roll
    3 {
	3 index add neg dup 0 lt { pop 0 } if 3 1 roll
    } repeat
    setrgbcolor - pop
  } bind def
} ifelse
/PATsc {		% colorarray
  aload length		% c1 ... cn length
    dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
  } ifelse } ifelse
} bind def
/PATsg {		% dict
  begin
    lw setlinewidth
    lc setlinecap
    lj setlinejoin
    ml setmiterlimit
    ds aload pop setdash
    cc aload pop setrgbcolor
    cm setmatrix
  end
} bind def

/PATDict 3 dict def
/PATsp {
  true PATredef
  PATDict begin
    /CurrentPattern exch def
    % If it's an uncolored pattern, save the color
    CurrentPattern /PaintType get 2 eq {
      /PColor exch def
    } if
    /CColor [ currentrgbcolor ] def
  end
} bind def
% PATstroke - stroke with the current pattern
/PATstroke {
  countdictstack
  save
  mark
  {
    currentpoint strokepath moveto
    PATpcalc				% proc nw nh px py
    clip newpath PATfill
    } stopped {
	(*** PATstroke Warning: Path is too complex, stroking
	  with gray) =
    cleartomark
    restore
    countdictstack exch sub dup 0 gt
	{ { end } repeat } { pop } ifelse
    gsave 0.5 setgray oldstroke grestore
  } { pop restore pop } ifelse
  newpath
} bind def
/PATtcalc {		% modmtx tilingtype PATtcalc tilematrix
  % Note: tiling types 2 and 3 are not supported
  gsave
    exch concat					% tilingtype
    matrix currentmatrix exch			% cmtx tilingtype
    % Tiling type 1 and 3: constant spacing
    2 ne {
	% Distort the pattern so that it occupies
	% an integral number of device pixels
	dup 4 get exch dup 5 get exch		% tx ty cmtx
	XStep 0 dtransform
	round exch round exch			% tx ty cmtx dx.x dx.y
	XStep div exch XStep div exch		% tx ty cmtx a b
	0 YStep dtransform
	round exch round exch			% tx ty cmtx a b dy.x dy.y
	YStep div exch YStep div exch		% tx ty cmtx a b c d
	7 -3 roll astore			% { a b c d tx ty }
    } if
  grestore
} bind def
/PATusp {
  false PATredef
  PATDict begin
    CColor PATsc
  end
} bind def

% right30
11 dict begin
/PaintType 1 def
/PatternType 1 def
/TilingType 1 def
/BBox [0 0 1 1] def
/XStep 1 def
/YStep 1 def
/PatWidth 1 def
/PatHeight 1 def
/Multi 2 def
/PaintData [
  { clippath } bind
  { 32 16 true [ 32 0 0 -16 0 16 ]
	{<00030003000c000c0030003000c000c0030003000c000c00
	30003000c000c00000030003000c000c0030003000c000c0
	030003000c000c0030003000c000c000>}
     imagemask } bind
] def
/PaintProc {
	pop
	exec fill
} def
currentdict
end
/P2 exch def
1.1111 1.1111 scale %restore scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawSplineSection {
	/y3 exch def
	/x3 exch def
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	/xa x1 x2 x1 sub 0.666667 mul add def
	/ya y1 y2 y1 sub 0.666667 mul add def
	/xb x3 x2 x3 sub 0.666667 mul add def
	/yb y3 y2 y3 sub 0.666667 mul add def
	x1 y1 lineto
	xa ya xb yb x3 y3 curveto
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n 0 842 m 0 0 l 595 0 l 595 842 l cp clip
 0.06000 0.06000 sc
7.500 slw
% Polyline
n 750 3600 m 750 1200 l 2325 1200 l 2325 3600 l gs col-1 s gr 
% Polyline
n 750 1500 m 2325 1500 l gs col-1 s gr 
% Polyline
n 750 1800 m 2325 1800 l gs col-1 s gr 
15.000 slw
% Polyline
n 375 2100 m 2775 2100 l gs col-1 s gr 
/Times-Roman ff 180.00 scf sf
900 2025 m
gs 1 -1 sc (allocated_blocks) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1200 1725 m
gs 1 -1 sc (free_list) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1200 1425 m
gs 1 -1 sc (item_size) col-1 sh gr
7.500 slw
% Polyline
n 3525 1200 m 5025 1200 l 5025 1800 l 3525 1800 l cp gs col-1 s gr 
% Polyline
n 3525 1500 m 5025 1500 l gs col-1 s gr 
/Times-Roman ff 180.00 scf sf
4050 1425 m
gs 1 -1 sc (next) col-1 sh gr
/Times-Roman ff 180.00 scf sf
4050 1725 m
gs 1 -1 sc (block) col-1 sh gr
% Polyline
n 5850 1200 m 7350 1200 l 7350 1800 l 5850 1800 l cp gs col-1 s gr 
% Polyline
n 5850 1500 m 7350 1500 l gs col-1 s gr 
/Times-Roman ff 180.00 scf sf
6375 1425 m
gs 1 -1 sc (next) col-1 sh gr
/Times-Roman ff 180.00 scf sf
6375 1725 m
gs 1 -1 sc (block) col-1 sh gr
15.000 slw
% Polyline
 [100.0] 0 sd
n 3450 5700 m 5400 5700 l gs col-1 s gr  [] 0 sd
7.500 slw
% Polyline
n 3600 8000 m 3600 3450 l 5175 3450 l 5175 8000 l gs col-1 s gr 
15.000 slw
% Polyline
 [100.0] 0 sd
n 3525 6900 m 5325 6900 l gs col-1 s gr  [] 0 sd
0.000 slw
% Polyline
 [33.3] 0 sd
n 3675 3525 m 5100 3525 l 5100 4425 l 3675 4425 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P2 [16 0 0 -8 245.00 235.00] PATmp PATsp ef gr PATusp  [] 0 sd
% Polyline
 [33.3] 0 sd
n 3675 5775 m 5100 5775 l 5100 6825 l 3675 6825 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P2 [16 0 0 -8 245.00 385.00] PATmp PATsp ef gr PATusp  [] 0 sd
7.500 slw
% Polyline
 [15 50.0] 50.0 sd
n 3600 4725 m 5250 4725 l gs col-1 s gr  [] 0 sd
% Polyline
 [15 50.0] 50.0 sd
n 3600 4950 m 5175 4950 l gs col-1 s gr  [] 0 sd
0.000 slw
% Polyline
 [15 25.0] 25.0 sd
n 6375 3750 m 6675 3750 l 6675 4050 l 6375 4050 l cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P2 [16 0 0 -8 425.00 250.00] PATmp PATsp ef gr PATusp  [] 0 sd
7.500 slw
% Polyline
gs  clippath
4305 3253 m 4275 3373 l 4245 3253 l 4245 3415 l 4305 3415 l  cp clip
n 4275 1800 m 4275 3400 l gs col-1 s gr gr

% arrowhead
n 4305 3253 m 4275 3373 l 4245 3253 l 4275 3253 l 4305 3253 l  cp gs 0.00 setgray ef gr  col-1 s
15.000 slw
% Polyline
 [100.0] 0 sd
n 3450 4500 m 5325 4500 l gs col-1 s gr  [] 0 sd
7.500 slw
% Polyline
gs  clippath
6630 2778 m 6600 2898 l 6570 2778 l 6570 2940 l 6630 2940 l  cp clip
n 6600 1800 m 6600 2925 l gs col-1 s gr gr

% arrowhead
n 6630 2778 m 6600 2898 l 6570 2778 l 6600 2778 l 6630 2778 l  cp gs 0.00 setgray ef gr  col-1 s
15.000 slw
% Polyline
gs  clippath
656 840 m 723 1078 l 552 900 l 713 1181 l 817 1121 l  cp clip
n 450 600 m 750 1125 l gs col-1 s gr gr

% arrowhead
n 656 840 m 723 1078 l 552 900 l 604 870 l 656 840 l  cp gs 0.00 setgray ef gr  col-1 s
% Open spline
gs  clippath
5627 1227 m 5749 1210 l 5650 1282 l 5800 1222 l 5778 1167 l  cp clip
7.500 slw
n 4875.0 1350.0 m 5137.5 1350.0 l
	5137.5 1350.0 5400.0 1350.0 5587.5 1275.0 DrawSplineSection
	5775.0 1200.0 l  gs col-1 s gr
 gr

% arrowhead
n 5627 1227 m 5749 1210 l 5650 1282 l 5639 1255 l 5627 1227 l  cp gs 0.00 setgray ef gr  col-1 s
% Open spline
gs  clippath
7877 1227 m 7999 1210 l 7900 1282 l 8050 1222 l 8028 1167 l  cp clip
n 7125.0 1350.0 m 7387.5 1350.0 l
	7387.5 1350.0 7650.0 1350.0 7837.5 1275.0 DrawSplineSection
	8025.0 1200.0 l  gs col-1 s gr
 gr

% arrowhead
n 7877 1227 m 7999 1210 l 7900 1282 l 7889 1255 l 7877 1227 l  cp gs 0.00 setgray ef gr  col-1 s
% Interp Spline
gs  clippath
3308 4453 m 3423 4496 l 3300 4512 l 3461 4532 l 3468 4472 l  cp clip
n 2175 1650 m
	2346.9 1637.5 2421.9 1637.5 2475 1650 curveto
	2514.6 1659.3 2593.0 1702.0 2625 1725 curveto
	2665.4 1754.1 2753.1 1822.2 2775 1875 curveto
	2790.5 1912.4 2775.0 1990.8 2775 2025 curveto
	2775.0 2537.6 2542.8 3714.4 2775 4275 curveto
	2785.9 4301.4 2829.8 4335.4 2850 4350 curveto
	2882.0 4373.0 2962.7 4412.9 3000 4425 curveto
	3076.1 4449.8 3188.6 4468.5 3450 4500 curveto
 gs col-1 s gr
 gr

% arrowhead
n 3308 4453 m 3423 4496 l 3300 4512 l 3304 4483 l 3308 4453 l  cp gs 0.00 setgray ef gr  col-1 s
% Interp Spline
gs  clippath
5325 6973 m 5201 6969 l 5312 6914 l 5154 6949 l 5167 7007 l  cp clip
n 5100 4575 m
	5270.9 4558.6 5345.9 4558.6 5400 4575 curveto
	5465.1 4594.7 5582.7 4669.6 5625 4725 curveto
	5662.1 4773.6 5691.1 4895.0 5700 4950 curveto
	5764.9 5350.0 5796.1 6267.8 5700 6675 curveto
	5690.7 6714.6 5655.4 6794.6 5625 6825 curveto
	5594.6 6855.4 5511.4 6886.6 5475 6900 curveto
	5424.7 6918.6 5349.7 6937.4 5175 6975 curveto
 gs col-1 s gr
 gr

% arrowhead
n 5325 6973 m 5201 6969 l 5312 6914 l 5319 6944 l 5325 6973 l  cp gs 0.00 setgray ef gr  col-1 s
% Interp Spline
gs  clippath
3300 1202 m 3423 1205 l 3313 1261 l 3471 1226 l 3458 1168 l  cp clip
n 2250 1950 m
	2378.9 1959.4 2435.2 1959.4 2475 1950 curveto
	2514.6 1940.7 2593.0 1898.0 2625 1875 curveto
	2665.4 1845.9 2745.9 1765.4 2775 1725 curveto
	2821.1 1661.1 2878.9 1488.9 2925 1425 curveto
	2939.6 1404.8 2979.8 1364.6 3000 1350 curveto
	3032.0 1327.0 3113.7 1288.5 3150 1275 curveto
	3200.3 1256.4 3275.3 1237.7 3450 1200 curveto
 gs col-1 s gr
 gr

% arrowhead
n 3300 1202 m 3423 1205 l 3313 1261 l 3306 1231 l 3300 1202 l  cp gs 0.00 setgray ef gr  col-1 s
/Times-Roman ff 180.00 scf sf
3975 4650 m
gs 1 -1 sc (next_free) col-1 sh gr
/Times-Roman ff 180.00 scf sf
4050 4875 m
gs 1 -1 sc (magic) col-1 sh gr
/Times-Bold ff 210.00 scf sf
6825 3975 m
gs 1 -1 sc (= allocated memory) col-1 sh gr
/Helvetica-Bold ff 180.00 scf sf
3675 1125 m
gs 1 -1 sc (AllocatedBlock) col-1 sh gr
/Helvetica-Bold ff 180.00 scf sf
1575 1125 m
gs 1 -1 sc (FixItem) col-1 sh gr
/Helvetica-Bold ff 180.00 scf sf
2400 4650 m
gs 1 -1 sc (FreeHeader) col-1 sh gr
/Times-Bold ff 180.00 scf sf
5250 3600 m
gs 1 -1 sc  270.0 rot (item_size) col-1 sh gr
/Times-Bold ff 270.00 scf sf
300 525 m
gs 1 -1 sc (fix_array) col-1 sh gr
$F2psEnd
rs
end