d8888      888                                    d8888                                 d88888      888                                   d88888                                d88P888      888                                  d88P888                               d88P 888  .d88888  8888b.  88888b.d88b.           d88P 888 888d888 .d88b.   .d88b.      d88P  888 d88" 888     "88b 888 "888 "88b         d88P  888 888P"  d88P"88b d88""88b    d88P   888 888  888 .d888888 888  888  888        d88P   888 888    888  888 888  888   d8888888888 Y88b 888 888  888 888  888  888       d8888888888 888    Y88b 888 Y88..88P  d88P     888  "Y88888 "Y888888 888  888  888      d88P     888 888     "Y88888  "Y88P"                                                                              888                                                                                 Y8b d88P                                                                                  "Y88P"