#
# ======================================================================
# Jitter Buffer test data, containing one or more test sessions
# ======================================================================
#
# A test session format:
#
# 1. Session title, started with '=', example:
#    = Bursty environment
# 
# 2. Session setting, started with '%', followed by params:
#    - mode, possible values: 'adaptive' or 'fixed'
#    - initial prefetch, in frames
#    - minimum prefetch (for adaptive mode only), in frames
#    - maximum prefetch (for adaptive mode only), in frames
#    Example:
#    %adaptive 0 0 40
#    %fixed 10
#
# 3. Success conditions, started with '!', followed by condition name 
#    and its maximum tolerable value, in frames unit. Recognized condition 
#    names are: burst, discard, lost, empty, delay, delay_min. These
#    conditions will be verified with jitter buffer statistics after all
#    session test data are executed.
#    Example:
#    !delay 10  <- average delay of jbuf is 10 frames
#
# 4. Session test data, containing sequence of jitter buffer events,
#    an event is represented by a character as follow:
#    - P: PUT a frame into jitter buffer
#    - G: GET a frame from jitter buffer
#    - L: generate a Lost frame, i.e: sequence jump by 1
#    - R: sequence Restart
#    - J: sequence Jump by 20
#    - D: generate a Duplicated frame
#    - O: generate an Old/late (and perhaps also duplicated) frame
#    Example:
#    PGPGPGPGPG <- ideal condition, PUT and GET one after another
#
# 5. End of session test data, marked by '.'
#
# ======================================================================
#

= Ideal condition
%adaptive 0 0 10
!burst	    1
!discard    0
!lost	    0
!empty	    0
!delay	    1
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
.

= DTX
%adaptive 0 0 10
!burst	    1
!discard    0
!lost	    0
!empty	    20
!delay	    1
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# Start silence
GGGGGGGGGGGGGGGGGGGG
# End silence
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.

= Regular burst (three gets three puts)
%adaptive 0 0 10
!burst	    3
!discard    0
!lost	    0
!empty	    0
!delay	    3
PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG
PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG
.

= Random burst (no drift)
%adaptive 0 0 10
!burst	    4
!discard    1 <- there may be delay adaptation caused by multiple empty GETs followed by multiple PUTs, later when burst level reaches 'stable' condition, JB may shrink some excess frames
!lost	    0
!empty	    4
!delay	    4
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
.

= Random burst (with drift, PUT > GET)
%adaptive 0 0 10
!burst	    4
!discard    68 <- number of PUT - GET, JB does shrinking by discarding frames
!lost	    68 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty	    4
!delay	    8  <- should be less than or equal to twice of burst
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG 
P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG 
.

= Random burst (with drift, PUT < GET)
%adaptive 0 0 10
!burst	    4
!discard    0
!lost	    0
!empty	    70 <- GET - PUT = 66, added 4 for tolerating empty caused by burst
!delay	    4  <- should be less than or equal to burst
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG 
G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG 
.

= Packet lost
%adaptive 0 0 10
!burst	    1
!discard    0
!lost	    7
!empty	    3
!delay	    3
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# Some losts
LGPGPGLGPGPGPGLGPGPG
# Normal
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
# More losts
PLPGGGPPPGGGPLPGGGPG PLPGGGPPPGGGPLPGGGPG
# Normal
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG
.

= Sequence restart
%adaptive 0 0 10
!burst	    1
!discard    0
!lost	    0
!empty	    0
!delay	    1
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
# seq restarted after 120 PUTs (default MAX_MISORDER == 100)
R
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
.

= Duplicated frames
= e.g.: some Forward Error Correction (FEC) methods.
%adaptive 0 0 10
!burst	    1
!discard    40
!lost	    0
!empty	    0
!delay	    1
PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG
PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG
.

= Late frames
%adaptive 0 0 10
!burst	    1
!discard    8  <- late frames are discarded + delay adaptation
!lost	    4
!empty	    4
!delay	    4
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
# Suddenly there are some lost frames
LGLGPGLGLGPG
# Those lost frames are actually late (+misordered), here they come
OOOO
# Then back to normal
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG 
.

= PUT burst at the beginning
%adaptive 0 0 10
!burst	    1
!discard    50 <- frames discarded for delay adaptation
!lost	    50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty	    0
!delay_min  2  <- minimum delay, JB is able to adapt the delay
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
.

= Fixed mode prefetch 5, with two empty events
%fixed 5
!burst	    1
!discard    4  <- the burst level is about 1, but prefetching will cause delay by 5 frames prefetching, delay adjustment may take place later on
!lost	    4  <- progressive discard drops frames as if they were lost
!empty	    10
!delay	    5
G
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
GGGGG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
.

= Fixed mode prefetch 5, with random burst
%fixed 5
!burst	    3
!discard    4 <- (see above test scenario)
!lost	    4 <- (see above test scenario)
!empty	    5
!delay	    5
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG 
PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG 
.

= Fixed mode prefetch 10, PUT burst at the beginning
%fixed 10
!burst	    1
!discard    50 <- frames discarded for delay adaptation
!lost	    50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty	    0
!delay_min  20 <- minimum delay, twice of minimal prefetch
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG
.

= Large PUT burst at beginning, then normal with burst level 10 and periodic burst spikes
%adaptive 0 0 40
!burst	    12
!discard    300 <- not so relevant for long period session with many delay adjustments needed (i.e: for first burst and periodic spikes)
!lost	    300 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal
!empty	    60 <- delay adjustment effect, as there is actually no drift
!delay	    20 <- twice of burst level average
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP
GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG
.
