XXX    XXX   X  X      X   X                    X  X             X   XXXX   XXXX   XXXX      X                 XXX    XXXX   XXX    X XX   XX     XXXX    XXX   XXXX   XXXX   XXXX   XXXX          XXXX      X   XXXX     XX   XXXX   XX
X   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX
XXX    XXX   X  X      X   X                    X  X             X   XXXX   XXXX   XXXX      X                 XXX    XXXX   XXX    X XX   XX     XXXX    XXX   XXXX   XXXX   XXXX   XXXX          XXXX      X   XXXX     XX   XXXX   XXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX