MPI

The Message Passing Interface (MPI) is the standard for distributed memory parallel programming, originally designed for C and Fortran. Today, unofficial bindings like mpi4py bring MPI to Python. First released in 1994, MPI remains the dominant method for writing portable, scalable code for HPC clusters. Despite criticisms of its complex API, no alternative has overtaken it. Common implementations include OpenMPI, MPICH, and Intel MPI. With decades of support and optimization, MPI is a reliable choice for high-performance Python applications.

MPI machine model

In the MPI model, all processors are independent and connected through a uniform network. They are treated as equals, without shared memory or topology. While this model fits all parallel machines, it doesn’t capture real-world details like shared memory or network structures. Optimized MPI versions help, but programmers still need to handle differences in communication performance manually.

Attention!

To make the MPI work you need to have OpenMPI loaded. This is usually done by default in the Jupyter Lab environment when asking for more than one tasks during the setup, however when preparing HPC scripts this has to be done manually by calling ml OpenMPI/4.1.6-GCC-13.2.0

Hello World

Now first we will make sure we have numpy and mpi4py installed and then go to the first Hello World example with MPI.

%%bash
pip install numpy mpi4py
%%writefile hello-mpi.py
#!/usr/bin/env python
"""
Parallel Hello World
"""

from mpi4py import MPI
import sys

size = MPI.COMM_WORLD.Get_size()
rank = MPI.COMM_WORLD.Get_rank()
name = MPI.Get_processor_name()

sys.stdout.write(
    "Hello, World! I am process %d of %d on %s.\n"
    % (rank, size, name))
Writing hello-mpi.py
!mpirun -np 8 python hello-mpi.py #8 = number of processes; should match or less than the number of allocated nodes/cores
zsh:1: command not found: mpirun

!mpirun -np 16 --oversubscribe python filename.py     –> loosing performance Note (if you want to run with more MPI processes than physical cores available):

  • If you want to run with more MPI processes you have to add the option: –oversubscribe

  • You can not do oversubscribing and pinning/binding at the same time.

  • For performance runs you want to avoid oversubscribing, but it’s okay for our little examples in this lab.

!mpirun -np 9 python hello-mpi.py
zsh:1: command not found: mpirun
!mpirun -np 9 --oversubscribe python hello-mpi.py
zsh:1: command not found: mpirun

The command !numactl -s displays the current NUMA (Non-Uniform Memory Access) settings of the system. It shows how CPUs and memory are distributed across NUMA nodes. In the output, the physcpubind list shows which physical CPU cores are available, while cpubind, nodebind, and membind indicate which CPUs, nodes, and memory nodes the current process is allowed to use. The policy is set to default, meaning no special memory allocation strategy is enforced. This information is important for high-performance computing, where careful CPU and memory binding can significantly improve parallel application performance.

!numactl -s 
zsh:1: command not found: numactl
import os
print(os.uname()[1], os.sched_getaffinity(0)) 
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[6], line 2
      1 import os
----> 2 print(os.uname()[1], os.sched_getaffinity(0)) 

AttributeError: module 'os' has no attribute 'sched_getaffinity'

The result from karolina.it4i.cz shows the list of available CPU core IDs, ranging from 0 to 127. This indicates that the system has 128 CPU cores, which can be used for parallel processing tasks. Each number represents a unique core that can be assigned to specific processes, allowing efficient workload distribution across the machine. This kind of information is vital for optimizing performance in high-performance computing (HPC) environments, where managing how tasks are distributed across CPU cores can significantly impact efficiency.

OpenMPI: Process Mapping and Binding/Pinning

!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread --report-bindings python filename.py

To run MPI programs inside a Jupyter notebook or Colab, you can use a shell escape like !mpirun, which allows shell commands to be executed from a cell.

Number of Processes:
The option -np 8 specifies that 8 parallel processes should be launched. This number should ideally match the number of available CPU cores or slots for best performance.

Process Mapping:
The --map-by core option tells MPI to assign each process to a separate physical CPU core. This helps distribute the workload evenly across the hardware.

Rank Assignment:
Using --rank-by slot, MPI assigns ranks to processes based on hardware slot order — that is, processes are ranked following the sequence of available CPU resources.

Process Binding:
The --bind-to hwthread option ensures that each process is locked (or “pinned”) to a specific hardware thread, improving cache usage and communication locality.

Show Bindings:
Adding --report-bindings instructs MPI to print out the specific core or thread each process is bound to, which is useful for verifying that the placement is as expected.

Python Interpreter:
The command specifies python to ensure that the script is run using Python.

Script Path:
Finally, ~/filename.py points to the Python script you want to execute in parallel using MPI.

example

!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread --report-bindings python3 temp/mpi4py/he-mpi.py | sort

Explanation:

  • !mpirun: Executes the mpirun command within a Jupyter cell using a shell escape (!).

  • -np 8: Specifies that 8 parallel processes should be launched.

  • --map-by core: Ensures each process is mapped to a different physical core on the CPU.

  • --rank-by slot: Assigns ranks to the processes in the order of available hardware slots.

  • --bind-to hwthread: Pins each process to a specific hardware thread for better locality and performance.

  • --report-bindings: Prints out where each process is bound, showing which core/thread each process is running on.

  • python3 temp/mpi4py/he-mpi.py: Runs the Python script he-mpi.py using Python 3.


!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread --report-bindings python hello-mpi.py | sort +2n -3  
[cn071.karolina.it4i.cz:1028491] MCW rank 7 bound to socket 0[core 7[hwt 0]]: [./././././././B/./././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 0 bound to socket 0[core 0[hwt 0]]: [B/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 1 bound to socket 0[core 1[hwt 0]]: [./B/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 2 bound to socket 0[core 2[hwt 0]]: [././B/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 3 bound to socket 0[core 3[hwt 0]]: [./././B/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 4 bound to socket 0[core 4[hwt 0]]: [././././B/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 5 bound to socket 0[core 5[hwt 0]]: [./././././B/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[cn071.karolina.it4i.cz:1028491] MCW rank 6 bound to socket 0[core 6[hwt 0]]: [././././././B/././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
Hello, World! I am process 0 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 1 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 2 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 3 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 4 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 5 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 6 of 8 on cn071.karolina.it4i.cz.
Hello, World! I am process 7 of 8 on cn071.karolina.it4i.cz.

mpi4py

MPI for Python provides Python bindings for the Message Passing Interface (MPI) standard, allowing Python applications to exploit multiple processors on workstations, clusters and supercomputers

%%writefile first_mpi4py.py

import numpy as np
from mpi4py import MPI

comm_world = MPI.COMM_WORLD                      # communicator
rank_world = comm_world.Get_rank()               # process rank with respect to the communicator
size_world = comm_world.Get_size()               # size of / number of processes in the communicator

snd_buffer = np.array(rank_world, dtype=np.intc) # send buffer - just for fun, the rank of the processes
rcv_buffer = np.zeros((), dtype=np.intc)         # receive buffer to hold the result


# Print result before the reduction is done for rank_world == 0:
if rank_world == 0:
   print(f' {rank_world} / {size_world} - before = {rcv_buffer}')


# Compute the SUM of all snd_buffer (rank_world) - result available on root process only (Reduce):

comm_world.Reduce(snd_buffer, rcv_buffer)
# Print result only on the root process:
if rank_world == 0:
   print(f' {rank_world} / {size_world} - reduce = {rcv_buffer}')

# Print result on all processes:    
print(f' {rank_world} / {size_world} - result = {rcv_buffer}')
Writing first_mpi4py.py

snd_buffer: An array initialized to hold the rank of the current process. Each process will send its own rank as the data to be reduced.

rcv_buffer: An empty buffer to store the result of the reduction operation. Initially, it’s filled with zeros.

!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 first_mpi4py.py | sort -n
 0 / 8 - before = 0
 0 / 8 - reduce = 28
 0 / 8 - result = 28
 1 / 8 - result = 0
 2 / 8 - result = 0
 3 / 8 - result = 0
 4 / 8 - result = 0
 5 / 8 - result = 0
 6 / 8 - result = 0
 7 / 8 - result = 0

Basic

Processes & Communicators

MPI programs typically follow the SPMD (Single Program, Multiple Data) programming paradigm, where each process runs the same executable but with different data. In the pure (single-threaded) MPI model, each core on one or several node(s) will execute an MPI process. These processes communicate via explicit message passing over a transparent network such that in general the programmer needs not to care whether the communicating processes are located on the same node or distributed over several nodes. MPI processes are organized in logical sets that define which processes are allowed to communicate with each other. Such a set of processes is known as a communicator. One special communicator that contains all processes is created at the start of an MPI program, this communicator is called MPI_COMM_WORLD.

Pickling

Pickling refers to the serialization and deserialization of Python objects, which is commonly done by the help of the pickle module. Before objects can be stored or transferred over a network, they need to be converted into a byte stream that preserves the objects’ structure. The inverse process converts this byte stream back into an object that is identical to the original. MPI4Py provides pickle-based communication of generic Python objects as well as direct array data communication of buffer-provider objects, such as NumPy arrays. Communication functions with all-lowercase names are meant for generic pickled objects, while those starting with an upper-case letter are used for buffered objects.

Point-to-Point Communication

The simplest method to communicate with MPI is point-to-point communication between two specific processes, a sender and a receiver. Both processes actively participate in this form of communication where the sender must execute some send function while the receiver executes some receive function. Furthermore, both processes must be in the same communicator and need information about the communication partner (source or destination rank) as well as a tag that helps to identify the message.

MPI is equipped with two flavors of point-to-point communication: blocking and nonblocking, each of which can be performed in four modes. Blocking and nonblocking communication can be mixed as needed, e.g., on process can do a nonblocking send and the other process can do a blocking receive. With blocking communication, the processes may or may not wait until the communication partner is ready to engage in the communication, while processes doing nonblocking communication can always continue immediately with the execution of the next line(s) of code (no specific action by any other process is needed) but require the programmer to check whether the message transfer has happened (i.e., if it is safe to change the send buffer or if the receive buffer is actually filled).

Table of MPI Point-to-Point Communication

Communication Type

Operation

Description

Data Type

MPI.INT

Represents integer data type in MPI. Used when sending or receiving integers.

Sender’s Destination

dest=1

Specifies the destination rank. dest=1 means the message is sent to rank 1.

Receiver’s Source

source=0

Specifies the source rank. source=0 means the message is expected from rank 0.

Tag

tag=0

A tag or label used to identify messages, helping the receiver distinguish between different message types.

Blocking Send

Send

The sender waits for the message to be received before continuing.

Non-blocking Send

Isend

The sender continues working immediately after sending the message. No waiting for the receiver.

Synchronous Send

Ssend

The sender waits for the receiver to acknowledge the receipt of the message.

Buffered Send

Bsend

Sends a message without waiting for the receiver (uses an internal buffer). Not recommended anymore.

Ready Send

Rsend

Sends the message only if the receiver is already ready. For experts only, and should be used with care.

Blocking Receive

Recv

The receiver waits for the message to be ready before continuing.

Non-blocking Receive

Irecv

The receiver checks for a message, but can continue its work and come back to check later.

Completion (Blocking)

-

For blocking sends and receives, the operation automatically completes once the message is sent or received.

Completion (Non-blocking)

Wait, Test

For non-blocking operations, you must use Wait or Test to ensure the operation is completed before continuing.

Any Completion

Waitany, Testany

Waits or tests for any operation to finish in the non-blocking communication.

Some Completion

Waitsome, Testsome

Waits or tests for some operations to finish in the non-blocking communication.

All Completion

Waitall, Testall

Waits or tests for all operations to finish in the non-blocking communication.

Blocking Point-to-Point Communication

%%writefile demo_bp2p_standard.py

import numpy as np
from mpi4py import MPI

comm = MPI.COMM_WORLD                             # communicator
rank = comm.Get_rank()                            # process rank with respect to comm
data = [0.12, 3.45, 6.78, 9.10]

if rank == 1:
    rcv_buf = np.zeros_like(data)
    print(f' Process {rank} before   {rcv_buf}')
    
if rank == 0:                             # just for demo, usually all MPI processes do the same
    snd_buf = np.array(data)
    print(f' Process {rank} sends    {snd_buf}')
    comm.Send(snd_buf, dest=1)                    # blocking standard send
elif rank == 1:
    comm.Recv(rcv_buf, source=0)                  # blocking receive
    print(f' Process {rank} received {rcv_buf}')  
Writing demo_bp2p_standard.py
!mpirun -np 4 --map-by core --rank-by slot --bind-to hwthread python3 demo_bp2p_standard.py 
 Process 1 before   [0. 0. 0. 0.]
 Process 0 sends    [0.12 3.45 6.78 9.1 ]
 Process 1 received [0.12 3.45 6.78 9.1 ]

NOTE: The output lines can/will be in random order, since neither MPI nor Linux mandate a specific order.

Synchronous Send

Synchronous Send is the most stringent communication mode, since the sending process requires the receiving process to provide a matching receive, which is similar to accepting a handshake, in order to start the send. This means that the receiving process has to declare its readiness for receiving a message. Ideally, every MPI program still works correctly when standard send is replaced with synchronous send, however, if it is used incorrectly, it can lead to deadlocks and serialization. The use case for this mode is debugging.

%%writefile demo_bp2p_synchronous.py

import numpy as np
from mpi4py import MPI


comm = MPI.COMM_WORLD
rank = comm.Get_rank()
data = [0.12, 3.45, 6.78, 9.10]

if rank == 1:
    rcv_buf = np.zeros_like(data)
    print(f' Process {rank} before   {rcv_buf}')
    
if rank == 0:
    snd_buf = np.array(data)
    print(f' Process {rank} sends    {snd_buf}')
    comm.Ssend(snd_buf, dest=1)
elif rank == 1:
    comm.Recv(rcv_buf, source=0)
    print(f' Process {rank} received {rcv_buf}')  
Writing demo_bp2p_synchronous.py
!mpirun -np 2 --map-by core --rank-by slot --bind-to hwthread python3 demo_bp2p_synchronous.py 
 Process 1 before   [0. 0. 0. 0.]
 Process 0 sends    [0.12 3.45 6.78 9.1 ]
 Process 1 received [0.12 3.45 6.78 9.1 ]

#### Nonblocking Point-to-Point Communication

Nonblocking calls only initiate send or receive operations but do not complete them. The calls will return before the message has been copied to or from the buffer and a separate call is necessary to complete the operation. It is the programmer’s responsibility to leave the buffer unmodified between initiation and completion of a nonblocking communication. Only after calling a wait function or after a test function returned true, the buffers can be safely read or re-written. The function names of these nonblocking send and receives calls irrespective of their communication mode start with a capital I, which stands for “incomplete” and “immediate”. The primary reason for introducing nonblocking communication into a program is to avoid serializations and deadlocks (it allows overlapping communication with other communication). Another use case is to overlap computation and communication by offloading the communication part to the network hardware with minimal involvement of the CPU, which can continue with the computation part in the meantime. MPI provides nonblocking alternatives to all the previously mentioned communication modes for sending and receiving as well as a set of functions to check for completion of transmission.

Wait

MPI.Wait is essentially the blocking version of MPI.Test that returns only when the operation corresponding to the given request has been completed.

%%writefile demo_ip2p_standard_wait.py

import numpy as np
from mpi4py import MPI
import time

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
data = [0.12, 3.45, 6.78, 9.10]

if rank == 1:
    rcv_buf = np.zeros_like(data)
    print(f' Process {rank} before   {rcv_buf}')
    
if rank == 0:
    snd_buf = np.array(data)
    print(f' Process {rank} sends    {snd_buf}')
    req = comm.Isend(snd_buf, dest=1)
    # perform computation here
    time.sleep(3)
    req.Wait()
    print(f' Isend at process {rank} completed')
elif rank == 1:
    comm.Recv(rcv_buf, source=0)
    print(f' Process {rank} received {rcv_buf}')  
Writing demo_ip2p_standard_wait.py
!mpirun -np 2 --bind-to core -report-bindings python3 demo_ip2p_standard_wait.py 
[acn26.karolina.it4i.cz:3590680] MCW rank 0 bound to socket 0[core 0[hwt 0]]: [B/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
[acn26.karolina.it4i.cz:3590680] MCW rank 1 bound to socket 0[core 1[hwt 0]]: [./B/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.][./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././.]
 Process 1 before   [0. 0. 0. 0.]
 Process 0 sends    [0.12 3.45 6.78 9.1 ]
 Process 1 received [0.12 3.45 6.78 9.1 ]
 Isend at process 0 completed

#### Test

%%writefile demo_ip2p_standard_test.py

import numpy as np
from mpi4py import MPI
import time

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
data = [0.12, 3.45, 6.78, 9.10]

if rank == 1:
    rcv_buf = np.zeros_like(data)
    print(f'Process {rank} before   {rcv_buf}')

if rank == 0:
    snd_buf = np.array(data)
    print(f'Process {rank} sends    {snd_buf}')
    req = comm.Isend(snd_buf, dest=1)
    # perform computation here
    time.sleep(3)
    if (req.Test() is not True):
        print(f'Isend at process {rank} pending ...')
    if (req.Test() is True):
        print(f'Isend at process {rank} completed')
elif rank == 1:
    comm.Recv(rcv_buf, source=0)
    print(f'Process {rank} received {rcv_buf}')  
Overwriting demo_ip2p_standard_test.py
!mpirun -np 2 --bind-to core python3 demo_ip2p_standard_test.py 
Process 1 before   [0. 0. 0. 0.]
Process 0 sends    [0.12 3.45 6.78 9.1 ]
Process 1 received [0.12 3.45 6.78 9.1 ]
Isend at process 0 completed

#### Exercise - Point-to-Point Communication - Ping-Pong

Write a program that performs a so-called ping-pong exchange between two processes.First the ping:

Process 0 sends an empty message to process 1.Process 1 receives the empty message from process 0.

Then the pong:

Process 1 sends an empty message to process 0.Process 0 receives the empty message from process 1.

HINTS: comm.Send and comm.Recv might be useful for this.

%%writefile exercise_pingpong.py

from mpi4py import MPI

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
buf = None

if (True):
    partner = 1
    print(f"Process {rank} sending ping to {partner}.")
    pass
    pass
    print(f"Process {rank} receiving pong from {partner}.")
elif (True):
    partner = 0
    pass
    print(f"Process {rank} receiving ping from {partner}.")
    print(f"Process {rank} sending pong to {partner}.")
    pass  
Writing exercise_pingpong.py

!mpirun -np 2 --map-by core --rank-by slot --bind-to hwthread python3 exercise_pingpong.py

Solution

Collective Communication

In point-to-point communication, just two processes have communicated directly with each other.

In collective communication all processes in a communicator are involved either by sending messages directly to each other or by forwarding messages. The collective communication routines are internally and transparently built out of point-to-point routines but with optimized communication patterns. These operations are where MPI can really play its strengths. To this end, MPI provides three types of collective data-movement routines: broadcast, gather, and scatter. In each of which, a process either sends to or receives a fixed amount of data from all other processes. For gathering and scattering there are also versions that support a variable amount of data for each process and whose function name is suffixed with a lowercase V. Moreover, since MPI-3 nonblocking collective communication functions are also available. Similar to the nonblocking point-to-point routines, the function names start with a capital I and return a request object that can be passed to wait and test functions.

%%writefile demo_broadcast.py

import numpy as np
from mpi4py import MPI


comm = MPI.COMM_WORLD
rank = comm.Get_rank()

if rank == 0:
    data = np.array([2.71, 8.28, 1.82, 8.459], dtype=np.float32)
else:
    data = np.zeros(4, dtype=np.float32)

print(f' Process {rank} initially has {data}')

if rank == 0: print(f' Process {rank} broadcasts {data}')
comm.Bcast(data, root=0) # blocking broadcast
print(f' Process {rank} received {data} from process 0')
Overwriting demo_broadcast.py
!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 demo_broadcast.py | sort -n 
zsh:1: command not found: mpirun

Collective Communication Patterns in MPI

FIXED-DATA Communication

Operation

Blocking

Nonblocking

Broadcast

Bcast

Ibcast

Scatter

Scatter

Iscatter

Gather

Gather

Igather

Allgather

Allgather

Iallgather

Alltoall

Alltoall

Ialltoall


VARIABLE-DATA Communication

Operation

Blocking

Nonblocking

Broadcast

-

-

Scatter

Scatterv

Iscatterv

Gather

Gatherv

Igatherv

Allgather

Allgatherv

Iallgatherv

Alltoall

Alltoallv

Ialltoallv

Scatter

While a broadcast operation distributes the same data from the root process to all other processes, a scatter operation sends different data from the root to every process: one-to-all

%%writefile demo_scatter.py

import numpy as np
from mpi4py import MPI


comm = MPI.COMM_WORLD
rank = comm.Get_rank()
sndbuf = None # send buffer
rcvbuf = np.zeros(1, dtype=np.int32)

print(f' Process {rank} initially has {rcvbuf}')

if rank == 0:
    sndbuf = np.arange(start=0, stop=comm.Get_size(), step=1, dtype=np.int32)**2
    print(f' Process {rank} scatters {sndbuf}')

comm.Scatter(sndbuf, rcvbuf, root=0)
print(f' Process {rank} received {rcvbuf} from process 0')  
Writing demo_scatter.py
!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 demo_scatter.py | sort -n 
 Process 0 initially has [0]
 Process 0 received [0] from process 0
 Process 0 scatters [ 0  1  4  9 16 25 36 49]
 Process 1 initially has [0]
 Process 1 received [1] from process 0
 Process 2 initially has [0]
 Process 2 received [4] from process 0
 Process 3 initially has [0]
 Process 3 received [9] from process 0
 Process 4 initially has [0]
 Process 4 received [16] from process 0
 Process 5 initially has [0]
 Process 5 received [25] from process 0
 Process 6 initially has [0]
 Process 6 received [36] from process 0
 Process 7 initially has [0]
 Process 7 received [49] from process 0

Gather

The gather operation allows a distinguished process to collect specific array elements from each process. This is the inverse of the scatter operation: all-to-one

%%writefile demo_gather.py

import numpy as np
from mpi4py import MPI


comm = MPI.COMM_WORLD
rank = comm.Get_rank()
sndbuf = sndbuf = np.array([rank, rank**2], dtype=np.int32)
rcvbuf = None

if rank == 0:
    rcvbuf = np.zeros(2*comm.Get_size(), dtype=np.int32)
    print(f' Process {rank} before {rcvbuf}')

print(f' Process {rank} sends {sndbuf}')
comm.Gather(sndbuf, rcvbuf, root=0) # blocking gather

if rank == 0:
    print(f' Process {rank} gathered {rcvbuf} from processes 0 to {comm.Get_size()}')  
Writing demo_gather.py
!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 demo_gather.py | sort -n 
 Process 0 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 0 gathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 0 sends [0 0]
 Process 1 sends [1 1]
 Process 2 sends [2 4]
 Process 3 sends [3 9]
 Process 4 sends [ 4 16]
 Process 5 sends [ 5 25]
 Process 6 sends [ 6 36]
 Process 7 sends [ 7 49]

Allgather

Allgather operations can be understood as a gather operation with the addition of all processes receiving the result, instead of only the root. Practically, this is equivalent to a gather operation followed by a broadcast operation by the gathering process, however, a respectable MPI library uses a specialized algorithm.

%%writefile demo_allgather.py

import numpy as np
from mpi4py import MPI


comm = MPI.COMM_WORLD
rank = comm.Get_rank()
sndbuf = sndbuf = np.array([rank, rank**2], dtype=np.int32)
rcvbuf = np.zeros(2*comm.Get_size(), dtype=np.int32)

print(f' Process {rank} before {rcvbuf}')

print(f' Process {rank} sends {sndbuf}')
comm.Allgather(sndbuf, rcvbuf) # blocking allgather
print(f' Process {rank} allgathered {rcvbuf} from processes 0 to {comm.Get_size()}')  
Writing demo_allgather.py
!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 demo_allgather.py | sort -n 
 Process 0 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 0 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 0 sends [0 0]
 Process 1 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 1 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 1 sends [1 1]
 Process 2 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 2 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 2 sends [2 4]
 Process 3 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 3 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 3 sends [3 9]
 Process 4 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 4 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 4 sends [ 4 16]
 Process 5 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 5 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 5 sends [ 5 25]
 Process 6 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 6 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 6 sends [ 6 36]
 Process 7 allgathered [ 0  0  1  1  2  4  3  9  4 16  5 25  6 36  7 49] from processes 0 to 8
 Process 7 before [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 Process 7 sends [ 7 49]

Exercise - Collective Communication - Scatter

Scatter an array on process 0 with numbers from 0 to $n10$ such that process i receives number $i10$.

%%writefile exercise_scatter.py

import numpy as np
from mpi4py import MPI

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
commsize = comm.Get_size()

rcvbuf = np.empty([1], dtype=np.intc)
sndbuf = None

if (rank == 0):
    pass
    print(f"Process {rank} scatters {sndbuf}")

pas
    
print(f"Process {rank} receives {rcvbuf}")  
Writing exercise_scatter.py

#### Solution

Collective Computation

Additionally to moving data around between processes of one communicator, MPI can also perform basic computations on distributed data. This is implemented in the form of reduce and scan operations, where the former returns only the complete result and the latter returns incremental results on each process. The operation to be performed is given to the routine as an argument, which can either be one of the built-in operations, e.g. summation or finding a maximum value, or a user-defined operation. The standard reduce function is a so-called rooted collective, since the result of the reduction is only available on a distinguished root process, however, there is also a non-rooted version, where the result is available on all processes, and a nonblocking version available.

Operation

Blocking

Nonblocking

Description

Reduce

Reduce

Ireduce

Combines values from all processes to one root

Allreduce

Allreduce

Iallreduce

Combines values and distributes result to all ranks

%%writefile demo_reduce.py

import numpy as np
from mpi4py import MPI

comm_world = MPI.COMM_WORLD                      # communicator
rank_world = comm_world.Get_rank()               # process rank with respect to the communicator
size_world = comm_world.Get_size()               # size of / number of processes in the communicator

snd_buffer = np.array(rank_world, dtype=np.intc) # send buffer - just for fun, the rank of the processes
rcv_buffer = np.zeros((), dtype=np.intc)         # receive buffer to hold the result


# Print result before the reduction is done for rank_world == 0:
if rank_world == 0:
   print(f' {rank_world} / {size_world} - before = {rcv_buffer}')


# Compute the SUM of all snd_buffer (rank_world) - result available on root process only (Reduce):

comm_world.Reduce(snd_buffer, rcv_buffer,root=1)

#comm_world.Reduce(snd_buffer, rcv_buffer, root=0)
#comm_world.Reduce(snd_buffer, (rcv_buffer,1,MPI.INT), op=MPI.SUM, root=0)
#comm_world.Reduce((snd_buffer,1,MPI.INT), (rcv_buffer,1,MPI.INT), op=MPI.SUM, root=0)

# Print result only on the root process:
if rank_world == 0:
   print(f' {rank_world} / {size_world} - reduce = {rcv_buffer}')


# Compute the SUM of all snd_buffer (rank_world) - result available on all processes (Allreduce):

#comm_world.Allreduce(snd_buffer, rcv_buffer)

#comm_world.Allreduce(snd_buffer, (rcv_buffer,1,MPI.INT), op=MPI.SUM)
#comm_world.Allreduce((snd_buffer,1,MPI.INT), (rcv_buffer,1,MPI.INT), op=MPI.SUM)

# Print result on all processes:    
print(f' {rank_world} / {size_world} - result = {rcv_buffer}')  
Overwriting demo_reduce.py
!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 demo_reduce.py | sort -n 
 0 / 8 - before = 0
 0 / 8 - reduce = 0
 0 / 8 - result = 0
 1 / 8 - result = 28
 2 / 8 - result = 0
 3 / 8 - result = 0
 4 / 8 - result = 0
 5 / 8 - result = 0
 6 / 8 - result = 0
 7 / 8 - result = 0

#### Exercise - Collective Communication - Allreduce Each process i holds two variables: xi​ contains its rank and yi​ contains its rank multiplied by two.Perform a reduction operation such that each process receives the sum of the products of these two variables over all processes, i.e., s=x0​y0​+x1​y1​+…xn​yn​.

%%writefile exercise_allreduce.py

import numpy as np
from mpi4py import MPI

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()

xi = rank
yi = 2*rank
rcvbuf = None
sndbuf = None

pass
    
print(f"Process {rank} sends {xi*yi} xi={rank}, yi={2*rank}")
print(f"Process {rank} receives {rcvbuf}")  
Writing exercise_allreduce.py

solution

Collective Synchronization

With the barrier, MPI provides a single global synchronization operation. A process that posts a call to this function halts until all other processes in the communicator have also done so. It is tempting to understand this as some kind of checkpoint from which all processes proceed at the same time, but this is not the case. The call to the barrier blocks until all processes have reached the barrier, afterwards the processes are free to proceed. Barriers are useful only for a handful of cases, however, they are not necessary in an ideal program.

Barrier

%%writefile demo_barrier.py

import time
from mpi4py import MPI

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()

time.sleep(float(rank)/2)
print(f' Process {rank} has reached the barrier')
comm.Barrier()
print(f' Process {rank} has passed the barrier')  
Writing demo_barrier.py
!mpirun -np 8 --map-by core --rank-by slot --bind-to hwthread python3 demo_barrier.py 
 Process 0 has reached the barrier
 Process 1 has reached the barrier
 Process 2 has reached the barrier
 Process 3 has reached the barrier
 Process 4 has reached the barrier
 Process 5 has reached the barrier
 Process 6 has reached the barrier
 Process 7 has reached the barrier
 Process 0 has passed the barrier
 Process 1 has passed the barrier
 Process 2 has passed the barrier
 Process 3 has passed the barrier
 Process 4 has passed the barrier
 Process 5 has passed the barrier
 Process 6 has passed the barrier
 Process 7 has passed the barrier

Slurm

Slurm Overview

An HPC cluster is a collection of many separate servers (computers), called nodes, which are connected via a fast interconnect.

There may be different types of nodes for different types of tasks.

Each of the HPC clusters listed on this site has

a headnode or login node, where users log in a specialized data transfer node regular compute nodes (where majority of computations is run) “fat” compute nodes that have at least 1TB of memory GPU nodes (on these nodes computations can be run both on CPU cores and on a Graphical Processing Unit) an Infiniband switch to connect all nodes

All cluster nodes have the same components as a laptop or desktop: CPU cores, memory and disk space. The difference between personal computer and a cluster node is in quantity, quality and power of the components.

Users login from their computers to the cluster headnode using the ssh program.

Example of a HPC cluster

Karolina consists of 829 computational nodes of which 720 are universal compute nodes (Cn[001-720]), 72 are NVIDIA A100 accelerated nodes (Acn[01-72]), 1 is a data analytics node (Sdf1), and 36 are cloud partitions (CLn[01-36]). Each node is a powerful x86-64 computer, equipped with 128/768 cores (64-core AMD EPYC™ 7H12 / 64-core AMD EPYC™ 7763 / 24-core Intel Xeon-SC 8268) and at least 256 GB of RAM.

#### Compute Nodes Karolina is a cluster of x86-64 AMD- and Intel-based nodes built with the HPE technology. The cluster contains four types of compute nodes.

Compute Nodes Without Accelerators

Standard compute nodes without accelerators (such as GPUs or FPGAs) are based on the x86 CPU architecture and provide quick accessibility for the users and their existing codes.

720 nodes

92,160 cores in total

2x AMD EPYC™ 7H12, 64-core, 2.6 GHz processors per node

256 GB DDR4 3200MT/s of physical memory per node

5,324.8 GFLOP/s per compute node

1x 100 Gb/s IB port

Cn[001-720]

Compute Nodes With a GPU Accelerator

Accelerated compute nodes deliver most of the compute power usable for HPC as well as excellent performance in HPDA and AI workloads, especially in the learning phase of Deep Neural Networks.

72 nodes

9,216 cores in total

2x AMD EPYC™ 7763, 64-core, 2.45 GHz processors per node

1024 GB DDR4 3200MT/s of physical memory per node

8x GPU accelerator NVIDIA A100 per node, 320GB HBM2 memory per node

5,017.6 GFLOP/s per compute node

4x 200 Gb/s IB port

Acn[01-72]

for more info visit https://docs.it4i.cz/karolina/compute-nodes/

Storage

Karolina cluster provides two main shared filesystems, HOME filesystem and SCRATCH filesystem, and has access to IT4Innovations’ central PROJECT storage, as well. All login and compute nodes may access the same data on shared file systems. Compute nodes are also equipped with local (non-shared) scratch, RAM disk, and TMP file systems.

for more detailed information visit https://docs.it4i.cz/karolina/storage/

Basic Concepts of Slurm

To understand how job scheduling works in Slurm, it’s important to first get familiar with some core concepts:

  • A compute node refers to a single physical server where jobs are executed. These nodes are organized into partitions, which are essentially groups of nodes with similar hardware, often functioning as priority-ordered job queues.

  • When a user submits work to Slurm, they are creating a job. A job represents a set of resources (like CPU, memory, etc.) allocated for a specific duration. Each job can include one or more job steps—these are the individual tasks or processes that run, potentially in parallel, using the allocated resources.

  • Jobs can be influenced by a Quality of Service (QoS), which helps prioritize jobs in the queue. A QoS setting can define which resources are available, restrict access to certain partitions, set runtime limits, and apply other rules that affect scheduling and resource allocation.

Slurm supports two main types of jobs:

  1. Batch jobs: These are the standard way to run workloads on a cluster. You typically write a batch script that specifies what to run, and Slurm executes it once the requested resources become available. The batch script itself runs as a single job step, but from there, you can launch multiple tasks as additional steps.

  2. Interactive jobs: These are used when you need resources quickly and want to interact with them directly through the terminal. They’re ideal for debugging or exploratory work.

The default approach in Slurm is to use batch jobs. This allows Slurm to efficiently plan job execution, reduce idle time on the cluster, and work around any hardware that’s currently unavailable.

Slurm Command-Line Utilities

Slurm comes with several command-line utilities to help you get information about the system, partitions, and jobs:

  • squeue: Displays jobs in the queues.

  • scontrol: View (or modify, if root) Slurm entities such as jobs, nodes, partitions, and reservations.

  • scancel: Cancels (or sends a signal to) pending or running jobs.

  • sbatch: Submits a job script for later execution.

  • srun: A blocking command to submit a job for execution or to submit parallel job steps within a job script.

  • salloc: Allocates resources for a job (requests & waits).

  • sinfo: Reports the state of partitions and nodes.

  • sacct: Displays tracked information about a job or job step.

Job Submission

  1. To submit a job to the Slurm batch system, use the following command:

$ sbatch jobscript.sh

This sends your job script to the scheduler, which will place it in a queue. Jobs are scheduled based on available resources and other queued jobs. If your job requests a large number of resources, it may wait longer before execution.

  1. To check the status of your submitted jobs, use:

$ squeue -u <user_id>

This command will show you:

  • Whether your job is pending (PD) — waiting for available nodes,

  • Or running (R) — currently being executed,

  • Along with how long it has been running (in hours:minutes:seconds).

  1. To get an estimated start time for pending jobs and see the expected resources, you can add the –start flag:

$ squeue -u <user_id> --start

Note: The start time shown is only an estimate. It may change if higher-priority jobs enter the queue or due to backfilling.

  1. If you need to cancel a job—for example, if it was submitted by mistake or not behaving as expected—you can do so with:

$ scancel <job_id>

  1. To view details of current and past jobs, use:

$ sacct

(sbatch) Running Batch Jobs

Here’s a concise guide for running Slurm batch jobs with key commands and options:

sbatch -A <PROJECT-ID> -p <PARTITION> ./script.sh

Example:

sbatch -A aa-00-00 -p qcpu ./script.sh

Key Options (salloc, sbatch, srun):

  • -n, –ntasks

  • -c, –cpus-per-task

  • -N, –nodes

Display partitions/queues on system:

!sinfo -s
PARTITION    AVAIL  TIMELIMIT   NODES(A/I/O/T) NODELIST
qcpu*           up 2-00:00:00      712/6/0/718 cn[001-718]
qcpu_biz        up 2-00:00:00      712/6/0/718 cn[001-718]
qcpu_exp        up    1:00:00      712/8/0/720 cn[001-720]
qcpu_free       up   18:00:00      712/6/0/718 cn[001-718]
qcpu_long       up 6-00:00:00      712/6/0/718 cn[001-718]
qcpu_preempt    up   12:00:00      712/6/0/718 cn[001-718]
qgpu            up 2-00:00:00        62/9/1/72 acn[01-72]
qgpu_big        up   12:00:00        62/9/1/72 acn[01-72]
qgpu_biz        up 2-00:00:00        62/9/1/72 acn[01-72]
qgpu_exp        up    1:00:00        62/9/1/72 acn[01-72]
qgpu_free       up   18:00:00        62/9/1/72 acn[01-72]
qgpu_preempt    up   12:00:00        62/9/1/72 acn[01-72]
qfat            up 2-00:00:00          0/0/1/1 sdf1
qviz            up    8:00:00          0/2/0/2 viz[1-2]

Jobscript Examples

%%writefile job-hello.sh
#!/usr/bin/bash
# Job name:
#SBATCH --job-name MyJobName
# Account:
#SBATCH --account dd-24-88
# Partition:
#SBATCH --partition qcpu
# Request one node:
#SBATCH --nodes 1
# Specify number of tasks for use case:
#SBATCH --ntasks-per-node 12
# Number of processors for single task needed for use case:
#SBATCH --cpus-per-task=4
# Wall clock limit:
#SBATCH --time 00:00:20
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT.out
srun echo "Slurm Hello World!"
Overwriting job-hello.sh
!sbatch job-hello.sh
Submitted batch job 2551957

This script uses the bash shell interpreter and sets the job name to “MyJobName” with #SBATCH --job-name=MyJobName. It specifies the project "PROJECT-ID" for job access and accounting using #SBATCH --account=PROJECT-ID, and requests the "qcpu" partition/queue with #SBATCH --partition=qcpu. The script allocates 1 node (#SBATCH --nodes=1) with tasks per node for MPI purposes (#SBATCH --ntasks-per-node=12), and sets a time limit (#SBATCH --time=00:00:20), at the end we set the Slurm output file path, directing all job output (stdout) using #SBATCH --output which Logs job output to the specified file.

!squeue --me

Slurm Job Environment Variables

Slurm provides useful information to the job via environment variables. Environment variables are available on all nodes allocated to job when accessed via Slurm supported means (srun, compatible mpirun).

See all Slurm variables

!set | grep ^SLURM
SLURMD_NODENAME=cn063
SLURM_CLUSTER_NAME=karolina
SLURM_CONF=/etc/slurm/slurm.conf
SLURM_CPUS_ON_NODE=128
SLURM_EXPORT_ENV=ALL
SLURM_GET_USER_ENV=1
SLURM_GTIDS=0
SLURM_JOBID=2550847
SLURM_JOB_ACCOUNT=dd-24-88
SLURM_JOB_CPUS_PER_NODE=128
SLURM_JOB_END_TIME=1745489733
SLURM_JOB_GID=12672
SLURM_JOB_ID=2550847
SLURM_JOB_NAME=sys-dashboard-sys-bc_it4i_jupyter
SLURM_JOB_NODELIST=cn063
SLURM_JOB_NUM_NODES=1
SLURM_JOB_PARTITION=qcpu
SLURM_JOB_QOS='dd-24-88: Karolina CPU #4694'
SLURM_JOB_START_TIME=1745486133
SLURM_JOB_UID=10446
SLURM_JOB_USER=gth
SLURM_LOCALID=0
SLURM_MEM_PER_NODE=235520
SLURM_MPI_TYPE=pmix_v4
SLURM_NNODES=1
SLURM_NODEID=0
SLURM_NODELIST=cn063
SLURM_NPROCS=1
SLURM_NTASKS=1
SLURM_PROCID=0
SLURM_REST_SERVICE=http://10.48.3.2:6820
SLURM_SUBMIT_DIR=/home/gth
SLURM_SUBMIT_HOST=login1.karolina.it4i.cz
SLURM_TASKS_PER_NODE=1
SLURM_TASK_PID=1851973
SLURM_TOPOLOGY_ADDR=cn063
SLURM_TOPOLOGY_ADDR_PATTERN=node

Useful Variables¶

!set | grep -E '^SLURM_(JOB_ID|JOB_NODELIST|SUBMIT_DIR|JOB_USER)='
SLURM_JOB_ID=2550847
SLURM_JOB_NODELIST=cn063
SLURM_JOB_USER=gth
SLURM_SUBMIT_DIR=/home/gth
!squeue --me 
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
           2550994      qcpu sys-dash      gth CA       0:18      1 cn063
           2550906      qcpu    MYJOB      gth CD       0:05      1 cn303
           2551071      qcpu    MYJOB      gth CD       0:05      1 cn243
           2550996      qcpu sys-dash      gth  R      20:19      1 cn063
           2550847      qcpu sys-dash      gth TO    1:00:29      1 (TimeLimit)
!cat MYJOB_OUTPUT
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!
hello world!

Resource allocation

Here we show some example job scripts that allow for various kinds of parallelization,

  1. Threaded/OpenMP job script

%%writefile test1.sh
#!/usr/bin/bash
# Job name:
#SBATCH --job-name=test
#
# Account:
#SBATCH --account=dd-24-88
#
# Partition:
#SBATCH --partition=qcpu
#
# Request one node:
#SBATCH --nodes=1
#
# Specify one task:
#SBATCH --ntasks-per-node=1
#
# Number of processors for single task needed for use case (example):
#SBATCH --cpus-per-task=1
#
# Wall clock limit:
#SBATCH --time=00:00:30
#
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT.out
#
## Command(s) to run (just for test):
ml purge
ml OpenMPI/5.0.5-NVHPC-24.3-CUDA-12.3.0
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
echo "Running on node: $(hostname)"
echo "SLURM_CPUS_PER_TASK: $SLURM_CPUS_PER_TASK"
srun -l hostname | sort | uniq -c
Overwriting test1.sh
!sbatch test1.sh
Submitted batch job 2552321
!scontrol show job 2552300
JobId=2552300 JobName=test
   UserId=gth(10446) GroupId=gth(12672) MCS_label=N/A
   Priority=203009812 Nice=0 Account=dd-24-88 QOS=2846_4694
   JobState=PENDING Reason=Priority Dependency=(null)
   Requeue=1 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=0:0
   RunTime=00:00:00 TimeLimit=00:01:00 TimeMin=N/A
   SubmitTime=2025-04-24T21:40:52 EligibleTime=2025-04-24T21:40:52
   AccrueTime=2025-04-24T21:40:52
   StartTime=Unknown EndTime=Unknown Deadline=N/A
   SuspendTime=None SecsPreSuspend=0 LastSchedEval=2025-04-24T21:40:53 Scheduler=Main
   Partition=qcpu AllocNode:Sid=cn121:3910410
   ReqNodeList=(null) ExcNodeList=(null)
   NodeList=
   NumNodes=1-1 NumCPUs=1 NumTasks=1 CPUs/Task=1 ReqB:S:C:T=0:0:*:*
   ReqTRES=cpu=1,mem=230G,node=1,billing=1
   AllocTRES=(null)
   Socks/Node=* NtasksPerN:B:S:C=1:0:*:* CoreSpec=*
   MinCPUsNode=1 MinMemoryNode=230G MinTmpDiskNode=0
   Features=(null) DelayBoot=00:00:00
   OverSubscribe=NO Contiguous=0 Licenses=(null) Network=(null)
   Command=/home/gth/it4i_course/SLURM_and_MPI/test1.sh
   WorkDir=/home/gth/it4i_course/SLURM_and_MPI
   StdErr=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT.out
   StdIn=/dev/null
   StdOut=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT.out
   Power=
   TresPerTask=cpu:1
   

Here –cpus-per-task should be no more than the number of cores on a computational node in the partition you request. You may want to experiment with the number of threads for your job to determine the optimal number, as computational speed does not always increase with more threads. Note that if –cpus-per-task is fewer than the number of cores on a node, your job will not make full use of the node. Strictly speaking the –nodes and –ntasks-per-node arguments are optional here because they default to 1.

  1. Simple multi-core job script (multiple processes on one node)

%%writefile test2.sh
#!/usr/bin/bash
# Job name:
#SBATCH --job-name=test2
#
# Account:
#SBATCH --account=dd-24-88
#
# Partition:
#SBATCH --partition=qcpu
#
# Request one node:
#SBATCH --nodes=1
#
# Specify number of tasks for use case (example):
#SBATCH --ntasks-per-node=20
#
# Processors per task:
#SBATCH --cpus-per-task=1
#
# Wall clock limit:
#SBATCH --time=00:00:30
#
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT2.out
#
## Command(s) to run (just for test):
ml purge
ml OpenMPI/5.0.5-NVHPC-24.3-CUDA-12.3.0
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
echo "Running on node: $(hostname)"
echo "SLURM_CPUS_PER_TASK: $SLURM_CPUS_PER_TASK"
srun -l hostname | sort | uniq -c
Overwriting test2.sh
!sbatch test2.sh
Submitted batch job 2552320

This job script would be appropriate for multi-core job. In the commands that launch your code and/or within your code itself, you can reference the SLURM_NTASKS environment variable to dynamically identify how many tasks (i.e., processing units) are available to you.

  1. MPI job script

%%writefile test3.sh
#!/usr/bin/bash
# Job name:
#SBATCH --job-name=test3
#
# Account:
#SBATCH --account=dd-24-88
#
# Partition:
#SBATCH --partition=qcpu
#
# Number of MPI tasks needed for use case:
#SBATCH --ntasks=40
#
# Processors per task:
#SBATCH --cpus-per-task=1
#
# Wall clock limit:
#SBATCH --time=00:00:20
#
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT3.out
#
## Command(s) to run (just for test):
ml purge
ml OpenMPI/5.0.5-NVHPC-24.3-CUDA-12.3.0
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
echo "Running on node: $(hostname)"
echo "SLURM_CPUS_PER_TASK: $SLURM_CPUS_PER_TASK"
srun -l hostname | sort | uniq -c
Writing test3.sh
!sbatch test3.sh
Submitted batch job 2552322

This SLURM job script allocates 40 MPI tasks using the qcpu partition, assigning one CPU core per task. It loads the OpenMPI module and configures OpenMP to match the number of CPUs per task. The use of srun -l hostname | sort | uniq -c displays how the tasks are distributed across available nodes, giving insight into resource utilization and parallel workload placement. This is useful for verifying task spreading and diagnosing load balancing in CPU-based parallel jobs.

%%writefile hello_mpi.sh
#!/usr/bin/env bash

# Detect MPI rank and size from OpenMPI (works with mpirun)
rank=${OMPI_COMM_WORLD_RANK:-N/A}
size=${OMPI_COMM_WORLD_SIZE:-N/A}

# Get CPU core ID (Linux-specific)
core_id=$(taskset -pc $$ | awk -F: '{print $2}' | xargs)

# Get hostname
node_name=$(hostname)

echo "MPI process {rank_world:$rank} / {size_world:$size} ON core {$core_id} of node {$node_name}"
Writing hello_mpi.sh
  1. Alternative MPI job script

%%writefile test4.sh
#!/usr/bin/bash
# Job name:
#SBATCH --job-name=test4
#
# Account:
#SBATCH --account=dd-24-88
#
# Partition:
#SBATCH --partition=qcpu
#
# Number of nodes needed for use case:
#SBATCH --nodes=2
#
# Tasks per node based on number of cores per node (example):
#SBATCH --ntasks-per-node=20
#
# Processors per task:
#SBATCH --cpus-per-task=1
#
# Wall clock limit:
#SBATCH --time=00:00:30
#
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT4.out
#
## Command(s) to run (just for test):
ml purge
ml OpenMPI/5.0.5-NVHPC-24.3-CUDA-12.3.0
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
echo "Running on node: $(hostname)"
echo "SLURM_CPUS_PER_TASK: $SLURM_CPUS_PER_TASK"
chmod +x hello_mpi.sh
mpirun -np 40 hello_mpi.sh
Overwriting test4.sh
!sbatch test4.sh
Submitted batch job 2553318

This alternative explicitly specifies the number of nodes, tasks per node, and CPUs per task rather than simply specifying the number of tasks and having SLURM determine the resources needed. As before, one would generally want the number of tasks per node to equal a multiple of the number of cores on a node, assuming only one CPU per task.

  1. Hybrid OpenMP+MPI job script

%%writefile test5.sh
#!/usr/bin/bash
# Job name:
#SBATCH --job-name=test5
#
# Account:
#SBATCH --account=dd-24-88
#
# Partition:
#SBATCH --partition=qcpu
#
# Number of nodes needed for use case:
#SBATCH --nodes=2
#
# Tasks per node based on --cpus-per-task below and number of cores
# per node :
#SBATCH --ntasks-per-node=4
#
# Processors per task needed for use case:
#SBATCH --cpus-per-task=4
#
# Wall clock limit:
#SBATCH --time=00:00:30
#
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT5.out
#
## Command(s) to run (just for test):
ml purge
ml OpenMPI/5.0.5-NVHPC-24.3-CUDA-12.3.0
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
echo "Running on node: $(hostname)"
echo "SLURM_CPUS_PER_TASK: $SLURM_CPUS_PER_TASK"
chmod +x hello_mpi.sh
mpirun -np 8 hello_mpi.sh
Overwriting test5.sh
!sbatch test5.sh
Submitted batch job 2553333

Here we request a total of 8 (=2x4) MPI tasks, with 5 cores per task. When using partitions scheduled on a per-node basis, one would generally want to use all the cores on each node (i.e., that --ntasks-per-node multiplied by --cpus-per-task equals the number of cores on a node.

  1. GPU job allocation

%%writefile test6.sh
#!/bin/bash
# Job name:
#SBATCH --job-name=test
#
# Account:
#SBATCH --account=fta-25-9
#
# Partition:
#SBATCH --partition=qgpu
#
# Number of nodes:
#SBATCH --nodes=1
#
# Number of tasks:
#SBATCH --ntasks=1
#
# Processors per task:
#SBATCH --cpus-per-task=4
#
#Number of GPUs:
#SBATCH --gpus=2
#
#SBATCH --mem=4G

# Wall clock limit:
#SBATCH --time=00:00:30
#
# File for the output
#SBATCH --output=/home/gth/it4i_course/SLURM_and_MPI/MYJOB_OUTPUT6.out
#
## Command(s) to run (just for test):
ml purge
echo "Running on node: $(hostname)"
echo "SLURM_CPUS_PER_TASK: $SLURM_CPUS_PER_TASK"
srun -l bash -c 'echo "Task $SLURM_PROCID using GPU: $CUDA_VISIBLE_DEVICES on $(hostname)"' | sort
Overwriting test6.sh
!sbatch test6.sh
Submitted batch job 2553368

This SLURM job script demonstrates the allocation of two GPUs on a single node in the qgpu partition. It requests one task with four CPU cores and sets a memory limit of 4GB to ensure compatibility with GPU resource scheduling. The job prints the assigned node and the GPU visibility per task using the CUDA_VISIBLE_DEVICES environment variable. By using srun, it confirms GPU allocation per task, which is critical for debugging and verifying GPU usage in parallel workloads.

While mpirun can be used to run parallel jobs on our Slurm-managed clusters, we recommend using srun for better integration with Slurm’s scheduling and resource management. srun ensures more efficient job execution and resource control by leveraging Slurm’s features directly, and it simplifies the process by reducing the need for additional configurations often required with mpirun.

Running jobs in containers by using Apptainer

Karolina clusters allow you to run jobs in containers by using Apptainer. Apptainer is a secure and portable container runtime compatible with Slurm. It is designed for high-performance computing (HPC) and scientific computing. Apptainer is formerly known as Singularity and supports the same .sif container image format.

Running jobs with GPUs in containers by using Apptainer

!apptainer pull cuda_image.sif docker://nvidia/cuda:12.4.1-cudnn-devel-rockylinux8
INFO:    Converting OCI blobs to SIF format
INFO:    Starting build...
Copying blob 9d63f91420d1 [----------------------------] 0.0b / 6.7KiB | 0.0 b/s
Copying blob ccbfeac86675 [---------------------------] 0.0b / 90.2MiB | 0.0 b/s
Copying blob 976eabdc1264 [----------------------------] 0.0b / 1.4KiB | 0.0 b/s
Copying blob e00f63a68171 [----------------------------] 0.0b / 187.0b | 0.0 b/s
Copying blob 7ecefaa6bd84 [---------------------------] 0.0b / 69.4MiB | 0.0 b/s
Copying blob ed3eb81fea0f [----------------------------] 0.0b / 309.0b | 0.0 b/s
Copying blob 9d63f91420d1 [----------------------------] 0.0b / 6.7KiB | 0.0 b/s
Copying blob ccbfeac86675 [--------------------] 319.3KiB / 90.2MiB | 35.5 MiB/s
Copying blob 976eabdc1264 [----------------------------] 0.0b / 1.4KiB | 0.0 b/s
Copying blob e00f63a68171 [----------------------------] 0.0b / 187.0b | 0.0 b/s
Copying blob 7ecefaa6bd84 [---------------------------] 0.0b / 69.4MiB | 0.0 b/s
Copying blob ed3eb81fea0f [----------------------------] 0.0b / 309.0b | 0.0 b/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [==>-----------------] 12.7MiB / 90.2MiB | 131.2 MiB/s
Copying blob 976eabdc1264 [----------------------------] 0.0b / 1.4KiB | 0.0 b/s
Copying blob e00f63a68171 [----------------------------] 0.0b / 187.0b | 0.0 b/s
Copying blob 7ecefaa6bd84 [>---------------------] 1.8MiB / 69.4MiB | 63.9 MiB/s
Copying blob ed3eb81fea0f [----------------------------] 0.0b / 309.0b | 0.0 b/s
Copying blob 21c3e880548b [----------------------------] 0.0b / 1.3GiB | 0.0 b/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [===>----------------] 19.6MiB / 90.2MiB | 170.8 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 [----------------------------] 0.0b / 187.0b | 0.0 b/s
Copying blob 7ecefaa6bd84 [==>-----------------] 10.7MiB / 69.4MiB | 494.6 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [----------------------------] 0.0b / 1.3GiB | 0.0 b/s
Copying blob cd5257d81ce2 [----------------------------] 0.0b / 1.6KiB | 0.0 b/s
Copying blob a1b3e78ec0ca [----------------------------] 0.0b / 1.5KiB | 0.0 b/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [=====>---------------] 27.9MiB / 90.2MiB | 35.1 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [=====>---------------] 18.6MiB / 69.4MiB | 78.8 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [---------------------] 520.7KiB / 1.3GiB | 17.7 MiB/s
Copying blob cd5257d81ce2 [----------------------------] 0.0b / 1.6KiB | 0.0 b/s
Copying blob a1b3e78ec0ca [----------------------------] 0.0b / 1.5KiB | 0.0 b/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [=======>--------------] 33.9MiB / 90.2MiB | 7.7 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [======>--------------] 22.8MiB / 69.4MiB | 10.6 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [-----------------------] 5.4MiB / 1.3GiB | 23.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------------] 0.0b / 2.3GiB | 0.0 b/s
Copying blob 15f737cbb750 [--------------------------] 0.0b / 646.1MiB | 0.0 b/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [========>------------] 38.8MiB / 90.2MiB | 23.0 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [=======>-------------] 27.9MiB / 69.4MiB | 47.0 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [---------------------] 11.9MiB / 1.3GiB | 132.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------------] 0.0b / 2.3GiB | 0.0 b/s
Copying blob 15f737cbb750 [---------------------] 1.3MiB / 646.1MiB | 21.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [=========>----------] 43.3MiB / 90.2MiB | 138.4 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [=========>-----------] 31.5MiB / 69.4MiB | 12.1 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [----------------------] 15.5MiB / 1.3GiB | 58.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 444.7KiB / 2.3GiB | 7.5 MiB/s
Copying blob 15f737cbb750 [---------------------] 4.9MiB / 646.1MiB | 10.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [==========>----------] 46.5MiB / 90.2MiB | 62.6 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [==========>----------] 36.4MiB / 69.4MiB | 94.5 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [---------------------] 18.8MiB / 1.3GiB | 139.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [-----------------------] 1.7MiB / 2.3GiB | 15.3 MiB/s
Copying blob 15f737cbb750 [---------------------] 9.1MiB / 646.1MiB | 53.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [===========>---------] 49.8MiB / 90.2MiB | 51.2 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [===========>---------] 40.3MiB / 69.4MiB | 37.8 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [----------------------] 22.6MiB / 1.3GiB | 22.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [-----------------------] 3.6MiB / 2.3GiB | 42.1 MiB/s
Copying blob 15f737cbb750 [--------------------] 11.8MiB / 646.1MiB | 57.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [===========>---------] 53.0MiB / 90.2MiB | 26.3 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [============>--------] 44.1MiB / 69.4MiB | 24.6 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [----------------------] 26.2MiB / 1.3GiB | 23.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [-----------------------] 7.4MiB / 2.3GiB | 29.7 MiB/s
Copying blob 15f737cbb750 [--------------------] 15.2MiB / 646.1MiB | 21.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [============>--------] 56.5MiB / 90.2MiB | 45.1 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [=============>------] 47.5MiB / 69.4MiB | 122.2 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [----------------------] 29.6MiB / 1.3GiB | 29.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 11.1MiB / 2.3GiB | 17.5 MiB/s
Copying blob 15f737cbb750 [>-------------------] 18.6MiB / 646.1MiB | 18.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [=============>-------] 60.0MiB / 90.2MiB | 31.1 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [===============>-----] 52.5MiB / 69.4MiB | 36.6 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 32.7MiB / 1.3GiB | 20.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 14.2MiB / 2.3GiB | 66.7 MiB/s
Copying blob 15f737cbb750 [>-------------------] 21.6MiB / 646.1MiB | 31.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [==============>------] 63.1MiB / 90.2MiB | 27.8 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [===============>----] 56.6MiB / 69.4MiB | 210.5 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 36.1MiB / 1.3GiB | 25.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 17.0MiB / 2.3GiB | 22.3 MiB/s
Copying blob 15f737cbb750 [>-------------------] 24.8MiB / 646.1MiB | 19.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [===============>-----] 66.7MiB / 90.2MiB | 20.8 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [=================>---] 60.7MiB / 69.4MiB | 49.3 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 39.6MiB / 1.3GiB | 74.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 19.9MiB / 2.3GiB | 33.1 MiB/s
Copying blob 15f737cbb750 [>-------------------] 28.0MiB / 646.1MiB | 73.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [===============>-----] 69.8MiB / 90.2MiB | 19.1 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [===================>-] 64.7MiB / 69.4MiB | 54.9 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 42.2MiB / 1.3GiB | 26.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 22.8MiB / 2.3GiB | 15.8 MiB/s
Copying blob 15f737cbb750 [>-------------------] 31.0MiB / 646.1MiB | 56.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [================>----] 73.2MiB / 90.2MiB | 42.7 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 [====================>] 68.5MiB / 69.4MiB | 31.9 MiB/s
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 45.9MiB / 1.3GiB | 19.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 25.8MiB / 2.3GiB | 33.5 MiB/s
Copying blob 15f737cbb750 [>-------------------] 34.9MiB / 646.1MiB | 49.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [=================>---] 78.2MiB / 90.2MiB | 35.0 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 50.4MiB / 1.3GiB | 32.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 29.6MiB / 2.3GiB | 25.4 MiB/s
Copying blob 15f737cbb750 [>-------------------] 39.8MiB / 646.1MiB | 33.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [=================>--] 82.0MiB / 90.2MiB | 108.4 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>--------------------] 54.1MiB / 1.3GiB | 107.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 32.7MiB / 2.3GiB | 37.8 MiB/s
Copying blob 15f737cbb750 [>-------------------] 43.6MiB / 646.1MiB | 10.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 [===================>-] 86.1MiB / 90.2MiB | 39.6 MiB/s
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 58.1MiB / 1.3GiB | 43.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 36.0MiB / 2.3GiB | 27.7 MiB/s
Copying blob 15f737cbb750 [=>------------------] 49.0MiB / 646.1MiB | 53.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 63.3MiB / 1.3GiB | 48.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 40.1MiB / 2.3GiB | 38.9 MiB/s
Copying blob 15f737cbb750 [=>------------------] 54.8MiB / 646.1MiB | 41.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 70.1MiB / 1.3GiB | 45.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [----------------------] 45.5MiB / 2.3GiB | 36.1 MiB/s
Copying blob 15f737cbb750 [=>------------------] 57.8MiB / 646.1MiB | 32.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>--------------------] 75.6MiB / 1.3GiB | 310.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [---------------------] 50.5MiB / 2.3GiB | 407.5 MiB/s
Copying blob 15f737cbb750 [=>-----------------] 62.4MiB / 646.1MiB | 385.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [>---------------------] 82.4MiB / 1.3GiB | 30.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 55.7MiB / 2.3GiB | 36.4 MiB/s
Copying blob 15f737cbb750 [=>------------------] 66.9MiB / 646.1MiB | 10.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>--------------------] 89.9MiB / 1.3GiB | 24.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 60.9MiB / 2.3GiB | 32.6 MiB/s
Copying blob 15f737cbb750 [=>------------------] 71.1MiB / 646.1MiB | 11.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 96.6MiB / 1.3GiB | 260.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 65.2MiB / 2.3GiB | 22.8 MiB/s
Copying blob 15f737cbb750 [=>------------------] 76.3MiB / 646.1MiB | 49.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 103.1MiB / 1.3GiB | 18.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 70.5MiB / 2.3GiB | 37.1 MiB/s
Copying blob 15f737cbb750 [==>-----------------] 81.7MiB / 646.1MiB | 20.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 110.5MiB / 1.3GiB | 49.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 76.5MiB / 2.3GiB | 36.6 MiB/s
Copying blob 15f737cbb750 [==>-----------------] 87.2MiB / 646.1MiB | 35.1 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 116.4MiB / 1.3GiB | 44.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 81.8MiB / 2.3GiB | 34.4 MiB/s
Copying blob 15f737cbb750 [==>-----------------] 92.6MiB / 646.1MiB | 38.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 121.1MiB / 1.3GiB | 33.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 86.4MiB / 2.3GiB | 36.1 MiB/s
Copying blob 15f737cbb750 [==>-----------------] 97.9MiB / 646.1MiB | 51.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 127.7MiB / 1.3GiB | 72.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 91.2MiB / 2.3GiB | 29.8 MiB/s
Copying blob 15f737cbb750 [==>----------------] 103.7MiB / 646.1MiB | 28.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>------------------] 134.1MiB / 1.3GiB | 161.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 96.4MiB / 2.3GiB | 71.9 MiB/s
Copying blob 15f737cbb750 [==>---------------] 109.8MiB / 646.1MiB | 169.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 140.3MiB / 1.3GiB | 35.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 101.0MiB / 2.3GiB | 10.5 MiB/s
Copying blob 15f737cbb750 [==>----------------] 115.0MiB / 646.1MiB | 33.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>-------------------] 146.0MiB / 1.3GiB | 38.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 105.8MiB / 2.3GiB | 21.1 MiB/s
Copying blob 15f737cbb750 [==>---------------] 120.3MiB / 646.1MiB | 213.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=>------------------] 152.5MiB / 1.3GiB | 120.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>---------------------] 110.6MiB / 2.3GiB | 9.3 MiB/s
Copying blob 15f737cbb750 [===>---------------] 124.5MiB / 646.1MiB | 40.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 158.6MiB / 1.3GiB | 37.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>-------------------] 116.4MiB / 2.3GiB | 169.3 MiB/s
Copying blob 15f737cbb750 [===>---------------] 130.2MiB / 646.1MiB | 31.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>-----------------] 164.5MiB / 1.3GiB | 359.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>-------------------] 122.7MiB / 2.3GiB | 227.0 MiB/s
Copying blob 15f737cbb750 [===>--------------] 136.2MiB / 646.1MiB | 172.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>-------------------] 168.1MiB / 1.3GiB | 7.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 127.2MiB / 2.3GiB | 14.5 MiB/s
Copying blob 15f737cbb750 [===>---------------] 142.3MiB / 646.1MiB | 23.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 175.0MiB / 1.3GiB | 70.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 134.3MiB / 2.3GiB | 11.2 MiB/s
Copying blob 15f737cbb750 [===>---------------] 147.5MiB / 646.1MiB | 56.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 181.3MiB / 1.3GiB | 72.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>-------------------] 140.1MiB / 2.3GiB | 145.5 MiB/s
Copying blob 15f737cbb750 [===>---------------] 152.4MiB / 646.1MiB | 64.3 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 187.2MiB / 1.3GiB | 73.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 146.4MiB / 2.3GiB | 34.2 MiB/s
Copying blob 15f737cbb750 [====>--------------] 156.1MiB / 646.1MiB | 20.3 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 193.2MiB / 1.3GiB | 23.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 153.1MiB / 2.3GiB | 52.7 MiB/s
Copying blob 15f737cbb750 [====>--------------] 162.6MiB / 646.1MiB | 52.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 196.9MiB / 1.3GiB | 38.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>--------------------] 159.1MiB / 2.3GiB | 55.7 MiB/s
Copying blob 15f737cbb750 [====>--------------] 166.3MiB / 646.1MiB | 21.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 203.2MiB / 1.3GiB | 22.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 166.8MiB / 2.3GiB | 66.3 MiB/s
Copying blob 15f737cbb750 [====>--------------] 172.4MiB / 646.1MiB | 36.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 206.1MiB / 1.3GiB | 24.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [>-------------------] 172.8MiB / 2.3GiB | 119.1 MiB/s
Copying blob 15f737cbb750 [====>--------------] 176.1MiB / 646.1MiB | 16.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 212.3MiB / 1.3GiB | 36.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 179.8MiB / 2.3GiB | 48.4 MiB/s
Copying blob 15f737cbb750 [====>--------------] 182.2MiB / 646.1MiB | 38.1 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==>------------------] 216.9MiB / 1.3GiB | 22.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 185.7MiB / 2.3GiB | 20.9 MiB/s
Copying blob 15f737cbb750 [====>-------------] 187.7MiB / 646.1MiB | 325.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 222.9MiB / 1.3GiB | 17.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 191.2MiB / 2.3GiB | 16.5 MiB/s
Copying blob 15f737cbb750 [=====>-------------] 193.4MiB / 646.1MiB | 22.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 228.3MiB / 1.3GiB | 54.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 196.6MiB / 2.3GiB | 94.4 MiB/s
Copying blob 15f737cbb750 [=====>-------------] 198.4MiB / 646.1MiB | 27.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>----------------] 234.4MiB / 1.3GiB | 210.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>------------------] 202.0MiB / 2.3GiB | 182.5 MiB/s
Copying blob 15f737cbb750 [=====>-------------] 204.6MiB / 646.1MiB | 53.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 239.9MiB / 1.3GiB | 64.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 208.0MiB / 2.3GiB | 55.8 MiB/s
Copying blob 15f737cbb750 [=====>-------------] 210.5MiB / 646.1MiB | 62.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 245.5MiB / 1.3GiB | 35.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 213.5MiB / 2.3GiB | 69.0 MiB/s
Copying blob 15f737cbb750 [=====>-------------] 215.6MiB / 646.1MiB | 34.1 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 250.3MiB / 1.3GiB | 32.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 219.4MiB / 2.3GiB | 34.6 MiB/s
Copying blob 15f737cbb750 [=====>------------] 220.9MiB / 646.1MiB | 349.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>----------------] 256.3MiB / 1.3GiB | 183.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 223.8MiB / 2.3GiB | 46.7 MiB/s
Copying blob 15f737cbb750 [=====>------------] 226.9MiB / 646.1MiB | 235.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 262.3MiB / 1.3GiB | 41.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>------------------] 229.4MiB / 2.3GiB | 129.7 MiB/s
Copying blob 15f737cbb750 [=====>------------] 233.0MiB / 646.1MiB | 350.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>----------------] 268.7MiB / 1.3GiB | 310.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 236.0MiB / 2.3GiB | 74.1 MiB/s
Copying blob 15f737cbb750 [======>------------] 238.2MiB / 646.1MiB | 23.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>-----------------] 273.3MiB / 1.3GiB | 53.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 241.0MiB / 2.3GiB | 19.7 MiB/s
Copying blob 15f737cbb750 [======>------------] 243.5MiB / 646.1MiB | 37.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===>----------------] 279.3MiB / 1.3GiB | 128.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>-------------------] 246.3MiB / 2.3GiB | 36.5 MiB/s
Copying blob 15f737cbb750 [======>------------] 248.5MiB / 646.1MiB | 42.3 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 284.8MiB / 1.3GiB | 68.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>------------------] 252.4MiB / 2.3GiB | 117.0 MiB/s
Copying blob 15f737cbb750 [======>-----------] 254.7MiB / 646.1MiB | 123.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 290.5MiB / 1.3GiB | 35.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>------------------] 258.5MiB / 2.3GiB | 118.0 MiB/s
Copying blob 15f737cbb750 [=======>-----------] 260.0MiB / 646.1MiB | 40.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 294.9MiB / 1.3GiB | 29.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>------------------] 264.4MiB / 2.3GiB | 189.6 MiB/s
Copying blob 15f737cbb750 [=======>-----------] 266.5MiB / 646.1MiB | 30.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 300.3MiB / 1.3GiB | 98.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=>------------------] 271.1MiB / 2.3GiB | 321.3 MiB/s
Copying blob 15f737cbb750 [=======>----------] 272.4MiB / 646.1MiB | 218.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 304.9MiB / 1.3GiB | 36.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 276.7MiB / 2.3GiB | 66.2 MiB/s
Copying blob 15f737cbb750 [=======>----------] 278.0MiB / 646.1MiB | 108.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>---------------] 309.7MiB / 1.3GiB | 229.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 281.6MiB / 2.3GiB | 13.1 MiB/s
Copying blob 15f737cbb750 [=======>-----------] 283.8MiB / 646.1MiB | 37.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 315.3MiB / 1.3GiB | 84.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 288.1MiB / 2.3GiB | 76.9 MiB/s
Copying blob 15f737cbb750 [========>----------] 289.8MiB / 646.1MiB | 54.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 320.9MiB / 1.3GiB | 25.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 293.3MiB / 2.3GiB | 205.0 MiB/s
Copying blob 15f737cbb750 [========>----------] 295.6MiB / 646.1MiB | 38.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 328.5MiB / 1.3GiB | 48.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 296.8MiB / 2.3GiB | 29.6 MiB/s
Copying blob 15f737cbb750 [========>----------] 302.4MiB / 646.1MiB | 41.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>----------------] 334.3MiB / 1.3GiB | 51.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 301.3MiB / 2.3GiB | 32.9 MiB/s
Copying blob 15f737cbb750 [========>----------] 308.0MiB / 646.1MiB | 44.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>---------------] 341.6MiB / 1.3GiB | 145.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 305.5MiB / 2.3GiB | 56.3 MiB/s
Copying blob 15f737cbb750 [========>---------] 314.5MiB / 646.1MiB | 129.3 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 347.5MiB / 1.3GiB | 41.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 310.1MiB / 2.3GiB | 127.9 MiB/s
Copying blob 15f737cbb750 [========>----------] 318.7MiB / 646.1MiB | 47.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====>---------------] 354.7MiB / 1.3GiB | 250.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 315.7MiB / 2.3GiB | 52.6 MiB/s
Copying blob 15f737cbb750 [========>---------] 325.2MiB / 646.1MiB | 247.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 359.9MiB / 1.3GiB | 12.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 319.9MiB / 2.3GiB | 19.1 MiB/s
Copying blob 15f737cbb750 [=========>---------] 330.5MiB / 646.1MiB | 85.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 366.6MiB / 1.3GiB | 35.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 325.2MiB / 2.3GiB | 89.1 MiB/s
Copying blob 15f737cbb750 [=========>---------] 335.8MiB / 646.1MiB | 40.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 373.2MiB / 1.3GiB | 48.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 330.9MiB / 2.3GiB | 33.3 MiB/s
Copying blob 15f737cbb750 [=========>---------] 342.2MiB / 646.1MiB | 38.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>----------------] 377.3MiB / 1.3GiB | 9.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 336.2MiB / 2.3GiB | 42.6 MiB/s
Copying blob 15f737cbb750 [=========>---------] 346.5MiB / 646.1MiB | 18.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 383.5MiB / 1.3GiB | 22.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 341.4MiB / 2.3GiB | 143.1 MiB/s
Copying blob 15f737cbb750 [=========>---------] 352.4MiB / 646.1MiB | 68.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 389.3MiB / 1.3GiB | 53.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 347.4MiB / 2.3GiB | 185.6 MiB/s
Copying blob 15f737cbb750 [==========>--------] 357.2MiB / 646.1MiB | 27.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 395.5MiB / 1.3GiB | 54.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 354.0MiB / 2.3GiB | 112.6 MiB/s
Copying blob 15f737cbb750 [=========>--------] 363.5MiB / 646.1MiB | 378.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 399.6MiB / 1.3GiB | 34.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 359.3MiB / 2.3GiB | 53.1 MiB/s
Copying blob 15f737cbb750 [==========>--------] 369.3MiB / 646.1MiB | 85.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====>---------------] 403.9MiB / 1.3GiB | 28.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 365.5MiB / 2.3GiB | 349.9 MiB/s
Copying blob 15f737cbb750 [==========>--------] 374.8MiB / 646.1MiB | 46.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 408.6MiB / 1.3GiB | 65.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 370.9MiB / 2.3GiB | 26.5 MiB/s
Copying blob 15f737cbb750 [==========>--------] 380.1MiB / 646.1MiB | 31.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 413.7MiB / 1.3GiB | 31.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 377.6MiB / 2.3GiB | 110.1 MiB/s
Copying blob 15f737cbb750 [==========>--------] 386.2MiB / 646.1MiB | 32.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 419.4MiB / 1.3GiB | 53.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>------------------] 383.3MiB / 2.3GiB | 29.3 MiB/s
Copying blob 15f737cbb750 [==========>-------] 391.3MiB / 646.1MiB | 189.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 424.6MiB / 1.3GiB | 60.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 390.0MiB / 2.3GiB | 405.7 MiB/s
Copying blob 15f737cbb750 [==========>-------] 397.6MiB / 646.1MiB | 162.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 429.8MiB / 1.3GiB | 95.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 395.3MiB / 2.3GiB | 35.0 MiB/s
Copying blob 15f737cbb750 [===========>-------] 403.0MiB / 646.1MiB | 32.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>-------------] 435.8MiB / 1.3GiB | 405.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==>-----------------] 400.9MiB / 2.3GiB | 106.7 MiB/s
Copying blob 15f737cbb750 [===========>-------] 407.9MiB / 646.1MiB | 32.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>-------------] 441.5MiB / 1.3GiB | 154.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 406.9MiB / 2.3GiB | 38.5 MiB/s
Copying blob 15f737cbb750 [===========>------] 414.2MiB / 646.1MiB | 248.3 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 446.9MiB / 1.3GiB | 68.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 411.7MiB / 2.3GiB | 70.2 MiB/s
Copying blob 15f737cbb750 [===========>------] 419.5MiB / 646.1MiB | 228.4 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>--------------] 449.2MiB / 1.3GiB | 5.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>----------------] 414.2MiB / 2.3GiB | 138.3 MiB/s
Copying blob 15f737cbb750 [============>------] 428.3MiB / 646.1MiB | 92.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 450.7MiB / 1.3GiB | 36.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>----------------] 414.2MiB / 2.3GiB | 138.3 MiB/s
Copying blob 15f737cbb750 [============>------] 441.4MiB / 646.1MiB | 78.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 456.2MiB / 1.3GiB | 55.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 414.5MiB / 2.3GiB | 1.6 MiB/s
Copying blob 15f737cbb750 [============>------] 451.7MiB / 646.1MiB | 87.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>--------------] 462.5MiB / 1.3GiB | 47.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 414.7MiB / 2.3GiB | 1.7 MiB/s
Copying blob 15f737cbb750 [=============>-----] 461.0MiB / 646.1MiB | 58.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 470.1MiB / 1.3GiB | 51.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 414.9MiB / 2.3GiB | 1.4 MiB/s
Copying blob 15f737cbb750 [=============>-----] 469.2MiB / 646.1MiB | 73.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======>-------------] 478.4MiB / 1.3GiB | 246.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 415.0MiB / 2.3GiB | 1.1 MiB/s
Copying blob 15f737cbb750 [============>-----] 477.7MiB / 646.1MiB | 110.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 486.0MiB / 1.3GiB | 54.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 415.2MiB / 2.3GiB | 1.1 MiB/s
Copying blob 15f737cbb750 [=============>-----] 485.8MiB / 646.1MiB | 63.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 494.3MiB / 1.3GiB | 71.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 415.4MiB / 2.3GiB | 1.2 MiB/s
Copying blob 15f737cbb750 [==============>----] 494.2MiB / 646.1MiB | 84.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 501.3MiB / 1.3GiB | 49.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 415.6MiB / 2.3GiB | 1.3 MiB/s
Copying blob 15f737cbb750 [==============>----] 502.0MiB / 646.1MiB | 67.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 510.4MiB / 1.3GiB | 65.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 415.8MiB / 2.3GiB | 1.5 MiB/s
Copying blob 15f737cbb750 [==============>----] 510.5MiB / 646.1MiB | 53.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 518.4MiB / 1.3GiB | 61.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 416.1MiB / 2.3GiB | 1.6 MiB/s
Copying blob 15f737cbb750 [==============>----] 518.6MiB / 646.1MiB | 67.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>-------------] 526.2MiB / 1.3GiB | 61.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 416.3MiB / 2.3GiB | 1.8 MiB/s
Copying blob 15f737cbb750 [==============>----] 526.9MiB / 646.1MiB | 73.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>------------] 533.0MiB / 1.3GiB | 276.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 416.7MiB / 2.3GiB | 2.1 MiB/s
Copying blob 15f737cbb750 [==============>---] 535.1MiB / 646.1MiB | 411.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=======>------------] 541.6MiB / 1.3GiB | 162.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 417.0MiB / 2.3GiB | 2.3 MiB/s
Copying blob 15f737cbb750 [===============>---] 542.4MiB / 646.1MiB | 21.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>------------] 551.2MiB / 1.3GiB | 66.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 417.4MiB / 2.3GiB | 2.6 MiB/s
Copying blob 15f737cbb750 [===============>---] 550.7MiB / 646.1MiB | 55.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>------------] 559.1MiB / 1.3GiB | 31.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 417.8MiB / 2.3GiB | 3.1 MiB/s
Copying blob 15f737cbb750 [===============>--] 557.5MiB / 646.1MiB | 133.2 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>------------] 568.0MiB / 1.3GiB | 64.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 418.3MiB / 2.3GiB | 3.5 MiB/s
Copying blob 15f737cbb750 [================>--] 564.7MiB / 646.1MiB | 49.7 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>------------] 576.6MiB / 1.3GiB | 49.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 419.0MiB / 2.3GiB | 3.1 MiB/s
Copying blob 15f737cbb750 [================>--] 571.0MiB / 646.1MiB | 41.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>-----------] 585.6MiB / 1.3GiB | 276.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 419.7MiB / 2.3GiB | 5.3 MiB/s
Copying blob 15f737cbb750 [===============>--] 579.6MiB / 646.1MiB | 188.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>------------] 594.5MiB / 1.3GiB | 63.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 420.6MiB / 2.3GiB | 6.2 MiB/s
Copying blob 15f737cbb750 [================>--] 586.9MiB / 646.1MiB | 64.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [========>-----------] 602.5MiB / 1.3GiB | 471.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 421.6MiB / 2.3GiB | 7.8 MiB/s
Copying blob 15f737cbb750 [================>--] 593.7MiB / 646.1MiB | 93.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>-----------] 610.5MiB / 1.3GiB | 50.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>------------------] 422.7MiB / 2.3GiB | 8.3 MiB/s
Copying blob 15f737cbb750 [=================>-] 601.9MiB / 646.1MiB | 66.8 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>-----------] 618.7MiB / 1.3GiB | 65.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 424.0MiB / 2.3GiB | 11.1 MiB/s
Copying blob 15f737cbb750 [=================>-] 609.0MiB / 646.1MiB | 54.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>-----------] 626.6MiB / 1.3GiB | 61.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 425.5MiB / 2.3GiB | 11.1 MiB/s
Copying blob 15f737cbb750 [=================>-] 616.2MiB / 646.1MiB | 48.9 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>----------] 633.5MiB / 1.3GiB | 105.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 426.9MiB / 2.3GiB | 13.7 MiB/s
Copying blob 15f737cbb750 [=================>-] 622.5MiB / 646.1MiB | 44.6 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>----------] 642.8MiB / 1.3GiB | 359.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 429.0MiB / 2.3GiB | 18.9 MiB/s
Copying blob 15f737cbb750 [=================>-] 627.9MiB / 646.1MiB | 38.0 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>----------] 650.6MiB / 1.3GiB | 176.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 431.1MiB / 2.3GiB | 27.4 MiB/s
Copying blob 15f737cbb750 [=================>] 634.5MiB / 646.1MiB | 372.5 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>----------] 657.8MiB / 1.3GiB | 58.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 433.5MiB / 2.3GiB | 18.9 MiB/s
Copying blob 15f737cbb750 [==================>] 641.1MiB / 646.1MiB | 44.3 MiB/s
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>----------] 666.9MiB / 1.3GiB | 80.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 437.2MiB / 2.3GiB | 32.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>----------] 677.5MiB / 1.3GiB | 81.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 442.5MiB / 2.3GiB | 33.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=========>----------] 687.4MiB / 1.3GiB | 160.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 449.0MiB / 2.3GiB | 83.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>----------] 696.3MiB / 1.3GiB | 50.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 454.6MiB / 2.3GiB | 58.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>----------] 706.9MiB / 1.3GiB | 85.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 462.2MiB / 2.3GiB | 46.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>----------] 715.4MiB / 1.3GiB | 73.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>----------------] 470.0MiB / 2.3GiB | 192.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>---------] 723.0MiB / 1.3GiB | 51.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 478.8MiB / 2.3GiB | 91.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>---------] 731.7MiB / 1.3GiB | 65.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>-----------------] 484.9MiB / 2.3GiB | 13.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==========>---------] 741.3MiB / 1.3GiB | 458.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===>----------------] 492.8MiB / 2.3GiB | 259.4 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>---------] 749.4MiB / 1.3GiB | 70.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 502.6MiB / 2.3GiB | 62.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>---------] 757.6MiB / 1.3GiB | 61.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 510.9MiB / 2.3GiB | 72.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>---------] 765.8MiB / 1.3GiB | 64.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 519.5MiB / 2.3GiB | 56.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>---------] 772.4MiB / 1.3GiB | 67.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 527.3MiB / 2.3GiB | 78.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>--------] 780.8MiB / 1.3GiB | 388.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>---------------] 535.8MiB / 2.3GiB | 203.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===========>--------] 788.9MiB / 1.3GiB | 214.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 544.8MiB / 2.3GiB | 70.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 797.9MiB / 1.3GiB | 67.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 554.6MiB / 2.3GiB | 56.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 805.7MiB / 1.3GiB | 48.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 562.1MiB / 2.3GiB | 75.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 815.1MiB / 1.3GiB | 70.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 569.6MiB / 2.3GiB | 40.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 822.9MiB / 1.3GiB | 59.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 578.4MiB / 2.3GiB | 46.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 826.7MiB / 1.3GiB | 14.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>----------------] 588.5MiB / 2.3GiB | 59.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 834.5MiB / 1.3GiB | 30.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [====>---------------] 599.4MiB / 2.3GiB | 334.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>--------] 842.0MiB / 1.3GiB | 47.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 609.0MiB / 2.3GiB | 80.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 848.0MiB / 1.3GiB | 55.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 618.1MiB / 2.3GiB | 80.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 855.8MiB / 1.3GiB | 49.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 628.9MiB / 2.3GiB | 78.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 859.9MiB / 1.3GiB | 18.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 640.2MiB / 2.3GiB | 85.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 864.7MiB / 1.3GiB | 40.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>--------------] 649.8MiB / 2.3GiB | 255.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 871.0MiB / 1.3GiB | 30.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>--------------] 660.0MiB / 2.3GiB | 367.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [============>-------] 879.5MiB / 1.3GiB | 171.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 669.5MiB / 2.3GiB | 26.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>------] 888.7MiB / 1.3GiB | 464.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>--------------] 678.4MiB / 2.3GiB | 270.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 896.5MiB / 1.3GiB | 63.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 687.5MiB / 2.3GiB | 63.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>-------] 905.5MiB / 1.3GiB | 84.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 694.0MiB / 2.3GiB | 61.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>------] 914.6MiB / 1.3GiB | 94.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 702.2MiB / 2.3GiB | 45.4 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>------] 924.4MiB / 1.3GiB | 78.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 709.3MiB / 2.3GiB | 58.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>------] 933.0MiB / 1.3GiB | 253.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>---------------] 716.2MiB / 2.3GiB | 96.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>------] 941.1MiB / 1.3GiB | 30.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 723.9MiB / 2.3GiB | 27.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=============>------] 950.9MiB / 1.3GiB | 396.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>--------------] 732.5MiB / 2.3GiB | 291.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>------] 959.0MiB / 1.3GiB | 58.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=====>--------------] 740.9MiB / 2.3GiB | 398.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>------] 968.5MiB / 1.3GiB | 74.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 748.9MiB / 2.3GiB | 68.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>-----] 977.2MiB / 1.3GiB | 124.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 756.8MiB / 2.3GiB | 454.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===============>-----] 986.0MiB / 1.3GiB | 49.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 765.2MiB / 2.3GiB | 66.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===============>-----] 993.0MiB / 1.3GiB | 52.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 774.0MiB / 2.3GiB | 70.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>-----] 1001.3MiB / 1.3GiB | 40.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 781.9MiB / 2.3GiB | 65.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>----] 1009.4MiB / 1.3GiB | 156.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 791.6MiB / 2.3GiB | 414.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==============>-----] 1018.0MiB / 1.3GiB | 70.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 798.6MiB / 2.3GiB | 478.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=================>-----] 1.0GiB / 1.3GiB | 70.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 799.8MiB / 2.3GiB | 33.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [================>-----] 1.0GiB / 1.3GiB | 131.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 807.7MiB / 2.3GiB | 223.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=================>-----] 1.0GiB / 1.3GiB | 28.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>--------------] 816.0MiB / 2.3GiB | 99.4 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=================>-----] 1.0GiB / 1.3GiB | 63.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 825.6MiB / 2.3GiB | 100.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=================>----] 1.0GiB / 1.3GiB | 126.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 835.8MiB / 2.3GiB | 120.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>----] 1.0GiB / 1.3GiB | 68.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 844.4MiB / 2.3GiB | 45.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>----] 1.0GiB / 1.3GiB | 50.0 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 852.8MiB / 2.3GiB | 53.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>----] 1.1GiB / 1.3GiB | 67.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 861.2MiB / 2.3GiB | 59.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>----] 1.1GiB / 1.3GiB | 28.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [======>-------------] 869.1MiB / 2.3GiB | 262.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=================>----] 1.1GiB / 1.3GiB | 127.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 878.6MiB / 2.3GiB | 73.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>----] 1.1GiB / 1.3GiB | 64.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 887.2MiB / 2.3GiB | 69.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>----] 1.1GiB / 1.3GiB | 53.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 894.4MiB / 2.3GiB | 47.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>---] 1.1GiB / 1.3GiB | 389.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 902.8MiB / 2.3GiB | 18.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===================>---] 1.1GiB / 1.3GiB | 56.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>------------] 911.6MiB / 2.3GiB | 442.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===================>---] 1.1GiB / 1.3GiB | 66.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 918.6MiB / 2.3GiB | 26.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===================>---] 1.1GiB / 1.3GiB | 43.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>------------] 927.2MiB / 2.3GiB | 259.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [==================>---] 1.1GiB / 1.3GiB | 372.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>-------------] 934.0MiB / 2.3GiB | 34.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===================>---] 1.1GiB / 1.3GiB | 68.1 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>------------] 942.8MiB / 2.3GiB | 40.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===================>--] 1.1GiB / 1.3GiB | 171.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>-------------] 950.1MiB / 2.3GiB | 5.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [===================>--] 1.2GiB / 1.3GiB | 204.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>------------] 960.5MiB / 2.3GiB | 453.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====================>--] 1.2GiB / 1.3GiB | 79.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=======>------------] 969.3MiB / 2.3GiB | 404.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====================>--] 1.2GiB / 1.3GiB | 35.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>------------] 977.7MiB / 2.3GiB | 97.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====================>--] 1.2GiB / 1.3GiB | 48.6 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>------------] 986.2MiB / 2.3GiB | 95.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====================>--] 1.2GiB / 1.3GiB | 30.7 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>-----------] 994.7MiB / 2.3GiB | 460.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====================>--] 1.2GiB / 1.3GiB | 58.4 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>-----------] 1003.8MiB / 2.3GiB | 59.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====================>-] 1.2GiB / 1.3GiB | 62.8 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>-----------] 1011.7MiB / 2.3GiB | 26.4 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====================>-] 1.2GiB / 1.3GiB | 53.3 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>-----------] 1017.8MiB / 2.3GiB | 38.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [====================>-] 1.2GiB / 1.3GiB | 129.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>------------] 1018.4MiB / 2.3GiB | 2.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====================>-] 1.2GiB / 1.3GiB | 28.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [========>-----------] 1022.0MiB / 2.3GiB | 11.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====================>-] 1.2GiB / 1.3GiB | 69.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>-------------] 1.0GiB / 2.3GiB | 33.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [=====================>] 1.3GiB / 1.3GiB | 124.9 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>-------------] 1.0GiB / 2.3GiB | 42.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======================>] 1.3GiB / 1.3GiB | 73.5 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>-------------] 1.0GiB / 2.3GiB | 10.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b [======================>] 1.3GiB / 1.3GiB | 47.2 MiB/s
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>-------------] 1.0GiB / 2.3GiB | 73.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>------------] 1.0GiB / 2.3GiB | 114.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>------------] 1.0GiB / 2.3GiB | 133.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>------------] 1.1GiB / 2.3GiB | 131.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=========>------------] 1.1GiB / 2.3GiB | 128.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.1GiB / 2.3GiB | 130.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.1GiB / 2.3GiB | 129.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.1GiB / 2.3GiB | 132.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.1GiB / 2.3GiB | 130.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.1GiB / 2.3GiB | 130.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.2GiB / 2.3GiB | 130.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==========>-----------] 1.2GiB / 2.3GiB | 131.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>----------] 1.2GiB / 2.3GiB | 126.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>----------] 1.2GiB / 2.3GiB | 129.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>-----------] 1.2GiB / 2.3GiB | 97.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>----------] 1.2GiB / 2.3GiB | 120.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>----------] 1.3GiB / 2.3GiB | 128.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>----------] 1.3GiB / 2.3GiB | 125.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===========>----------] 1.3GiB / 2.3GiB | 145.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>----------] 1.3GiB / 2.3GiB | 69.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.3GiB / 2.3GiB | 130.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.3GiB / 2.3GiB | 150.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.3GiB / 2.3GiB | 150.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.3GiB / 2.3GiB | 138.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.3GiB / 2.3GiB | 127.4 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.3GiB / 2.3GiB | 130.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.4GiB / 2.3GiB | 214.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [============>---------] 1.4GiB / 2.3GiB | 125.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.4GiB / 2.3GiB | 128.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.4GiB / 2.3GiB | 111.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.4GiB / 2.3GiB | 129.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.4GiB / 2.3GiB | 131.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.5GiB / 2.3GiB | 128.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.5GiB / 2.3GiB | 132.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=============>--------] 1.5GiB / 2.3GiB | 119.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==============>-------] 1.5GiB / 2.3GiB | 122.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==============>-------] 1.5GiB / 2.3GiB | 128.7 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==============>-------] 1.5GiB / 2.3GiB | 107.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==============>-------] 1.5GiB / 2.3GiB | 106.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>-------] 1.6GiB / 2.3GiB | 94.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==============>-------] 1.6GiB / 2.3GiB | 127.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [==============>-------] 1.6GiB / 2.3GiB | 117.6 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>------] 1.6GiB / 2.3GiB | 131.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>------] 1.6GiB / 2.3GiB | 127.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [================>------] 1.6GiB / 2.3GiB | 99.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>------] 1.6GiB / 2.3GiB | 128.0 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>------] 1.7GiB / 2.3GiB | 128.2 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>------] 1.7GiB / 2.3GiB | 127.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [================>------] 1.7GiB / 2.3GiB | 86.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [===============>------] 1.7GiB / 2.3GiB | 123.1 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [================>-----] 1.7GiB / 2.3GiB | 104.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [================>-----] 1.7GiB / 2.3GiB | 125.8 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.7GiB / 2.3GiB | 42.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [================>-----] 1.7GiB / 2.3GiB | 133.9 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 53.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [================>-----] 1.8GiB / 2.3GiB | 132.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 18.3 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 69.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 69.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 69.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 69.5 MiB/s
Copying blob 15f737cbb750 done   | 
Copying blob 9d63f91420d1 done   | 
Copying blob ccbfeac86675 done   | 
Copying blob 976eabdc1264 done   | 
Copying blob e00f63a68171 done   | 
Copying blob 7ecefaa6bd84 done   | 
Copying blob ed3eb81fea0f done   | 
Copying blob 21c3e880548b done   | 
Copying blob cd5257d81ce2 done   | 
Copying blob a1b3e78ec0ca done   | 
Copying blob 69ea39692210 [=================>-----] 1.8GiB / 2.3GiB | 69.5 MiB/s
Copying blob 15f737cbb750 done   | 
FATAL:   While making image from oci registry: error fetching image to cache: while building SIF from layers: conveyor failed to get: while fetching image: initializing source oci:/home/gth/.apptainer/cache/blob:a625654c769254f84c279df5d32999b27effc272137e89bfb91d5e35533c23b8: copying system image from manifest list: writing blob: write /home/gth/.apptainer/cache/blob/oci-put-blob1235165443: disk quota exceeded
%%writefile nvidia_apptainer.sh
#!/usr/bin/bash
#SBATCH --job-name=apptainer_job
#SBATCH --account=fta-25-9
#SBATCH --partition=qgpu
#SBATCH --gpus=8
#SBATCH --time=00:00:30
#SBATCH --mem=4G
#SBATCH --output=output.log
apptainer exec --nv cuda_image.sif nvidia-smi
Overwriting nvidia_apptainer.sh
!sbatch nvidia_apptainer.sh
Submitted batch job 2555065
cat output.log
INFO:    Environment variable SINGULARITY_BINDPATH is set, but APPTAINER_BINDPATH is preferred
INFO:    Environment variable SINGULARITYENV_LD_PRELOAD is set, but APPTAINERENV_LD_PRELOAD is preferred
Fri Apr 25 22:28:15 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.86.15              Driver Version: 570.86.15      CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100-SXM4-40GB          Off |   00000000:07:00.0 Off |                    0 |
| N/A   29C    P0             53W /  400W |       1MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA A100-SXM4-40GB          Off |   00000000:0B:00.0 Off |                    0 |
| N/A   30C    P0             54W /  400W |       1MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA A100-SXM4-40GB          Off |   00000000:48:00.0 Off |                    0 |
| N/A   28C    P0             53W /  400W |       1MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA A100-SXM4-40GB          Off |   00000000:CB:00.0 Off |                    0 |
| N/A   29C    P0             53W /  400W |       1MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+