{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "machine_shape": "hm",
      "gpuType": "T4"
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "source": [
        "!pip install -q lightgbm xgboost scikit-learn\n",
        "\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "from sklearn.model_selection import train_test_split, RandomizedSearchCV\n",
        "from sklearn.compose import ColumnTransformer\n",
        "from sklearn.pipeline import Pipeline\n",
        "from sklearn.preprocessing import OneHotEncoder, FunctionTransformer\n",
        "from sklearn.impute import SimpleImputer\n",
        "from sklearn.metrics import (\n",
        "    classification_report, confusion_matrix, ConfusionMatrixDisplay,\n",
        "    roc_auc_score, average_precision_score, roc_curve, precision_recall_curve,\n",
        "    brier_score_loss\n",
        ")\n",
        "from sklearn.ensemble import RandomForestClassifier\n",
        "from sklearn.calibration import calibration_curve\n",
        "\n",
        "import lightgbm as lgb\n",
        "import xgboost as xgb\n",
        "\n",
        "plt.rcParams[\"figure.figsize\"] = (6,5)\n",
        "np.random.seed(42)\n"
      ],
      "metadata": {
        "id": "-uIgT5GCrdHv"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import pandas as pd\n",
        "\n",
        "# Load your dataset into df\n",
        "CSV_PATH = \"/content/road_accident_master_cleaned.csv\"\n",
        "df = pd.read_csv(CSV_PATH, low_memory=False)\n",
        "\n",
        "print(\"Shape:\", df.shape)\n",
        "df.head(3)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 212
        },
        "id": "HER6yufiahhZ",
        "outputId": "870442c6-234b-4787-c76e-86d9d9fabccf"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Shape: (132977, 55)\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "  accident_index  accident_year accident_reference  vehicle_reference  \\\n",
              "0  2023010419171           2023           10419171                  1   \n",
              "1  2023010419183           2023           10419183                  2   \n",
              "2  2023010419183           2023           10419183                  3   \n",
              "\n",
              "   casualty_reference  casualty_class  sex_of_casualty  age_of_casualty  \\\n",
              "0                   1               3                2               20   \n",
              "1                   1               1                1               25   \n",
              "2                   2               2                2               38   \n",
              "\n",
              "   age_band_of_casualty  casualty_severity  ...  light_conditions  \\\n",
              "0                     4                  3  ...               4.0   \n",
              "1                     5                  3  ...               4.0   \n",
              "2                     7                  3  ...               4.0   \n",
              "\n",
              "   weather_conditions  road_surface_conditions  special_conditions_at_site  \\\n",
              "0                 8.0                      2.0                         0.0   \n",
              "1                 1.0                      1.0                         0.0   \n",
              "2                 1.0                      1.0                         0.0   \n",
              "\n",
              "   carriageway_hazards  urban_or_rural_area  \\\n",
              "0                  0.0                  1.0   \n",
              "1                  0.0                  1.0   \n",
              "2                  0.0                  1.0   \n",
              "\n",
              "   did_police_officer_attend_scene_of_accident  trunk_road_flag  \\\n",
              "0                                          1.0              2.0   \n",
              "1                                          1.0              2.0   \n",
              "2                                          1.0              2.0   \n",
              "\n",
              "  lsoa_of_accident_location  enhanced_severity_collision  \n",
              "0                 E01003383                         -1.0  \n",
              "1                 E01001547                         -1.0  \n",
              "2                 E01001547                         -1.0  \n",
              "\n",
              "[3 rows x 55 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-3106285e-4669-45b9-afa9-adcec3656d3f\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>accident_index</th>\n",
              "      <th>accident_year</th>\n",
              "      <th>accident_reference</th>\n",
              "      <th>vehicle_reference</th>\n",
              "      <th>casualty_reference</th>\n",
              "      <th>casualty_class</th>\n",
              "      <th>sex_of_casualty</th>\n",
              "      <th>age_of_casualty</th>\n",
              "      <th>age_band_of_casualty</th>\n",
              "      <th>casualty_severity</th>\n",
              "      <th>...</th>\n",
              "      <th>light_conditions</th>\n",
              "      <th>weather_conditions</th>\n",
              "      <th>road_surface_conditions</th>\n",
              "      <th>special_conditions_at_site</th>\n",
              "      <th>carriageway_hazards</th>\n",
              "      <th>urban_or_rural_area</th>\n",
              "      <th>did_police_officer_attend_scene_of_accident</th>\n",
              "      <th>trunk_road_flag</th>\n",
              "      <th>lsoa_of_accident_location</th>\n",
              "      <th>enhanced_severity_collision</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2023010419171</td>\n",
              "      <td>2023</td>\n",
              "      <td>10419171</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>3</td>\n",
              "      <td>2</td>\n",
              "      <td>20</td>\n",
              "      <td>4</td>\n",
              "      <td>3</td>\n",
              "      <td>...</td>\n",
              "      <td>4.0</td>\n",
              "      <td>8.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>E01003383</td>\n",
              "      <td>-1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2023010419183</td>\n",
              "      <td>2023</td>\n",
              "      <td>10419183</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>25</td>\n",
              "      <td>5</td>\n",
              "      <td>3</td>\n",
              "      <td>...</td>\n",
              "      <td>4.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>E01001547</td>\n",
              "      <td>-1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2023010419183</td>\n",
              "      <td>2023</td>\n",
              "      <td>10419183</td>\n",
              "      <td>3</td>\n",
              "      <td>2</td>\n",
              "      <td>2</td>\n",
              "      <td>2</td>\n",
              "      <td>38</td>\n",
              "      <td>7</td>\n",
              "      <td>3</td>\n",
              "      <td>...</td>\n",
              "      <td>4.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>E01001547</td>\n",
              "      <td>-1.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>3 rows × 55 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3106285e-4669-45b9-afa9-adcec3656d3f')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-3106285e-4669-45b9-afa9-adcec3656d3f button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-3106285e-4669-45b9-afa9-adcec3656d3f');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-12e10bd3-1f14-42dd-85d6-66e9378d6b16\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-12e10bd3-1f14-42dd-85d6-66e9378d6b16')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-12e10bd3-1f14-42dd-85d6-66e9378d6b16 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df"
            }
          },
          "metadata": {},
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "print(\"Total missing cells:\", int(df.isna().sum().sum()))\n",
        "\n",
        "# Drop pure IDs (don’t help prediction)\n",
        "id_cols = [\"accident_index\",\"accident_reference\",\"vehicle_reference\",\"casualty_reference\"]\n",
        "data = df.drop(columns=[c for c in id_cols if c in df.columns], errors=\"ignore\").copy()\n",
        "\n",
        "# STATS19: 1=Fatal, 2=Serious, 3=Slight → Severe=1 if {1,2}, Slight=0\n",
        "if \"casualty_severity\" not in data.columns:\n",
        "    raise ValueError(\"Expected column 'casualty_severity' not found.\")\n",
        "\n",
        "data[\"Severe\"] = data[\"casualty_severity\"].replace({1:1, 2:1, 3:0}).astype(int)\n",
        "\n",
        "# Split features/target\n",
        "X = data.drop(columns=[\"Severe\",\"casualty_severity\"], errors=\"ignore\")\n",
        "y = data[\"Severe\"]\n",
        "print(\"Class balance (0=Slight, 1=Severe):\")\n",
        "print(y.value_counts(normalize=True).rename({0:\"Slight\",1:\"Severe\"}).round(3))\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "u2KOWUf_tr2M",
        "outputId": "5753e529-bdc1-4ba6-cbf6-0cdf2f95250a"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Total missing cells: 0\n",
            "Class balance (0=Slight, 1=Severe):\n",
            "Severe\n",
            "Slight    0.792\n",
            "Severe    0.208\n",
            "Name: proportion, dtype: float64\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')\n",
        "\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "4vm8P6zSbV-8",
        "outputId": "dee45e7e-1dfa-44c5-991a-911dd854c2c2"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mounted at /content/drive\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "X_train, X_test, y_train, y_test = train_test_split(\n",
        "    X, y, test_size=0.20, stratify=y, random_state=42\n",
        ")\n",
        "X_train.shape, X_test.shape\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZnwSANbvt7It",
        "outputId": "f4df7eac-abdd-43c2-f09c-622e150bb17d"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "((106381, 50), (26596, 50))"
            ]
          },
          "metadata": {},
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "def split_features(Xdf, max_card_for_cat=20):\n",
        "    \"\"\"\n",
        "    Treat object/category + any numeric column with ≤20 unique values as categorical.\n",
        "    Safe for STATS19 coded fields (e.g., weather, lighting).\n",
        "    \"\"\"\n",
        "    obj_cols = Xdf.select_dtypes(include=[\"object\",\"category\"]).columns.tolist()\n",
        "    num_all  = Xdf.select_dtypes(include=[np.number,\"bool\"]).columns.tolist()\n",
        "    low_card_num  = [c for c in num_all if Xdf[c].nunique(dropna=True) <= max_card_for_cat]\n",
        "    high_card_num = [c for c in num_all if Xdf[c].nunique(dropna=True) >  max_card_for_cat]\n",
        "    cat_cols = sorted(set(obj_cols + low_card_num))\n",
        "    num_cols = sorted(high_card_num)\n",
        "    return num_cols, cat_cols\n",
        "\n",
        "num_cols, cat_cols = split_features(X_train)\n",
        "print(f\"Numeric cols: {len(num_cols)} | Categorical/low-card cols: {len(cat_cols)}\")\n",
        "\n",
        "numeric_pipe = Pipeline([(\"imputer\", SimpleImputer(strategy=\"median\"))])\n",
        "categorical_pipe = Pipeline([\n",
        "    (\"imputer\", SimpleImputer(strategy=\"most_frequent\")),\n",
        "    # scikit-learn ≥1.2 uses sparse_output (not 'sparse')\n",
        "    (\"onehot\", OneHotEncoder(handle_unknown=\"ignore\", sparse_output=True))\n",
        "])\n",
        "\n",
        "preprocess = ColumnTransformer([\n",
        "    (\"num\", numeric_pipe, num_cols),\n",
        "    (\"cat\", categorical_pipe, cat_cols)\n",
        "])\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "z42f7hkGt-uM",
        "outputId": "d7bf810d-d6bb-4b33-f277-eac30cbc9bb9"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Numeric cols: 9 | Categorical/low-card cols: 41\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "def evaluate_probs(y_true, y_prob, threshold=0.5, label=\"Model\"):\n",
        "    y_pred = (y_prob >= threshold).astype(int)\n",
        "    print(f\"\\n== {label} ==\")\n",
        "    print(\"ROC-AUC:\", roc_auc_score(y_true, y_prob))\n",
        "    print(\"PR-AUC (Severe):\", average_precision_score(y_true, y_prob))\n",
        "    print(classification_report(y_true, y_pred))\n",
        "    ConfusionMatrixDisplay(confusion_matrix(y_true, y_pred)).plot()\n",
        "    plt.title(f\"{label} — Confusion Matrix @ thr={threshold:.2f}\")\n",
        "    plt.show()\n",
        "\n",
        "def multi_roc_pr(y_true, probs_dict):\n",
        "    # ROC\n",
        "    plt.figure()\n",
        "    for name, p in probs_dict.items():\n",
        "        fpr, tpr, _ = roc_curve(y_true, p)\n",
        "        plt.plot(fpr, tpr, label=f\"{name} (AUC={roc_auc_score(y_true,p):.3f})\")\n",
        "    plt.plot([0,1],[0,1],\"--\")\n",
        "    plt.xlabel(\"False Positive Rate\"); plt.ylabel(\"True Positive Rate\")\n",
        "    plt.title(\"ROC Curves\"); plt.legend(); plt.grid(True); plt.show()\n",
        "    # PR\n",
        "    plt.figure()\n",
        "    for name, p in probs_dict.items():\n",
        "        pr, rc, _ = precision_recall_curve(y_true, p)\n",
        "        ap = average_precision_score(y_true, p)\n",
        "        plt.plot(rc, pr, label=f\"{name} (AP={ap:.3f})\")\n",
        "    plt.xlabel(\"Recall (Severe)\"); plt.ylabel(\"Precision (Severe)\")\n",
        "    plt.title(\"Precision–Recall Curves\"); plt.legend(); plt.grid(True); plt.show()\n",
        "\n",
        "def metrics_table(y_true, prob_dict, thr=0.5):\n",
        "    rows = []\n",
        "    for name, p in prob_dict.items():\n",
        "        y_pred = (p >= thr).astype(int)\n",
        "        cr = classification_report(y_true, y_pred, output_dict=True)\n",
        "        rows.append({\n",
        "            \"Model\": name,\n",
        "            \"ROC-AUC\": roc_auc_score(y_true, p),\n",
        "            \"PR-AUC (Severe)\": average_precision_score(y_true, p),\n",
        "            \"Precision (Severe)\": cr[\"1\"][\"precision\"],\n",
        "            \"Recall (Severe)\":    cr[\"1\"][\"recall\"],\n",
        "            \"F1 (Severe)\":        cr[\"1\"][\"f1-score\"],\n",
        "        })\n",
        "    return pd.DataFrame(rows).sort_values(\"PR-AUC (Severe)\", ascending=False)\n"
      ],
      "metadata": {
        "id": "ViQaWjdbuBtl"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# RF needs dense arrays after One-Hot\n",
        "to_dense = FunctionTransformer(lambda X: X.toarray(), accept_sparse=True)\n",
        "\n",
        "rf = Pipeline([\n",
        "    (\"prep\", preprocess),\n",
        "    (\"dense\", to_dense),\n",
        "    (\"model\", RandomForestClassifier(\n",
        "        n_estimators=400, max_depth=15, min_samples_leaf=2,\n",
        "        class_weight=\"balanced\", n_jobs=-1, random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "lgbm = Pipeline([\n",
        "    (\"prep\", preprocess),  # LGBM accepts sparse input\n",
        "    (\"model\", lgb.LGBMClassifier(\n",
        "        boosting_type=\"gbdt\",\n",
        "        n_estimators=1000, learning_rate=0.05,\n",
        "        num_leaves=64, subsample=0.8, colsample_bytree=0.8,\n",
        "        class_weight=\"balanced\", random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "# Class imbalance: negatives / positives\n",
        "pos_weight = (y_train == 0).sum() / max(1,(y_train == 1).sum())\n",
        "xgbm = Pipeline([\n",
        "    (\"prep\", preprocess),\n",
        "    (\"model\", xgb.XGBClassifier(\n",
        "        n_estimators=1000, learning_rate=0.05, max_depth=8,\n",
        "        subsample=0.8, colsample_bytree=0.8, reg_lambda=1.0,\n",
        "        scale_pos_weight=pos_weight, eval_metric=\"auc\",\n",
        "        n_jobs=-1, random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "# Fit & predict (baseline)\n",
        "rf.fit(X_train, y_train);   rf_prob  = rf.predict_proba(X_test)[:,1]\n",
        "lgbm.fit(X_train, y_train); lgb_prob = lgbm.predict_proba(X_test)[:,1]\n",
        "xgbm.fit(X_train, y_train); xgb_prob = xgbm.predict_proba(X_test)[:,1]\n",
        "\n",
        "# Quick evals @ thr=0.5\n",
        "evaluate_probs(y_test, rf_prob,  0.5, \"RandomForest (baseline)\")\n",
        "evaluate_probs(y_test, lgb_prob, 0.5, \"LightGBM (baseline)\")\n",
        "evaluate_probs(y_test, xgb_prob, 0.5, \"XGBoost (baseline)\")\n",
        "\n",
        "multi_roc_pr(y_test, {\"RF\": rf_prob, \"LightGBM\": lgb_prob, \"XGBoost\": xgb_prob})\n",
        "metrics_table(y_test, {\"RF\": rf_prob, \"LightGBM\": lgb_prob, \"XGBoost\": xgb_prob}, thr=0.5)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 3365
        },
        "id": "xQs13Zn0uE30",
        "outputId": "41877e5a-7c63-4261-ef9a-8400048a09af"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[LightGBM] [Info] Number of positive: 22123, number of negative: 84258\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.205849 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 6245\n",
            "[LightGBM] [Info] Number of data points in the train set: 106381, number of used features: 2287\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "== RandomForest (baseline) ==\n",
            "ROC-AUC: 0.9805777658780411\n",
            "PR-AUC (Severe): 0.9371148783277323\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.98      0.94      0.96     21065\n",
            "           1       0.80      0.91      0.85      5531\n",
            "\n",
            "    accuracy                           0.93     26596\n",
            "   macro avg       0.89      0.93      0.91     26596\n",
            "weighted avg       0.94      0.93      0.94     26596\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "== LightGBM (baseline) ==\n",
            "ROC-AUC: 0.9954330774351138\n",
            "PR-AUC (Severe): 0.9850314430132274\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.98      0.97      0.98     21065\n",
            "           1       0.89      0.94      0.92      5531\n",
            "\n",
            "    accuracy                           0.96     26596\n",
            "   macro avg       0.94      0.96      0.95     26596\n",
            "weighted avg       0.97      0.96      0.96     26596\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "== XGBoost (baseline) ==\n",
            "ROC-AUC: 0.9962023942645862\n",
            "PR-AUC (Severe): 0.9872504198705754\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.99      0.97      0.98     21065\n",
            "           1       0.89      0.95      0.92      5531\n",
            "\n",
            "    accuracy                           0.97     26596\n",
            "   macro avg       0.94      0.96      0.95     26596\n",
            "weighted avg       0.97      0.97      0.97     26596\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg4AAAHJCAYAAADtvrGoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZ4hJREFUeJzt3XdUFNffBvBnKbsUWYpKU0TQKGJvIWhskYCGmBhNsUXsMQFjb4kFNZafvWCNBZNoYkk0iRoVsUeiESWWKLFgbBRjAUH63vcP3h0dQd3VQcR9PufMOe6dO3furMvsd28blRBCgIiIiMgAZiVdASIiIio9GDgQERGRwRg4EBERkcEYOBAREZHBGDgQERGRwRg4EBERkcEYOBAREZHBGDgQERGRwRg4EBERkcEYOLxArly5AisrK/z+++9SWsuWLVGrVq0SrNXjqVQqhIeHS68jIyOhUqlw6dKlYjvnzZs3YWtri23bthXbOUqLc+fOITAwEPb29lCpVNi8ebOi5V+6dAkqlQqRkZGKlluatWzZEi1btizpajy1F/2eQi++YgkcunXrBisrK/zzzz+F9k2bNg0qlQpbtmyRpWdnZ2PBggV4/fXX4ejoCLVaDXd3d7zzzjv4/vvvkZ+fL+XV38we3LRaLerVq4eIiAhZ3pKyaNEio2+2EydOhJ+fH5o2bVo8lXpJlC1bFn369MHYsWNLuioAgAsXLuCTTz6Bt7c3rKysoNVq0bRpU8ybNw+ZmZnFeu6QkBCcPHkSkydPxrfffotGjRoV6/mepx49ekh/20W9j+fOnZP+/mfOnGl0+devX0d4eDji4uIUqK3ysrKykJub+1THvsjXlp2djZEjR8Ld3R3W1tbw8/NDVFSUQceGh4cXuverVCpYWVkVmX/FihWoUaMGrKys8Morr2DBggVKXorpEsUgOTlZODo6ilatWsnSL168KKytrUXHjh1l6SkpKaJhw4YCgAgKChIzZ84UK1euFFOmTBFvvPGGACAmTpwo5U9ISBAAROfOncW3334rvv32WxERESHeeustAUAMGzasOC7LKDVr1hQtWrQwOH9KSoqwtLQUa9eulaW3aNFC1KxZU+HaKQeAGD9+vPQ6Ly9PZGZmCp1OV6zn/fvvvwUAER0dXazneZItW7YIa2tr4eDgID7//HOxbNkyERERITp16iQsLS1F3759i+3c9+7dEwDEl19+WWzn0Ol0IjMzU+Tl5RXbOR4lJCREWFhYCHNzc7Fu3bpC+8ePHy+srKwEADFjxgyjy//zzz8FALFq1SqjjsvOzhbZ2dlGn88QR44cEd26dRPOzs4CgFCpVKJixYpiwIAB4ty5cwaX87hrK+l7SqdOnYSFhYUYNmyYWLp0qfD39xcWFhbiwIEDTzx2/PjxAoBYvHixdO//9ttvC903hRBiyZIlAoDo2LGjWLZsmfj4448FADFt2rTiuCyTUiyBgxBCLFu2TAAQkZGRUlqbNm2EVqsVV69eleUNCgoSZmZm4scffyyyrD///FN899130mt94PDwzUKn04nGjRsLd3d3Ba/k6RgbOMyePVtYW1uLu3fvytJL+o/8SR4OHJ6nWrVqiY8//rhEzi1EQSBcpkwZ4ePjI65fv15o/7lz58TcuXOL7fz//vvvU39plgYhISHC1tZWBAYGivbt2xfa/8orr4iOHTs+t8AhIyPD6HMYKjc3V4SGhgqVSiWaNWsmZs6cKX799Vfx448/iilTpoh69eoJKysrERERYVB5xRU4ZGZmivz8/Kc6VgghDh8+XOj/KzMzU1SpUkX4+/s/8Xh94HDjxo3H5rt3754oW7asCA4OlqV37dpV2Nrailu3bj3dBZAQohgDB51OJ5o2bSrKlSsn/vvvP/H9998LAGL+/PmyfIcOHRIARP/+/Q0u+1GBgxBCvP3226JSpUqF0hcuXCh8fX2FWq0Wbm5u4rPPPhO3b98ulG/9+vWiQYMGwsrKSpQtW1Z07dq1UKCTmJgoevToISpUqCDUarVwdXUV77zzjkhISBBCCOHp6SkAyLYnBRHNmzcXLVu2LJSu/yM/evSo8Pf3F1ZWVqJy5cpi8eLFsnzZ2dli7NixokGDBkKr1QobGxvx+uuvi927dxcq8/vvvxcNGjQQZcqUEXZ2dqJWrVqFvuBu374tBg4cKCpWrCjUarWoUqWKmDZtWqGbxsOBw6pVqwQA6b3Qvx/BwcHiwIEDonHjxkKj0QgvLy+xevXqQnUz9LxCCDF48GDh4OBQ7K0bj9K/f38BQPz+++8G5c/NzRUTJ04U3t7eQq1WC09PTzF69GiRlZUly2fI+6W/gT64eXp6CiEKvnD1/36Q/pgH7dy5UzRt2lTY29sLW1tbUa1aNTF69Ghpv/5v7eEvoOjoaPH6668LGxsbYW9vL9555x3x999/F3m+c+fOiZCQEGFvby+0Wq3o0aOHQV/C+sAhMjJSaDQa2d/rkSNHBADx448/FroX3Lx5UwwdOlTUqlVL2NraCjs7O9GmTRsRFxcn5dmzZ0+h9+/B63zw765Zs2bC2tpaDBw4UNr34N9z9+7dhUajKXT9gYGBwsHBQVy7du2J19qtWzfh6Ogofvvtt0fmiYyMFFZWVoX+9h9m6LWdPn1atGzZUlhbWwt3d3fxv//9r8hyvv/+e/Hll18Kd3d3oVKpirxvGmr48OHC3NxcpKamytKnTJkiAIjLly8/9nj9ZyolJUWkpqY+8m9/69atAoDYunWrLF3/ffPtt98+9TVQMQYOQghx6tQpYWlpKT744APh6uoqGjVqVOgLYPTo0QKAOHjwoMHl6m9mEyZMEDdu3BA3btwQFy5cEBEREcLCwkKMHTtWll//YQsICBALFiwQYWFhwtzcXDRu3Fjk5ORI+fRfeo0bNxZz5swRo0aNEtbW1qJy5cqyP5YmTZoIe3t7MWbMGLF8+XIxZcoU0apVK7Fv3z4hhBCbNm0SFStWFD4+PlJT2s6dOx95PTk5OcLa2loMGTKk0L4WLVoId3d34ezsLMLCwsT8+fPF66+/LgCIFStWSPlu3Lgh3NzcxJAhQ8TixYvF9OnTRfXq1YWlpaU4fvy4lG/nzp0CgGjdurVYuHChWLhwoQgLCxMffPCBlCcjI0PUqVNHlC1bVnzxxRdiyZIlonv37kKlUkk3Tz1DA4fq1asLFxcX8cUXX4iIiAjRoEEDoVKpxKlTp57qvEII8d133wkA4uTJk498b4tThQoVhLe3t8H5Q0JCBADx/vvvi4ULF4ru3bsLAIV+TRvyfv31119izpw5si67TZs2SecxJHA4deqUUKvVolGjRmLevHliyZIlYtiwYaJ58+ZSnqICh6ioKGFhYSGqVasmpk+fLiZMmCDKlSsnHB0dZf/v+vPVr19fdOjQQSxatEj06dNHABAjRoww6P2ytbUVaWlpwsrKSvZ5HzRokPDx8SnyR8Sff/4pqlSpIkaNGiWWLl0qJk6cKCpUqCDs7e2lL/GkpCQxceJEAUD069dP+ju9cOGCEKLg787V1VWUL19eDBgwQCxdulRs3rxZ2vdg4HD79m1RsWJF0bhxY6lLR99MbsgX1DfffCNsbW1lfws6nU7W+njjxg2Rn58vdY1dunTpkeUZcm3u7u7Cw8NDDBw4UCxatEjqEt62bZtUjj5w8PX1FfXq1ROzZ88WU6dOFRkZGSI/P1+69z5pe/AeGxAQIGrUqFGozrt27RIAxC+//PLY90r/mSpTpowAIGxtbUXXrl1FUlKSLN9XX30lAIjk5GRZenZ2tjAzMyvyXkuGK9bAQYj7gYG5ubmIjY0ttP+9994TAMSdO3dk6ZmZmbIP34Nf3PqbRVHbp59+KotCU1JShFqtFoGBgbKgJSIiQgAQK1euFEIUfHk7OzuLWrVqiczMTCnfli1bBAAxbtw4IUTBTcKQplFjuirOnz8vAIgFCxYU2teiRQsBQMyaNUtKy87OFvXq1RPOzs7SH2VeXl6hftfbt28LFxcX0atXLylt4MCBQqvVPrbPetKkScLW1lb8888/svRRo0YJc3Nz2a8CQwMHAGL//v1SWkpKitBoNGLo0KFPdV4h7v96KKr/u7ilpqYKAOLdd981KH9cXJwAIPr06SNLHzZsmAAgaxky9P16VMuboYGDPvB4XLNvUYGD/rN38+ZNKe2vv/4SZmZmonv37oXO9+DnT4iCv/myZcs+8pwPXoetra0QQoj3339ftG7dWgghRH5+vnB1dRUTJkwo8j3Iysoq9AMlISFBaDQa2VipJzXnAxBLliwpct/Df9s7duwQAMRXX30ldWEV1b3yMJ1OJ7y8vGQtfj///LNwd3cXAESlSpWksvV/U++995744osvHluuIdf2zTffSGnZ2dnC1dVVNv5MHzh4e3uLe/fuycp43D344W3Pnj3ScTVr1hRvvPFGoTqdPn36ke/3g+bOnSvCwsLEmjVrxMaNG8XAgQOFhYWFeOWVV2StGKGhocLc3LzIMsqXLy86der02PPQ4xX7dMxy5coBANzd3YucApSWlgYAKFOmjCx9yZIlKF++vLS9/vrrhY7t168foqKiEBUVhR9//BGhoaFYunQphgwZIuXZtWsXcnJyMGjQIJiZ3b/cvn37QqvVYuvWrQCAo0ePIiUlBZ999plshG5wcDB8fHykfNbW1lCr1di7dy9u3779tG+LzM2bNwEAjo6ORe63sLDAJ598Ir1Wq9X45JNPkJKSgtjYWACAubk51Go1AECn0+HWrVvIy8tDo0aNcOzYMelYBwcHZGRkPHYU84YNG9CsWTM4Ojriv//+k7aAgADk5+dj//79Rl+jr68vmjVrJr0uX748qlevjosXLz71efXv13///Wd0fZ6V/nNrZ2dnUH791NEHP5sAMHToUACQPl96hrxfz8rBwQEA8PPPP0On0xl0TGJiIuLi4tCjRw84OTlJ6XXq1MGbb75Z5BTZ/v37y143a9YMN2/elN5DQ3Tp0gV79+5FUlISdu/ejaSkJHTp0qXIvBqNRvpbz8/Px82bN1GmTBlUr15d9rfwJBqNBj179jQob2BgID755BNMnDgRHTp0gJWVFZYuXfrE42JjY5GSkoLevXsDAK5du4bOnTvj1VdfxY8//ojBgwejV69esmPat2+PvXv3GnwdRSlTpgy6desmvVar1Xj11VeL/HyFhITA2tpalubq6irde5+01a1bVzouMzMTGo2m0Dn099wnzUIaOHAgFixYgC5duqBjx46YO3cuVq9ejXPnzmHRokWy8+jvh0Wdq7hnO73sLIqz8CtXrmD8+PGoVasWTp06henTp2PMmDGyPPobb3p6Ouzt7aX0jh07SoHG0KFDi5xi+corryAgIEB63aFDB6hUKsydOxe9evVC7dq18e+//wIAqlevLjtWrVbD29tb2v+ofADg4+ODgwcPAii4mfzvf//D0KFD4eLigtdeew1vv/02unfvDldXV+PeoIcIIYpMd3d3h62trSytWrVqAAqmpr722msAgNWrV2PWrFk4e/asbBqXl5eX9O/PPvsM69evR9u2bVGhQgUEBgbiww8/RJs2baQ8586dw4kTJ1C+fPki65OSkmL0tVWqVKlQmqOjoyz4Mva8+vdLpVI98rz5+fm4ceOG0fUFCoKxR9VFq9UCAO7evWtQWf/++y/MzMxQtWpVWbqrqyscHBykz5+eIe/Xs/roo4+wfPly9OnTB6NGjULr1q3RoUMHvP/++7Ig++HrAIr+O6lRowZ27NiBjIwM2ef14WvRB3y3b9+W3scneeutt2BnZ4d169YhLi4OjRs3RtWqVYtcL0Sn02HevHlYtGgREhISZPeOsmXLGnQ+AKhQocIjv3yKMnPmTPz888+Ii4vD2rVr4ezs/MRjYmNj0ahRI+mH05o1a1ChQgVs3LgR5ubmAAoCvAcDGBcXl6f+TOtVrFix0N+No6MjTpw4USjvg/cPPSsrK9m911DW1tbIzs4ulJ6VlSXtN1aXLl0wdOhQ7Nq1C6NGjZLKycnJKTJ/VlbWU52H7ivWwCEsLAwA8Ntvv2HIkCGYPHkyunTpAm9vbymPj48PAODUqVOy9Qs8PDzg4eEBANIvUEO0bt0aERER2L9/P2rXrq3UpcgMGjQI7dq1w+bNm7Fjxw6MHTsWU6dOxe7du1G/fn2jy9PfzJ7lS+G7775Djx490L59ewwfPhzOzs4wNzfH1KlTceHCBSmfs7Mz4uLisGPHDvz222/47bffsGrVKnTv3h2rV68GUHDjffPNNzFixIgiz6UPWoyhvwk+7MFgydjz6t8vfatWUa5cuVLkjc8Qnp6ej1zISqvVwt3dHadOnTKqzMcFOQ8y5P0y9hwPB9/W1tbYv38/9uzZg61bt2L79u1Yt24d3njjDezcufORdTDWs1yLnkajQYcOHbB69WpcvHhRtujYw6ZMmYKxY8eiV69emDRpEpycnGBmZoZBgwYZ3LICGP8ldvz4cSm4PXnyJDp37vzEY27evAl3d3fp9aVLl1C/fn3Ze/bqq6/Kjrly5YpRAVBRjPk/Kep9MCYgd3JykgIwNzc3XLt2rVCexMREAJC9F8bw8PDArVu3pNdubm7Iz89HSkqKLIDLyckp9J6T8YotcNi0aRN++eUXzJkzBxUrVsTcuXOxY8cOhIaG4rfffpPyvf3225g2bRrWrFmjyMJHeXl5AApaMICCmz8AxMfHywKWnJwcJCQkSFHzg/neeOMNWZnx8fHSfr0qVapg6NChGDp0KM6dO4d69eph1qxZ+O677wAY/gUBFPwis7a2RkJCQpH7r1+/XuhXnH5xrcqVKwMANm7cCG9vb/z000+yc48fP75QeWq1Gu3atUO7du2g0+nw2WefYenSpRg7diyqVq2KKlWqID09/al+UTwLY8+rf79q1KjxyDz6JtWn8aQvjrfffhvLli1DTEwM/P39H5vX09MTOp0O586dk9U3OTkZd+7cKfT5ehaOjo64c+dOofSHWzUAwMzMDK1bt0br1q0xe/ZsTJkyBV9++SX27NlT5P/Dg38nDzt79izKlStXqHVMKV26dMHKlSthZmaGTp06PTLfxo0b0apVK6xYsUKWfufOHVmQaczf6JNkZGSgZ8+e8PX1RZMmTTB9+nS89957aNy48WOP02q1SE1NlV67urriyJEjsjwPdh8IIbBixYon/o0oeW1FMSYg37Nnj7TSZr169bBnzx6kpaXJWpsOHz4s7TeWEEIKuPT05Rw9ehRvvfWWlH706FHodLqnOg/dVyxjHO7evYvPP/8c9evXx4ABAwAURJKTJk3C9u3bsWHDBilv06ZN8eabb2LZsmX4+eefiyzPmF8mv/76KwBI/WoBAQFQq9WYP3++rJwVK1YgNTUVwcHBAIBGjRrB2dkZS5YskTWl/fbbbzhz5oyU7969e1Kzml6VKlVgZ2cnO87W1rbIm3dRLC0t0ahRIxw9erTI/Xl5ebL+0pycHCxduhTly5dHw4YNAdz/BfHgNR4+fBgxMTGysvTjKfTMzMxQp04dAJDq/+GHHyImJgY7duwoVJc7d+5IwZnSjD1vbGws7O3tUbNmzUeWqW9SfZrtSYHsiBEjYGtriz59+iA5ObnQ/gsXLmDevHkAIN285s6dK8sze/ZsAJA+X0qoUqUKUlNTZc3OiYmJ2LRpkyzfg7/Q9PQ31KKak4GCX3L16tXD6tWrZZ/vU6dOYefOnbKbtNJatWqFSZMmISIi4rHdgubm5oXuGRs2bCj0S1cf4Bj6d/o4I0eOxOXLl7F69WrMnj0blStXRkhIyCPfR70aNWrgzz//lFpC3n33XRw/fhzjxo3DxYsXceDAAQwfPhxAQYtGx44dcfXqVQwcOPCx5Sp5bUV52jEO77//PvLz87Fs2TIpLTs7G6tWrYKfn5/UygwAly9fxtmzZ2XnLaqVY/Hixbhx44asu/WNN96Ak5MTFi9eXCivjY2Non9vJqk4Rlx+/vnnwszMTBw5ckSWnpeXJxo0aCDc3d1FWlqalJ6cnCzq168vAIi2bduKWbNmFVo5sm3btlL+olaOXLRokbQYTJMmTWSjqvWjuwMDA0VERIQYMGDAY6dj+vn5iblz54rRo0cLGxsb2XTM48ePCycnJ9G/f38xf/58sWjRIvHmm28KAGLjxo1SWZ999plQqVRi0qRJ4vvvv3/iCoczZ84UGo2m0PzmB6djDhgwQCxYsECajrls2TIp38qVKwUA8c4774ilS5eKUaNGCQcHB1GzZk3ZCPv27duL5s2bi/DwcLF8+XIxduxY4eDgIOrVqye9ZxkZGaJBgwbCwsJC9OnTRyxevFjMnDlTGuX+4Ch8GLGOw8MeHp1uzHmFKFgAqlu3bo99X4vbzz//LKysrISjo6MYOHCg+Prrr8XChQtF165dhVqtFv369ZPy6qdjfvjhh2LhwoXS66KmYxryfj1qVsV///0nbG1thbe3t5g7d66YMmWK8PDwEA0aNJDNqhg4cKCoX7++GDNmjPj666/F5MmTRYUKFUTFihWlWU6Pm47p4+MjZsyYISZOnCjKly8vHB0dxcWLF6V8j1qsp6jPSFEenFXxKEW9B+PGjRMARI8ePcSyZcvEgAEDhJOTk/D29pa9fzk5OcLBwUFUr15dLF++XHz//fdS/R+3SNLD/w/R0dFCpVKJ8PBwKW3//v3CzMxMDB8+/LH1z8rKEvb29tJUWiEK1jQwMzMTAISFhYWYN2+eNEMhMDBQ9h4/ytNc28OzcfSzKjZs2PDE8xnjgw8+EBYWFmL48OFi6dKlokmTJsLCwkKazq6nn/3xIGtra9GjRw8xa9YssXDhQtG5c2ehUqlEvXr1Cq0NsnDhQmn689dffy1Nf548ebKi12OKFA8cjh49KszNzUVYWFiR+48cOSLMzMzE559/LkvPzMwUc+fOFf7+/kKr1QoLCwvh6uoq3n77bbFmzRrZ9MGipgJZWFgIb29vMXz48EKrLwpRMP3Sx8dHWFpaChcXF/Hpp58WuZDJunXrRP369YVGoxFOTk6FFoD677//RGhoqPDx8RG2trbC3t5e+Pn5ifXr18vKSUpKEsHBwcLOzk4AT14AKjk5WVhYWBSa913UAlCenp6FVpDT6XRiypQpwtPTU2g0GlG/fn2xZcuWQjeDjRs3isDAQOHs7CzUarWoVKmS+OSTT0RiYqKsvLt374rRo0eLqlWrCrVaLcqVKyeaNGkiZs6cKQu2lAwcjDnvmTNnBACxa9eux76vz8M///wj+vbtKypXrizUarWws7MTTZs2FQsWLJAt7pSbmysmTJggvLy8hKWlpfDw8HjsAlAPMzRwEKJgvY5atWoJtVotqlevLr777rtC0zGjo6PFu+++K9zd3YVarRbu7u6ic+fOsumwj1oAateuXaJp06bC2tpaaLVa0a5du0cuAPW8A4esrCwxdOhQ4ebmJqytrUXTpk1FTExMkZ+3n3/+Wfj6+goLCwvZdRoaOKSlpQlPT0/RoEEDkZubK8s3ePBgYWZmJmJiYh57DePHjxfe3t6y1QyvXbsm9u/fL61PcPDgQZGSkvLYch5m7LU9r8AhMzNTDBs2TLi6ugqNRiMaN24stm/fXihfUYFDnz59hK+vr7CzsxOWlpaiatWqYuTIkbIfog9atmyZqF69urSY3Jw5c0pswbiXiUoII/oBqFj17t0b//zzDw4cOFDSVXnhDRo0CPv370dsbGyx9+cSFaesrCw0bdoU5ubm+Pnnn+Hm5lZkvo0bN+K9995TbNCqqcnKynrkTIunoVarH/lwrZcdA4cXyOXLl1GtWjVER0fzCZmPcfPmTXh6emL9+vXF2qdO9LwkJyfjnXfewZkzZ/Dpp58iODgYnp6eyMzMxJEjR7B48WKcOHECe/fufeKASyosKysLXp5lkJSi3JOTXV1dkZCQYJLBAwMHIqIXQE5ODiIiIhARESGbYWVlZYX33nsPEyZMwCuvvFKCNSy90tLSYG9vj39jK0Nr9+xzAtLu6uDZ8BJSU1MNXovkZcLAgYjoBXPp0iVcu3YNVlZWqFGjBmxsbEq6SqWaPnC4+Y+XYoFD2WoJJhs4FOsCUEREZLzKlStLa7SQcvKFDvkK/FTOF4YvJPYyKvZnVRAREZmqqVOnonHjxrCzs4OzszPat29faAG1rKwshIaGomzZsihTpgw6duxYaG2Yy5cvIzg4GDY2NnB2dsbw4cMLrW2zd+9eNGjQABqNBlWrVkVkZGSh+ixcuBCVK1eGlZUV/Pz8Ci04ZggGDkREZBJ0EIpthtq3bx9CQ0Pxxx9/ICoqCrm5uQgMDERGRoaUZ/Dgwfj111+xYcMG7Nu3D9evX0eHDh2k/fn5+QgODkZOTg4OHTqE1atXIzIyEuPGjZPyJCQkIDg4GK1atUJcXBwGDRqEPn36yBbUW7duHYYMGYLx48fj2LFjqFu3LoKCgox+/lCpHuOg0+lw/fp12NnZcUoeEVEpJoTA3bt34e7u/siHrD0t/RiH6/EVFRvj4F796lONcbhx4wacnZ2xb98+NG/eHKmpqShfvjzWrl2L999/H0DB8u01atRATEwMXnvtNfz22294++23cf36dbi4uAAoeIL0yJEjcePGDajVaowcORJbt26VPT+nU6dOuHPnDrZv3w4A8PPzQ+PGjREREQGg4DvUw8MDAwYMkB4QZohSPcbh+vXrsiVKiYiodLty5QoqVqxY0tUwyMOPhtdoNEU+NvxB+meT6B9LHxsbi9zcXNnzR3x8fFCpUiUpcIiJiUHt2rWloAEAgoKC8Omnn+L06dOoX78+YmJiCj3DJCgoCIMGDQJQMGsnNjYWo0ePlvabmZkhICCg0KMJnqRUBw76R3L/e6wytGXY60Ivrw61G5V0FYiKVZ7IxYGcTdJ9vTjkC4F8BRrZ9WU8/MN1/Pjxj31yq06nw6BBg9C0aVPUqlULAJCUlAS1Wg0HBwdZXhcXFyQlJUl5Hgwa9Pv1+x6XJy0tDZmZmbh9+zby8/OLzPPwM0GepFQHDvruCW0ZM0Wan4heVBYqy5KuAtFzUZzdzsaOT3hcOUBB68iDXRVPam0IDQ3FqVOncPDgwWeuQ0kq1YEDERFRSdFqtQaPcQgLC8OWLVuwf/9+WVeMq6srcnJycOfOHVmrQ3JysvQU2KIet66fdfFgnodnYiQnJ0Or1cLa2hrm5uYwNzcvMs/jnjZbFP5MJyIik6CDQL4CmzGtFkIIhIWFYdOmTdi9eze8vLxk+xs2bAhLS0tER0dLafHx8bh8+TL8/f0BAP7+/jh58qRs9kNUVBS0Wi18fX2lPA+Woc+jL0OtVqNhw4ayPDqdDtHR0VIeQ7HFgYiITILSXRWGCA0Nxdq1a/Hzzz/Dzs5OGpNgb28Pa2tr2Nvbo3fv3hgyZAicnJyg1WoxYMAA+Pv747XXXgMABAYGwtfXFx9//DGmT5+OpKQkjBkzBqGhoVL3SP/+/REREYERI0agV69e2L17N9avX4+tW7dKdRkyZAhCQkLQqFEjvPrqq5g7dy4yMjLQs2dPo66fgQMREVExWbx4MQCgZcuWsvRVq1ahR48eAIA5c+bAzMwMHTt2RHZ2NoKCgrBo0SIpr7m5ObZs2YJPP/0U/v7+sLW1RUhICCZOnCjl8fLywtatWzF48GDMmzcPFStWxPLlyxEUFCTl+eijj3Djxg2MGzcOSUlJqFevHrZv315owOSTlOp1HPRzc2//483BkfRSa+PlV9JVICpWeSIXe7LXF8vzH/TfFf+ccYGdAt8Vd+/qUK1GMp9VQURE9DLT/f+mRDmmjD/TiYiIyGBscSAiIpOgnxWhRDmmjIEDERGZhHwBhR6r/exllGbsqiAiIiKDscWBiIhMAgdHKoOBAxERmQQdVMjHsz8LQ6dAGaUZuyqIiIjIYGxxICIik6ATBZsS5ZgyBg5ERGQS8hXqqlCijNKMXRVERERkMLY4EBGRSWCLgzIYOBARkUnQCRV0QoFZFQqUUZqxq4KIiIgMxhYHIiIyCeyqUAYDByIiMgn5MEO+Ag3t+QrUpTRjVwUREREZjC0ORERkEoRCgyOFiQ+OZOBAREQmgWMclMGuCiIiIjIYWxyIiMgk5Asz5AsFBkfyWRVEREQvPx1U0CnQ0K6DaUcO7KogIiIig7HFgYiITAIHRyqDgQMREZkE5cY4sKuCiIiIyCBscSAiIpNQMDhSgadjsquCiIjo5adT6FkVnFVBREREZCC2OBARkUng4EhlMHAgIiKToIMZF4BSALsqiIiIyGBscSAiIpOQL1TIV+CR2EqUUZoxcCAiIpOQr9Csinx2VRAREREZhi0ORERkEnTCDDoFZlXoOKuCiIjo5ceuCmWwq4KIiKgY7d+/H+3atYO7uztUKhU2b94s269SqYrcZsyYIeWpXLlyof3Tpk2TlXPixAk0a9YMVlZW8PDwwPTp0wvVZcOGDfDx8YGVlRVq166Nbdu2GX09DByIiMgk6HB/ZsWzbDojz5uRkYG6deti4cKFRe5PTEyUbStXroRKpULHjh1l+SZOnCjLN2DAAGlfWloaAgMD4enpidjYWMyYMQPh4eFYtmyZlOfQoUPo3LkzevfujePHj6N9+/Zo3749Tp06ZdT1sKuCiIhMgnILQBlXRtu2bdG2bdtH7nd1dZW9/vnnn9GqVSt4e3vL0u3s7Arl1VuzZg1ycnKwcuVKqNVq1KxZE3FxcZg9ezb69esHAJg3bx7atGmD4cOHAwAmTZqEqKgoREREYMmSJQZfD1sciIiInkJaWppsy87OfuYyk5OTsXXrVvTu3bvQvmnTpqFs2bKoX78+ZsyYgby8PGlfTEwMmjdvDrVaLaUFBQUhPj4et2/flvIEBATIygwKCkJMTIxRdWSLAxERmQTlnlVRUIaHh4csffz48QgPD3+mslevXg07Ozt06NBBlv7555+jQYMGcHJywqFDhzB69GgkJiZi9uzZAICkpCR4eXnJjnFxcZH2OTo6IikpSUp7ME9SUpJRdWTgQEREJkEHFXR49lUf9WVcuXIFWq1WStdoNM9c9sqVK9G1a1dYWVnJ0ocMGSL9u06dOlCr1fjkk08wdepURc5rDAYORERET0Gr1coCh2d14MABxMfHY926dU/M6+fnh7y8PFy6dAnVq1eHq6srkpOTZXn0r/XjIh6V51HjJh6FYxyIiMgk6LsqlNiKw4oVK9CwYUPUrVv3iXnj4uJgZmYGZ2dnAIC/vz/279+P3NxcKU9UVBSqV68OR0dHKU90dLSsnKioKPj7+xtVT7Y4EBGRSVBuASjjykhPT8f58+el1wkJCYiLi4OTkxMqVaoEoGCg5YYNGzBr1qxCx8fExODw4cNo1aoV7OzsEBMTg8GDB6Nbt25SUNClSxdMmDABvXv3xsiRI3Hq1CnMmzcPc+bMkcoZOHAgWrRogVmzZiE4OBg//PADjh49KpuyaQgGDkRERMXo6NGjaNWqlfRaP14hJCQEkZGRAIAffvgBQgh07ty50PEajQY//PADwsPDkZ2dDS8vLwwePFg27sHe3h47d+5EaGgoGjZsiHLlymHcuHHSVEwAaNKkCdauXYsxY8bgiy++wCuvvILNmzejVq1aRl2PSojSu+h2Wloa7O3tcfsfb2jt2OtCL682Xn4lXQWiYpUncrEnez1SU1MVHTcA3P+umP5nM1iXefbfy5npeRjR+ECx1LU0YIsDERGZBJ1CXRVKLCJVmpn21RMREZFR2OJAREQmQbnHapv2b24GDkREZBLyoUK+AgtAKVFGaWbaYRMREREZhS0ORERkEthVoQwGDkREZBLyoUw3Q/6zV6VUM+2wiYiIiIzCFgciIjIJ7KpQBgMHIiIyCUo9oKq4HnJVWpj21RMREZFR2OJAREQmQUAFnQKDI4WJr+PAwIGIiEwCuyqUYdpXT0REREZhiwMREZkEnVBBJ569m0GJMkozBg5ERGQS8hV6rLYSZZRmpn31REREZBS2OBARkUlgV4UyGDgQEZFJ0MEMOgUa2pUoozQz7asnIiIio7DFgYiITEK+UCFfgW4GJcoozRg4EBGRSeAYB2Wwq4KIiIgMxhYHIiIyCUKhx2oLE19ymoEDERGZhHyokK/AA6qUKKM0M+2wiYiIiIzCFgciIjIJOqHMwEadUKAypRgDByIiMgk6hcY4KFFGaWbaV09ERERGYYsDERGZBB1U0CkwsFGJMkozBg5ERGQSuHKkMhg4vMR+WOCM37c54Mp5DdRWOvg2uofeX16HR9XsYjunEMA3M1yxfW1ZpKeZw7dRBj6fdgUVvHMK5c3JVmFgcDVc/Nsai3bGo0qtzGKrFxEAlHXJQe9RV9CoxR1orHW4fskKs0d44dzJMgCAoTMu4s33/5Mdc3SfPcb0qC69rlozA71GXUG1OhnQ5QMHtzth2VeVkHXP/LleC1FJYeDwEjsRUwbtevyHavXuIT8PiJzmhi86V8HX+87Cykb3VGV+O9MVyVfVGDb3cpH71y90xs8ry2PY3H/hWikHq6e74YsuVfD13rNQW8mHIq/4yh1lXXNx8W/rp6oLkTHKaPMwe+Pf+CtGizE9qyP1piUqeGUhPVV+G/xzrz1mD/eSXufm3B8K5uScg6nfncW+LWWxaLwnbMrk45OxlzF05kVM/uyV53Yt9HQ4OFIZL8TVL1y4EJUrV4aVlRX8/Pxw5MiRkq7SS2HK2osI/OgWKlfPQpWaWRg69zJSrqlx7sT9L+r0VHPMGeqBD2vVwnvVamPEB1Vw4bTVU51PCGDz8vLoPDAJTdqkwds3CyPm/4ubyZY4tN1elvfP3XaI3WeHvuOuPdM1Ehnqg/6JuJGoxuwR3vjnrzJIvqrBsQP2SLws/7zn5qhw+z+1tKWn3Q8s/FrfQV6eCgvHeeLqRWv8c6IMFoypjGZtb8PNM+t5XxIZSQeV9LyKZ9pMfIxDiQcO69atw5AhQzB+/HgcO3YMdevWRVBQEFJSUkq6ai+djLSCplQ7h3wp7at+lXHnPwt8teYCIrbHo2qtTIz6sCrSbhvf7Jp0WY1bKZZo0CxdSrPV6uBT/x7OxNpKabdvWGDucA+MWPAvNNYmPiGanpvXAm7jnxO2+HLhOfzw5zFEbDmFNp0K32fqvHYXP/x5DMujTyBs0iXYOeRK+yzVOuTlmEE80MednVVwG63V6G7xXwTRC6DEA4fZs2ejb9++6NmzJ3x9fbFkyRLY2Nhg5cqVJV21l4pOBywZXwE1G6ejsk/BL6NTh20RH2eDL5ddQrW6majgnYN+46/D1j4fB7c6GH2OWykFv8wcyufK0h3K50r7hABmDqqE4I9volpdjmmg58etUjbe7paCawlW+DKkOrauccan4/9FQIcbUp6j++wxc6g3RnXzwYppHqjtl4avIv+BmVlBgPvXIS0cy+fi/X6JsLDUoYw2D71GXgEAODnnFnleenGI/59V8aybMPEWhxId45CTk4PY2FiMHj1aSjMzM0NAQABiYmIK5c/OzkZ29v2BfWlpac+lni+DiC8q4t+z1pi1+ZyUdvFva2RlmOGDmrVkeXOyzHD9khoAcPKwLcZ09Zb25eWqIIQKB7bc73oYOP0q3uhw26B6/LyiHDLTzfDRgORnuRwio6lUwLmTtoic6QEAuPC3LSpXy0Rw1xTs+qk8AGDflrJS/kvxNkg4a43I/SdQ57U0xB2yx7/nbDBzmBf6jbmCnsOvID9fhV9Wu+DWDUvonm7YED1HfKy2Mkq0xeG///5Dfn4+XFxcZOkuLi5ISkoqlH/q1Kmwt7eXNg8Pj+dV1VIt4osKOBylxfSN51He/f6voswMMzi55GJRVLxsW37gDD74tKAJt1qde7J9wR/fxGuBqbK01wJTAQBOznkAgDs3LGXnv3PDUtoX97sdzsTa4u3KddHWoy56NqkBAAhrWw0zBlYq9veCTNetG5a4fF4+EPfyeSuUdy8840cv6YoV7ty0gLvn/R8se38phy6v1kdX//r4sEEDfDu3AuydcpF05enGBtHLb//+/WjXrh3c3d2hUqmwefNm2f4ePXpApVLJtjZt2sjy3Lp1C127doVWq4WDgwN69+6N9PR0WZ4TJ06gWbNmsLKygoeHB6ZPn16oLhs2bICPjw+srKxQu3ZtbNu2zejrKVWzKkaPHo0hQ4ZIr9PS0hg8PIYQwMIvK+DQdnvM2HgerpXkN8iqte/hVoolzC0AV4+ib54aa4EKXvf32Tnk4166uSxNz7VSDpycc3H8YBlpamXGXTOcPW6Dt7sXTHH7bNJV9Bh5f/zEzSRLfNGlCr5Ycgk+9e898zUTPcrfR8ugore8e6yCVxZSrmkeeUw51xxoHfNw66FgGADu/FeQFvjBDeRmm+HYAa2yFSbFldSsioyMDNStWxe9evVChw4diszTpk0brFq1Snqt0cg/l127dkViYiKioqKQm5uLnj17ol+/fli7di2Agu/DwMBABAQEYMmSJTh58iR69eoFBwcH9OvXDwBw6NAhdO7cGVOnTsXbb7+NtWvXon379jh27Bhq1ZK3PD9OiQYO5cqVg7m5OZKT5c3WycnJcHV1LZRfo9EUejPp0SK+qIg9mxwRvuoirMvopHEGtnb50FgLNGiejhoNMzChpxf6jLmOClWycTPJAkeitWjaNtXoMQgqFdC+zw18P88FFbyypemYZV1y0aRNQauEc8VcAPdbPaxsC9p33T1zZK0hRErbtNIVszeewUefXcf+rU6oXjcdb3W+gXlfVAYAWNnko9vAazj4mxNu37CEm2cWeo+6guv/ahC7/37XXLvuyTgTWwaZ98zQ4PU09B59BaumV0TG3VL1O8wklVRXRdu2bdG2bdvH5tFoNEV+7wHAmTNnsH37dvz5559o1KgRAGDBggV46623MHPmTLi7u2PNmjXIycnBypUroVarUbNmTcTFxWH27NlS4DBv3jy0adMGw4cPBwBMmjQJUVFRiIiIwJIlSwy+nhL9pKvVajRs2BDR0dFo3749AECn0yE6OhphYWElWbWXwpbV5QAAwzvK55cPnXMZgR/dgkoFfPXdRUROc8OsIR5IvWkBx/J5qP1aOhzK5T3VOT8MTUHWPTPMG+GB9DRz1GycgclrLhZaw4HoefvnRBlM7F8VPYdfRdfPryHpigZLJlXCnp8L/k50+Sp4+dxDQIf/YKvNx60US8QesMc3syvK1nKoXjcdHw+6CisbHa5etMKCLysjelO5krosKkEPj7N7lh+3e/fuhbOzMxwdHfHGG2/gq6++QtmyBWNuYmJi4ODgIAUNABAQEAAzMzMcPnwY7733HmJiYtC8eXOo1WopT1BQEP73v//h9u3bcHR0RExMjKzVXp/n4a6TJynxEHnIkCEICQlBo0aN8Oqrr2Lu3LnIyMhAz549S7pqpd6O63FPzGNTRofPvrqGz74ybD2Fj4cVHnvyIJUKCBmRhJARj8+n5+qRY1A9iZRwZLcjjux2LHJfTrYZvgzxeWIZM4dWUbpa9Jwo/ayKh7vKx48fj/DwcKPLa9OmDTp06AAvLy9cuHABX3zxBdq2bYuYmBiYm5sjKSkJzs7OsmMsLCzg5OQkjQdMSkqCl5eXLI9+/GBSUhIcHR2RlJRk8JjCxynxwOGjjz7CjRs3MG7cOCQlJaFevXrYvn17oYsjIiJ6Fkp3VVy5cgVa7f2xLU/b2tCpUyfp37Vr10adOnVQpUoV7N27F61bt362yhaDEg8cACAsLIxdE0REVKpotVpZ4KAUb29vlCtXDufPn0fr1q3h6upaaFHEvLw83Lp1SxoX4erqWuR4Qf2+x+V51NiKRynxBaCIiIieB0WWm1ao1eJxrl69ips3b8LNzQ0A4O/vjzt37iA2NlbKs3v3buh0Ovj5+Ul59u/fj9zc+4PMo6KiUL16dTg6Okp5oqOjZeeKioqCv7+/UfVj4EBERFSM0tPTERcXh7i4OABAQkIC4uLicPnyZaSnp2P48OH4448/cOnSJURHR+Pdd99F1apVERQUBACoUaMG2rRpg759++LIkSP4/fffERYWhk6dOsHd3R0A0KVLF6jVavTu3RunT5/GunXrMG/ePNlgyIEDB2L79u2YNWsWzp49i/DwcBw9etToFn8GDkREZBJKqsXh6NGjqF+/PurXrw+gYFJA/fr1MW7cOJibm+PEiRN45513UK1aNfTu3RsNGzbEgQMHZGMm1qxZAx8fH7Ru3RpvvfUWXn/9dSxbtkzab29vj507dyIhIQENGzbE0KFDMW7cOGkqJgA0adIEa9euxbJly1C3bl1s3LgRmzdvNmoNBwBQCSFK7Ty5tLQ02Nvb4/Y/3tDaMQail1cbL7+SrgJRscoTudiTvR6pqamKjxvQf1e8ue0TWNqqn3zAE+Rm5CDqraXFUtfSgN+2REREZLAXYlYFERFRcROAIus4lNpmeoUwcCAiIpPAp2Mqg10VREREZDC2OBARkUlgi4MyGDgQEZFJYOCgDHZVEBERkcHY4kBERCaBLQ7KYOBAREQmQQgVhAJf+kqUUZqxq4KIiIgMxhYHIiIyCTqoFFkASokySjMGDkREZBI4xkEZ7KogIiIig7HFgYiITAIHRyqDgQMREZkEdlUog10VREREZDC2OBARkUlgV4UyGDgQEZFJEAp1VZh64MCuCiIiIjIYWxyIiMgkCABCKFOOKWPgQEREJkEHFVRcOfKZsauCiIiIDMYWByIiMgmcVaEMBg5ERGQSdEIFFReAembsqiAiIiKDscWBiIhMghAKzaow8WkVDByIiMgkcIyDMthVQURERAZjiwMREZkEtjgog4EDERGZBM6qUAa7KoiIiMhgbHEgIiKTwFkVymDgQEREJqEgcFBijIMClSnF2FVBREREBmOLAxERmQTOqlAGAwciIjIJ4v83JcoxZeyqICIiKkb79+9Hu3bt4O7uDpVKhc2bN0v7cnNzMXLkSNSuXRu2trZwd3dH9+7dcf36dVkZlStXhkqlkm3Tpk2T5Tlx4gSaNWsGKysreHh4YPr06YXqsmHDBvj4+MDKygq1a9fGtm3bjL4eBg5ERGQS9F0VSmzGyMjIQN26dbFw4cJC++7du4djx45h7NixOHbsGH766SfEx8fjnXfeKZR34sSJSExMlLYBAwZI+9LS0hAYGAhPT0/ExsZixowZCA8Px7Jly6Q8hw4dQufOndG7d28cP34c7du3R/v27XHq1CmjroddFUREZBpKqK+ibdu2aNu2bZH77O3tERUVJUuLiIjAq6++isuXL6NSpUpSup2dHVxdXYssZ82aNcjJycHKlSuhVqtRs2ZNxMXFYfbs2ejXrx8AYN68eWjTpg2GDx8OAJg0aRKioqIQERGBJUuWGHw9bHEgIiJ6CmlpabItOztbkXJTU1OhUqng4OAgS582bRrKli2L+vXrY8aMGcjLy5P2xcTEoHnz5lCr1VJaUFAQ4uPjcfv2bSlPQECArMygoCDExMQYVT+2OBARkWlQaFYF/r8MDw8PWfL48eMRHh7+TEVnZWVh5MiR6Ny5M7RarZT++eefo0GDBnBycsKhQ4cwevRoJCYmYvbs2QCApKQkeHl5ycpycXGR9jk6OiIpKUlKezBPUlKSUXVk4EBERCZB6ZUjr1y5Ivty12g0z1Rubm4uPvzwQwghsHjxYtm+IUOGSP+uU6cO1Go1PvnkE0ydOvWZz2ssdlUQERE9Ba1WK9ue5QtcHzT8+++/iIqKkgUkRfHz80NeXh4uXboEAHB1dUVycrIsj/61flzEo/I8atzEozBwICIik1BSsyqeRB80nDt3Drt27ULZsmWfeExcXBzMzMzg7OwMAPD398f+/fuRm5sr5YmKikL16tXh6Ogo5YmOjpaVExUVBX9/f6Pqy64KIiIyDUIljU945nKMkJ6ejvPnz0uvExISEBcXBycnJ7i5ueH999/HsWPHsGXLFuTn50tjDpycnKBWqxETE4PDhw+jVatWsLOzQ0xMDAYPHoxu3bpJQUGXLl0wYcIE9O7dGyNHjsSpU6cwb948zJkzRzrvwIED0aJFC8yaNQvBwcH44YcfcPToUdmUTUMwcCAiIipGR48eRatWraTX+vEKISEhCA8Pxy+//AIAqFevnuy4PXv2oGXLltBoNPjhhx8QHh6O7OxseHl5YfDgwbJxD/b29ti5cydCQ0PRsGFDlCtXDuPGjZOmYgJAkyZNsHbtWowZMwZffPEFXnnlFWzevBm1atUy6npUQpTe53ylpaXB3t4et//xhtaOvS708mrj5VfSVSAqVnkiF3uy1yM1NfWJ/fvG0n9XeC4fCzMbq2cuT3cvC//2mVQsdS0N2OJARESmgQ+rUAR/phMREZHB2OJAREQmgY/VVoZBgYN+4IYhinowBxER0QvBxLsZlGBQ4NC+fXuDClOpVMjPz3+W+hAREdELzKDAQafTFXc9iIiIihW7KpTxTIMjs7KylKoHERFR8RIKbibM6MAhPz8fkyZNQoUKFVCmTBlcvHgRADB27FisWLFC8QoSERHRi8PowGHy5MmIjIzE9OnTZc/9rlWrFpYvX65o5YiIiJSjUnAzXUYHDt988w2WLVuGrl27wtzcXEqvW7cuzp49q2jliIiIFMOuCkUYHThcu3YNVatWLZSu0+lkT+UiIiKil4/RgYOvry8OHDhQKH3jxo2oX7++IpUiIiJSHFscFGH0ypHjxo1DSEgIrl27Bp1Oh59++gnx8fH45ptvsGXLluKoIxER0bMrocdqv2yMbnF499138euvv2LXrl2wtbXFuHHjcObMGfz666948803i6OORERE9IJ4qmdVNGvWDFFRUUrXhYiIqNgIUbApUY4pe+qHXB09ehRnzpwBUDDuoWHDhopVioiISHF8rLYijA4crl69is6dO+P333+Hg4MDAODOnTto0qQJfvjhB1SsWFHpOhIREdELwugxDn369EFubi7OnDmDW7du4datWzhz5gx0Oh369OlTHHUkIiJ6dvrBkUpsJszoFod9+/bh0KFDqF69upRWvXp1LFiwAM2aNVO0ckREREpRiYJNiXJMmdEtDh4eHkUu9JSfnw93d3dFKkVEREQvJqMDhxkzZmDAgAE4evSolHb06FEMHDgQM2fOVLRyREREiuECUIowqKvC0dERKtX9Pp2MjAz4+fnBwqLg8Ly8PFhYWKBXr15o3759sVSUiIjomXABKEUYFDjMnTu3mKtBREREpYFBgUNISEhx14OIiKh4cR0HRTz1AlAAkJWVhZycHFmaVqt9pgoREREVCwYOijB6cGRGRgbCwsLg7OwMW1tbODo6yjYiIiJ6eRkdOIwYMQK7d+/G4sWLodFosHz5ckyYMAHu7u745ptviqOOREREz46zKhRhdFfFr7/+im+++QYtW7ZEz5490axZM1StWhWenp5Ys2YNunbtWhz1JCIiejacVaEIo1scbt26BW9vbwAF4xlu3boFAHj99dexf/9+ZWtHRERELxSjAwdvb28kJCQAAHx8fLB+/XoABS0R+odeERERvWj0S04rsZkyowOHnj174q+//gIAjBo1CgsXLoSVlRUGDx6M4cOHK15BIiIiRXCMgyKMHuMwePBg6d8BAQE4e/YsYmNjUbVqVdSpU0fRyhEREdGL5ZnW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vosDBw4gISEBe/fuxeeff46rV68CAAYOHIhp06Zh8+bNOHv2LD777LPHrsFQuXJlhISEoFevXti8ebNU5vr16wEAnp6eUKlU2LJlC27cuIH09HTY2dlh2LBhGDx4MFavXo0LFy7g2LFjWLBggTTgsH///jh37hyGDx+O+Ph4rF27FpGRkUZd7yuvvILLly/jhx9+wIULFzB//vwiB3paWVkhJCQEf/31Fw4cOIDPP/8cH374IVxdXQEAEyZMwNSpUzF//nz8888/OHnyJFatWoXZs2cbVR8ievExcCB6gI2NDfbv349KlSqhQ4cOqFGjBnr37o2srCypBWLo0KH4+OOPERISAn9/f9jZ2eG99957bLmLFy/G+++/j88++ww+Pj7o27cvMjIyAAAVKlTAhAkTMGrUKLi4uCAsLAwAMGnSJIwdOxZTp05FjRo10KZNG2zduhVeXl4ACsYd/Pjjj9i8eTPq1q2LJUuWYMqUKUZd7zvvvIPBgwcjLCwM9erVw6FDhzB27NhC+apWrYoOHTrgrbfeQmBgIOrUqSObbtmnTx8sX74cq1atQu3atdGiRQtERkZKdSWil4dKPGpEFxEREdFD2OJAREREBmPgQERERAZj4EBEREQGY+BAREREBmPgQERERAZj4EBEREQGY+BAREREBmPgQERERAZj4EBEREQGY+BAREREBmPgQERERAb7Px/gXmGCE9BnAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "      Model   ROC-AUC  PR-AUC (Severe)  Precision (Severe)  Recall (Severe)  \\\n",
              "2   XGBoost  0.996202         0.987250            0.888776         0.952088   \n",
              "1  LightGBM  0.995433         0.985031            0.892876         0.940336   \n",
              "0        RF  0.980578         0.937115            0.802039         0.910504   \n",
              "\n",
              "   F1 (Severe)  \n",
              "2     0.919344  \n",
              "1     0.915992  \n",
              "0     0.852837  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-d53b9cd7-9e9c-4608-abfa-1d2babe67a21\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Model</th>\n",
              "      <th>ROC-AUC</th>\n",
              "      <th>PR-AUC (Severe)</th>\n",
              "      <th>Precision (Severe)</th>\n",
              "      <th>Recall (Severe)</th>\n",
              "      <th>F1 (Severe)</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>XGBoost</td>\n",
              "      <td>0.996202</td>\n",
              "      <td>0.987250</td>\n",
              "      <td>0.888776</td>\n",
              "      <td>0.952088</td>\n",
              "      <td>0.919344</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>LightGBM</td>\n",
              "      <td>0.995433</td>\n",
              "      <td>0.985031</td>\n",
              "      <td>0.892876</td>\n",
              "      <td>0.940336</td>\n",
              "      <td>0.915992</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>RF</td>\n",
              "      <td>0.980578</td>\n",
              "      <td>0.937115</td>\n",
              "      <td>0.802039</td>\n",
              "      <td>0.910504</td>\n",
              "      <td>0.852837</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d53b9cd7-9e9c-4608-abfa-1d2babe67a21')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-d53b9cd7-9e9c-4608-abfa-1d2babe67a21 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-d53b9cd7-9e9c-4608-abfa-1d2babe67a21');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-24e712bf-5307-4958-883a-16f71d76d34d\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-24e712bf-5307-4958-883a-16f71d76d34d')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-24e712bf-5307-4958-883a-16f71d76d34d button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"metrics_table(y_test, {\\\"RF\\\": rf_prob, \\\"LightGBM\\\": lgb_prob, \\\"XGBoost\\\": xgb_prob}, thr=0\",\n  \"rows\": 3,\n  \"fields\": [\n    {\n      \"column\": \"Model\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"XGBoost\",\n          \"LightGBM\",\n          \"RF\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"ROC-AUC\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.008807204835241776,\n        \"min\": 0.9805777658780411,\n        \"max\": 0.9962023942645862,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.9962023942645862,\n          0.9954330774351138,\n          0.9805777658780411\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"PR-AUC (Severe)\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.028326941108383092,\n        \"min\": 0.9371148783277323,\n        \"max\": 0.9872504198705754,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.9872504198705754,\n          0.9850314430132274,\n          0.9371148783277323\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Precision (Severe)\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.05130239443665,\n        \"min\": 0.802038541168976,\n        \"max\": 0.8928755364806867,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.8887763713080169,\n          0.8928755364806867,\n          0.802038541168976\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"Recall (Severe)\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0214369630709726,\n        \"min\": 0.910504429578738,\n        \"max\": 0.9520882299764961,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.9520882299764961,\n          0.9403362863858253,\n          0.910504429578738\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"F1 (Severe)\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.03746768946863163,\n        \"min\": 0.8528365791701947,\n        \"max\": 0.9193435754189944,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.9193435754189944,\n          0.9159915463191265,\n          0.8528365791701947\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 9
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.preprocessing import OrdinalEncoder\n",
        "from sklearn.model_selection import RandomizedSearchCV\n",
        "\n",
        "# --- Build a LIGHT RF-specific preprocessing pipeline (ordinal, NOT one-hot)\n",
        "def rf_split_features(Xdf):\n",
        "    obj_cols = Xdf.select_dtypes(include=[\"object\",\"category\"]).columns.tolist()\n",
        "    num_cols = Xdf.select_dtypes(include=[np.number, \"bool\"]).columns.tolist()\n",
        "    return num_cols, obj_cols\n",
        "\n",
        "rf_num_cols, rf_cat_cols = rf_split_features(X_train)\n",
        "\n",
        "rf_numeric = Pipeline([(\"imputer\", SimpleImputer(strategy=\"median\"))])\n",
        "rf_categorical = Pipeline([\n",
        "    (\"imputer\", SimpleImputer(strategy=\"most_frequent\")),\n",
        "    (\"ord\", OrdinalEncoder(handle_unknown=\"use_encoded_value\", unknown_value=-1))\n",
        "])\n",
        "\n",
        "rf_preprocess = ColumnTransformer([\n",
        "    (\"num\", rf_numeric, rf_num_cols),\n",
        "    (\"cat\", rf_categorical, rf_cat_cols)\n",
        "], remainder=\"drop\")\n",
        "\n",
        "# --- Random Forest (no densify; keep things small; limit n_jobs)\n",
        "rf_base = Pipeline([\n",
        "    (\"prep\", rf_preprocess),\n",
        "    (\"model\", RandomForestClassifier(\n",
        "        class_weight=\"balanced\",\n",
        "        n_jobs=1,               # IMPORTANT: avoid parallel memory blowup\n",
        "        random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "# Reasonable (smaller) search space to start\n",
        "rf_param_dist = {\n",
        "    \"model__n_estimators\":      [200, 350, 500],\n",
        "    \"model__max_depth\":         [10, 14, 18, None],\n",
        "    \"model__min_samples_split\": [2, 5, 10],\n",
        "    \"model__min_samples_leaf\":  [1, 2, 4],\n",
        "    \"model__max_features\":      [\"sqrt\", \"log2\", 0.5],\n",
        "    \"model__bootstrap\":         [True]   # bootstrap True is typical and lighter\n",
        "}\n",
        "\n",
        "rf_search = RandomizedSearchCV(\n",
        "    estimator=rf_base,\n",
        "    param_distributions=rf_param_dist,\n",
        "    n_iter=12,                 # start small; increase later if stable\n",
        "    scoring=\"average_precision\",\n",
        "    cv=3,\n",
        "    n_jobs=1,                  # IMPORTANT: no parallel CV to save RAM\n",
        "    verbose=2,\n",
        "    random_state=42\n",
        ")\n",
        "\n",
        "rf_search.fit(X_train, y_train)\n",
        "\n",
        "print(\"RF best PR-AUC (cv):\", rf_search.best_score_)\n",
        "print(\"RF best params:\", rf_search.best_params_)\n",
        "\n",
        "rf_best = rf_search.best_estimator_\n",
        "rf_best_prob = rf_best.predict_proba(X_test)[:, 1]\n",
        "\n",
        "# Evaluate @ 0.50 threshold\n",
        "evaluate_probs(y_test, rf_best_prob, 0.5, \"RandomForest (tuned, ordinal)\")\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "ImkFRWFDxqf6",
        "outputId": "3e46331b-17c1-4ff0-e1a9-762b9d316cf1"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Fitting 3 folds for each of 12 candidates, totalling 36 fits\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=4, model__min_samples_split=10, model__n_estimators=200; total time=  16.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=4, model__min_samples_split=10, model__n_estimators=200; total time=  16.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=4, model__min_samples_split=10, model__n_estimators=200; total time=  16.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=200; total time=  16.8s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=200; total time=  16.4s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=200; total time=  16.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=0.5, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=500; total time= 1.5min\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=0.5, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=500; total time= 1.5min\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=0.5, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=500; total time= 1.6min\n",
            "[CV] END model__bootstrap=True, model__max_depth=10, model__max_features=sqrt, model__min_samples_leaf=2, model__min_samples_split=2, model__n_estimators=200; total time=  17.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=10, model__max_features=sqrt, model__min_samples_leaf=2, model__min_samples_split=2, model__n_estimators=200; total time=  17.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=10, model__max_features=sqrt, model__min_samples_leaf=2, model__min_samples_split=2, model__n_estimators=200; total time=  17.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=4, model__min_samples_split=2, model__n_estimators=200; total time=  19.7s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=4, model__min_samples_split=2, model__n_estimators=200; total time=  19.7s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=4, model__min_samples_split=2, model__n_estimators=200; total time=  19.4s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=4, model__min_samples_split=2, model__n_estimators=200; total time=  16.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=4, model__min_samples_split=2, model__n_estimators=200; total time=  16.5s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=log2, model__min_samples_leaf=4, model__min_samples_split=2, model__n_estimators=200; total time=  16.1s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=0.5, model__min_samples_leaf=1, model__min_samples_split=5, model__n_estimators=200; total time=  38.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=0.5, model__min_samples_leaf=1, model__min_samples_split=5, model__n_estimators=200; total time=  38.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=0.5, model__min_samples_leaf=1, model__min_samples_split=5, model__n_estimators=200; total time=  38.0s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=log2, model__min_samples_leaf=1, model__min_samples_split=10, model__n_estimators=350; total time=  30.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=log2, model__min_samples_leaf=1, model__min_samples_split=10, model__n_estimators=350; total time=  30.3s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=log2, model__min_samples_leaf=1, model__min_samples_split=10, model__n_estimators=350; total time=  30.1s\n",
            "[CV] END model__bootstrap=True, model__max_depth=None, model__max_features=sqrt, model__min_samples_leaf=4, model__min_samples_split=5, model__n_estimators=500; total time=  48.8s\n",
            "[CV] END model__bootstrap=True, model__max_depth=None, model__max_features=sqrt, model__min_samples_leaf=4, model__min_samples_split=5, model__n_estimators=500; total time=  49.1s\n",
            "[CV] END model__bootstrap=True, model__max_depth=None, model__max_features=sqrt, model__min_samples_leaf=4, model__min_samples_split=5, model__n_estimators=500; total time=  48.8s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=0.5, model__min_samples_leaf=2, model__min_samples_split=2, model__n_estimators=200; total time=  37.1s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=0.5, model__min_samples_leaf=2, model__min_samples_split=2, model__n_estimators=200; total time=  37.4s\n",
            "[CV] END model__bootstrap=True, model__max_depth=14, model__max_features=0.5, model__min_samples_leaf=2, model__min_samples_split=2, model__n_estimators=200; total time=  37.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=2, model__min_samples_split=10, model__n_estimators=500; total time=  48.2s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=2, model__min_samples_split=10, model__n_estimators=500; total time=  48.7s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=2, model__min_samples_split=10, model__n_estimators=500; total time=  47.6s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=500; total time=  48.7s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=500; total time=  48.6s\n",
            "[CV] END model__bootstrap=True, model__max_depth=18, model__max_features=sqrt, model__min_samples_leaf=1, model__min_samples_split=2, model__n_estimators=500; total time=  48.5s\n",
            "RF best PR-AUC (cv): 0.987170736469983\n",
            "RF best params: {'model__n_estimators': 200, 'model__min_samples_split': 2, 'model__min_samples_leaf': 2, 'model__max_features': 0.5, 'model__max_depth': 14, 'model__bootstrap': True}\n",
            "\n",
            "== RandomForest (tuned, ordinal) ==\n",
            "ROC-AUC: 0.9965744422295275\n",
            "PR-AUC (Severe): 0.988459308873699\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.99      0.97      0.98     21065\n",
            "           1       0.88      0.96      0.92      5531\n",
            "\n",
            "    accuracy                           0.97     26596\n",
            "   macro avg       0.94      0.97      0.95     26596\n",
            "weighted avg       0.97      0.97      0.97     26596\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "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PXv2RPny5fHBBx/gyJEjiI2NxcGDB/HFF1/gn3/+AQAMGTIE3333HTZv3ozLly/js88+K3CNmCpVqiA4OBh9+/bF5s2bpTLXrVsHAHBzc4NCocD27dtx//59pKSkwMbGBiNGjEBoaChWrlyJa9eu4dSpU5g7d640qHbQoEG4cuUKRo4ciZiYGKxevRrh4eHFut7q1avj1q1bWLNmDa5du4Yff/wxz8HMFhYWCA4OxpkzZ3DkyBF88cUX6Nq1K5ycnAAAEydOxNSpU/Hjjz/i77//xrlz57BixQrMnDmzWPUhotcbgxkiI1CmTBkcPnwYlStXRseOHeHp6Yl+/fohLS1NaqkZPnw4Pv74YwQHB8PX1xc2Njbo0KFDgeUuXLgQnTt3xmeffYZatWphwIABSE1NBQBUrFgREydOxJdffglHR0cMHjwYADB58mSMGzcOU6dOhaenJ9q0aYMdO3bA3d0dQM44lt9//x2bN29GvXr1sGjRIkyZMqVY19u+fXuEhoZi8ODBqF+/Po4dO4Zx48blyletWjV07NgR7dq1g7+/P+rWrasz9bp///5YunQpVqxYAW9vb7Ro0QLh4eFSXYmoZFCI/EYHEhERERkBtswQERGRUWMwQ0REREaNwQwREREZNQYzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNERERk1BjMEBERkVFjMENERERGjcEMERERGbX/A9J466ArbjtSAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.compose import ColumnTransformer\n",
        "from sklearn.pipeline import Pipeline\n",
        "from sklearn.preprocessing import OneHotEncoder\n",
        "from sklearn.impute import SimpleImputer\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "\n",
        "def split_features_boost(Xdf, max_card_for_cat=20):\n",
        "    \"\"\"Object/category + any numeric with ≤20 uniques -> categorical.\"\"\"\n",
        "    obj_cols = Xdf.select_dtypes(include=[\"object\",\"category\"]).columns.tolist()\n",
        "    num_all  = Xdf.select_dtypes(include=[np.number,\"bool\"]).columns.tolist()\n",
        "    low_card_num  = [c for c in num_all if Xdf[c].nunique(dropna=True) <= max_card_for_cat]\n",
        "    high_card_num = [c for c in num_all if Xdf[c].nunique(dropna=True) >  max_card_for_cat]\n",
        "    cat_cols = sorted(set(obj_cols + low_card_num))\n",
        "    num_cols = sorted(high_card_num)\n",
        "    return num_cols, cat_cols\n",
        "\n",
        "boost_num_cols, boost_cat_cols = split_features_boost(X_train)\n",
        "print(f\"Boosters -> Numeric: {len(boost_num_cols)} | Categorical/low-card: {len(boost_cat_cols)}\")\n",
        "\n",
        "num_pipe  = Pipeline([(\"imputer\", SimpleImputer(strategy=\"median\"))])\n",
        "cat_pipe  = Pipeline([\n",
        "    (\"imputer\", SimpleImputer(strategy=\"most_frequent\")),\n",
        "    # scikit-learn ≥1.2 uses sparse_output (not 'sparse')\n",
        "    (\"onehot\", OneHotEncoder(handle_unknown=\"ignore\", sparse_output=True))\n",
        "])\n",
        "\n",
        "preprocess_boost = ColumnTransformer([\n",
        "    (\"num\", num_pipe, boost_num_cols),\n",
        "    (\"cat\", cat_pipe, boost_cat_cols)\n",
        "])\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "dNleudi-xzv2",
        "outputId": "78971dca-c960-4f0a-8a2d-1ac88e818dc2"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Boosters -> Numeric: 9 | Categorical/low-card: 41\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import (classification_report, confusion_matrix,\n",
        "                             ConfusionMatrixDisplay, roc_auc_score,\n",
        "                             average_precision_score, precision_recall_curve)\n",
        "\n",
        "def evaluate_probs(y_true, y_prob, threshold=0.5, label=\"Model\"):\n",
        "    y_pred = (y_prob >= threshold).astype(int)\n",
        "    print(f\"\\n== {label} ==\")\n",
        "    print(\"ROC-AUC:\", roc_auc_score(y_true, y_prob))\n",
        "    print(\"PR-AUC (Severe):\", average_precision_score(y_true, y_prob))\n",
        "    print(classification_report(y_true, y_pred))\n",
        "    ConfusionMatrixDisplay(confusion_matrix(y_true, y_pred)).plot()\n",
        "    plt.title(f\"{label} — Confusion Matrix @ thr={threshold:.2f}\")\n",
        "    plt.show()\n"
      ],
      "metadata": {
        "id": "12fBftfg4W9P"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import lightgbm as lgb\n",
        "\n",
        "# ---- Baseline\n",
        "lgbm_base = Pipeline([\n",
        "    (\"prep\", preprocess_boost),\n",
        "    (\"model\", lgb.LGBMClassifier(\n",
        "        boosting_type=\"gbdt\",\n",
        "        n_estimators=800,\n",
        "        learning_rate=0.05,\n",
        "        num_leaves=63,\n",
        "        subsample=0.8,\n",
        "        colsample_bytree=0.8,\n",
        "        class_weight=\"balanced\",\n",
        "        n_jobs=1,               # keep RAM usage predictable\n",
        "        random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "lgbm_base.fit(X_train, y_train)\n",
        "lgb_base_prob = lgbm_base.predict_proba(X_test)[:,1]\n",
        "evaluate_probs(y_test, lgb_base_prob, 0.5, \"LightGBM (baseline)\")\n",
        "\n",
        "# ---- Hyperparameter tuning (RandomizedSearchCV)\n",
        "from sklearn.model_selection import RandomizedSearchCV\n",
        "\n",
        "lgbm_tune = Pipeline([\n",
        "    (\"prep\", preprocess_boost),\n",
        "    (\"model\", lgb.LGBMClassifier(\n",
        "        boosting_type=\"gbdt\",\n",
        "        class_weight=\"balanced\",\n",
        "        n_estimators=800,\n",
        "        n_jobs=1,\n",
        "        random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "lgb_param_dist = {\n",
        "    \"model__learning_rate\":     [0.02, 0.03, 0.05, 0.07, 0.1],\n",
        "    \"model__num_leaves\":        [31, 63, 95, 127, 191],\n",
        "    \"model__min_child_samples\": [10, 20, 40, 80, 120],\n",
        "    \"model__subsample\":         [0.6, 0.7, 0.8, 0.9, 1.0],\n",
        "    \"model__colsample_bytree\":  [0.6, 0.7, 0.8, 0.9, 1.0],\n",
        "    \"model__reg_alpha\":         [0.0, 0.1, 0.5, 1.0],\n",
        "    \"model__reg_lambda\":        [0.0, 0.1, 0.5, 1.0]\n",
        "}\n",
        "\n",
        "lgb_search = RandomizedSearchCV(\n",
        "    estimator=lgbm_tune,\n",
        "    param_distributions=lgb_param_dist,\n",
        "    n_iter=25,\n",
        "    scoring=\"average_precision\",   # PR-AUC focuses on Severe class\n",
        "    cv=3,\n",
        "    n_jobs=1,                      # avoid multi-proc memory spikes\n",
        "    verbose=2,\n",
        "    random_state=42\n",
        ")\n",
        "\n",
        "lgb_search.fit(X_train, y_train)\n",
        "print(\"LightGBM best PR-AUC (cv):\", lgb_search.best_score_)\n",
        "print(\"LightGBM best params:\", lgb_search.best_params_)\n",
        "\n",
        "lgb_best = lgb_search.best_estimator_\n",
        "lgb_best_prob = lgb_best.predict_proba(X_test)[:,1]\n",
        "evaluate_probs(y_test, lgb_best_prob, 0.5, \"LightGBM (tuned)\")\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "HNABdYWj4cdt",
        "outputId": "87efe31b-0c6a-4b30-dccd-4835430a377d"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[LightGBM] [Info] Number of positive: 22123, number of negative: 84258\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 1.077250 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 6245\n",
            "[LightGBM] [Info] Number of data points in the train set: 106381, number of used features: 2287\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "== LightGBM (baseline) ==\n",
            "ROC-AUC: 0.995540454009666\n",
            "PR-AUC (Severe): 0.9853371326614045\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.99      0.97      0.98     21065\n",
            "           1       0.89      0.94      0.92      5531\n",
            "\n",
            "    accuracy                           0.96     26596\n",
            "   macro avg       0.94      0.96      0.95     26596\n",
            "weighted avg       0.96      0.96      0.96     26596\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "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hg2FmZmZKF++vOjRo4e4detWvvNZWlqKW7duifbt2wtLS0tRoUIFMXr0aL3+cL/oZ+zatWti0KBBolatWsLMzEzY2dmJzp07i7i4OKmM9u/Y05v2OrWfu127dgkfHx+hUqnEvHnzpGPBwcFCiLwvIz8/P1GhQgWRmJgo1Z+ZmSnq1asnqlWr9twv2+zsbOHn5yeqVKmi8zfu6TJfffWVUCqVYtu2bc+sT99rO3LkiGjcuLFQqVTCzc1N/PDDDwXWc/DgQTFo0CBRsWJFYWNj88xzP8+HH34oHBwcdP4thRBiwIABwsLCQmRkZDzz+dr3VE5OjkhOTi603KJFiwQAcf78eZ39a9asEQDEkSNHXvwijMxL66ooyPbt29GlSxd4enpi5syZePjwIUJCQlCpUqUCy69ZswaPHj3CJ598AoVCgdmzZ6Njx464evUqypYti08++QR37txBREQEfvrpJ53n/v777wCAnj17GtzOx48f499//wUApKSkYOfOndi1axfGjx9fYPnu3bsjLCwMBw8exDvvvCO1vVWrVrC3t9frnLdv38aNGzfQsGHDAo9fvnwZXbp0wcCBAxEcHIxVq1bhww8/xK5du/Duu+8CAK5evYqtW7fiww8/hJubGxITE/Hdd9+hRYsWuHDhApydnQEA33//PYYNGyalPjMyMvD333/jxIkT6N69OwAgMTERb775JhQKBYYMGYKKFSti586dCAkJQUpKCkaMGKH366l19OhRbN68GYMHD4aVlRUWLFiATp064caNGyhfvvwLndfHxwe//vorUlJSoFarDW5TUTx+/Bj79u1D8+bNUaVKleeWF0Lg/fffx4EDBxASEgJvb2/s3r0bY8aMwe3btzFv3jyd8s97vT755BNUqlQJM2bMwLBhw9C4cWM4ODgYdA0RERHo1q0bWrVqha+++goAcPHiRRw7dgzDhw8v9Hnh4eHo06cPGjdujJkzZyIxMRHz58/HsWPHcObMGdjY2Ehlc3NzERgYiCZNmuB///sf9u7di7lz56J69eoYNGiQXu009DN28uRJHD9+HF27dkXlypVx7do1LFmyBH5+frhw4QIsLCzQvHlzDBs2DAsWLMDnn3+OOnXqAID0XyCvS6Jbt2745JNP0L9/f9SuXTvfuRQKBVauXIn69etj4MCB2Lx5MwBgypQpOH/+PA4ePAhLS8tnXt/MmTMRExODqKgoODk5AchL6aenp8PS0hIajQZJSUkYO3YsrKys0LdvX8TGxsLKyqrA+vS5ttjYWHTu3BkhISEIDg7GypUr0bt3b/j4+KBu3bo69Q0ePBgVK1bE5MmTkZaWBiBvfE1ycvIzr0vLzs5O6to5c+YMGjZsmK+r54033sCyZcvwzz//wNPT85n1PX78GGq1Go8fP4atrS26deuGr776CuXKlZPKnDlzBpaWljrXrD2P9vjbb7+tV/uNnhzRx4tmHDw9PUXlypXFo0ePpH0HDx4UAArMOJQvX148ePBA2v/rr78KAOL333+X9hXWVfHBBx8IACIpKUlnf3p6urh37560PXz4MN95C9oGDRqU71eh9teQEEI0atRIhISECCGEePjwoVAqleKHH36Qfq09L+Owd+/efNem5erqKgDoZBiSk5OFk5OTaNCggbQvIyMjXxQfFxcnVCqVmDZtmrSvffv2UrsLExISIpycnMS///6rs79r167C2tpaStkaknFQKpUiNjZW2vfXX38JAOLbb781+Lxa2l8PJ06ceOb1FAdt+4cPH65X+a1btwoA4osvvtDZ37lzZ6FQKHReG31fr8LeX/pmHIYPHy7UavUzf/0/nXHIysoS9vb2ol69eiI9PV0qt23bNgFATJ48Wed8AHTef0II0aBBA+Hj41PoOZ+8jhf5jBXUpRAZGSkAiB9//FHa97x0PgCxa9euAo9pMw5a3333nQAgfv75Z/HHH38IU1PTfN0rBUlOThZqtVps3bpV2rds2TJha2srAIi6deuKTZs26XymGjZsKJYtW/bMevW5tsOHD0v77t69K1QqlRg9erS0T/u3/u233873HtG+7vpsT2Z6LC0tRd++ffO1afv27YW+3k/67LPPxLhx48S6devEL7/8Ir3H3nrrLZGdnS2VCwoKEtWqVcv3/LS0NAFAfPbZZ888D/2nxNZxuHPnDs6ePYtevXrpRIUtWrQoNLrs0qULbG1tpcfNmjUDkPfL+nlSUlIAQOdcALB06VJUrFhR2gqKOAcMGICIiAhERERg06ZNCA0NxXfffYdRo0YVer7u3btj8+bNyMrKwsaNG2FqaooPPvjgue3Uun//PgDoXO+TnJ2ddepTq9Xo1asXzpw5g4SEBAB5A4a0UXxubi7u37+PcuXKoXbt2jojlm1sbHDr1i2cPHmy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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Fitting 3 folds for each of 25 candidates, totalling 75 fits\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.275200 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3498\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 914\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.05, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.1, model__reg_lambda=1.0, model__subsample=0.6; total time=  20.6s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.277989 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3497\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 913\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.05, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.1, model__reg_lambda=1.0, model__subsample=0.6; total time=  20.5s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.287008 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3495\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 912\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.05, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.1, model__reg_lambda=1.0, model__subsample=0.6; total time=  20.6s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.385156 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4210\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1270\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=40, model__num_leaves=31, model__reg_alpha=1.0, model__reg_lambda=0.0, model__subsample=0.6; total time=  15.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.394067 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4261\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1295\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=40, model__num_leaves=31, model__reg_alpha=1.0, model__reg_lambda=0.0, model__subsample=0.6; total time=  15.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.409928 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4241\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1285\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=40, model__num_leaves=31, model__reg_alpha=1.0, model__reg_lambda=0.0, model__subsample=0.6; total time=  15.0s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.956146 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7444\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.1, model__min_child_samples=10, model__num_leaves=63, model__reg_alpha=1.0, model__reg_lambda=1.0, model__subsample=0.9; total time=  17.3s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.959819 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7443\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2886\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.1, model__min_child_samples=10, model__num_leaves=63, model__reg_alpha=1.0, model__reg_lambda=1.0, model__subsample=0.9; total time=  16.6s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.988168 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7445\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.1, model__min_child_samples=10, model__num_leaves=63, model__reg_alpha=1.0, model__reg_lambda=1.0, model__subsample=0.9; total time=  17.3s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.605035 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5424\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1877\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.05, model__min_child_samples=20, model__num_leaves=191, model__reg_alpha=0.0, model__reg_lambda=0.5, model__subsample=0.8; total time=  26.5s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.596957 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5405\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1867\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.05, model__min_child_samples=20, model__num_leaves=191, model__reg_alpha=0.0, model__reg_lambda=0.5, model__subsample=0.8; total time=  26.8s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.611833 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5389\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1859\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.05, model__min_child_samples=20, model__num_leaves=191, model__reg_alpha=0.0, model__reg_lambda=0.5, model__subsample=0.8; total time=  26.9s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.331769 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3860\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1095\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.02, model__min_child_samples=80, model__num_leaves=63, model__reg_alpha=0.0, model__reg_lambda=0.0, model__subsample=1.0; total time=  17.3s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.329538 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3859\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1094\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.02, model__min_child_samples=80, model__num_leaves=63, model__reg_alpha=0.0, model__reg_lambda=0.0, model__subsample=1.0; total time=  17.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.343022 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3853\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1091\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.02, model__min_child_samples=80, model__num_leaves=63, model__reg_alpha=0.0, model__reg_lambda=0.0, model__subsample=1.0; total time=  17.1s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.967089 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7444\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=127, model__reg_alpha=0.1, model__reg_lambda=0.1, model__subsample=0.6; total time=  25.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.960965 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7443\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2886\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=127, model__reg_alpha=0.1, model__reg_lambda=0.1, model__subsample=0.6; total time=  26.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.986629 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7445\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=127, model__reg_alpha=0.1, model__reg_lambda=0.1, model__subsample=0.6; total time=  26.2s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.389669 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4210\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1270\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=31, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.6; total time=  14.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.392933 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4261\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1295\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=31, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.6; total time=  13.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.405819 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4241\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1285\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=31, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.6; total time=  14.1s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.387164 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4210\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1270\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=1.0; total time=  15.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.393497 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4261\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1295\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=1.0; total time=  16.6s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.406532 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4241\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1285\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=1.0; total time=  16.8s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.280451 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3498\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 914\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.02, model__min_child_samples=120, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.0, model__subsample=0.8; total time=  22.0s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.279123 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3497\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 913\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.02, model__min_child_samples=120, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.0, model__subsample=0.8; total time=  22.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.285918 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3495\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 912\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.02, model__min_child_samples=120, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.0, model__subsample=0.8; total time=  22.1s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.390626 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4210\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1270\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=0.7; total time=  17.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.395613 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4261\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1295\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=0.7; total time=  17.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.405479 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4241\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1285\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.07, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=0.7; total time=  18.6s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.979922 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7444\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.05, model__min_child_samples=10, model__num_leaves=63, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.7; total time=  19.4s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.969057 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7443\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2886\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.05, model__min_child_samples=10, model__num_leaves=63, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.7; total time=  19.5s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 1.005226 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7445\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.05, model__min_child_samples=10, model__num_leaves=63, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.7; total time=  19.3s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.963855 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7444\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=31, model__reg_alpha=0.1, model__reg_lambda=0.0, model__subsample=0.9; total time=  16.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.963258 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7443\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2886\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=31, model__reg_alpha=0.1, model__reg_lambda=0.0, model__subsample=0.9; total time=  16.0s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.983344 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7445\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=31, model__reg_alpha=0.1, model__reg_lambda=0.0, model__subsample=0.9; total time=  16.0s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.394353 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4210\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1270\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.02, model__min_child_samples=40, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.6; total time=  20.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.393216 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4261\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1295\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.02, model__min_child_samples=40, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.6; total time=  21.0s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.405935 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4241\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1285\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.02, model__min_child_samples=40, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.6; total time=  21.1s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.277020 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3498\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 914\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=120, model__num_leaves=63, model__reg_alpha=0.0, model__reg_lambda=0.1, model__subsample=0.6; total time=  17.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.276966 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3497\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 913\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=120, model__num_leaves=63, model__reg_alpha=0.0, model__reg_lambda=0.1, model__subsample=0.6; total time=  17.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.286957 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3495\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 912\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=120, model__num_leaves=63, model__reg_alpha=0.0, model__reg_lambda=0.1, model__subsample=0.6; total time=  17.3s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.604449 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5424\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1877\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=20, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.1, model__subsample=1.0; total time=  25.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.602218 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5405\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1867\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=20, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.1, model__subsample=1.0; total time=  24.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.623339 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5389\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1859\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.02, model__min_child_samples=20, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.1, model__subsample=1.0; total time=  24.9s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.600730 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5424\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1877\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.03, model__min_child_samples=20, model__num_leaves=31, model__reg_alpha=0.1, model__reg_lambda=0.5, model__subsample=0.9; total time=  15.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.597866 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5405\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1867\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.03, model__min_child_samples=20, model__num_leaves=31, model__reg_alpha=0.1, model__reg_lambda=0.5, model__subsample=0.9; total time=  15.8s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.611669 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5389\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1859\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.03, model__min_child_samples=20, model__num_leaves=31, model__reg_alpha=0.1, model__reg_lambda=0.5, model__subsample=0.9; total time=  15.6s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.330868 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3860\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1095\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.05, model__min_child_samples=80, model__num_leaves=63, model__reg_alpha=0.1, model__reg_lambda=0.5, model__subsample=0.7; total time=  17.4s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.327114 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3859\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1094\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.05, model__min_child_samples=80, model__num_leaves=63, model__reg_alpha=0.1, model__reg_lambda=0.5, model__subsample=0.7; total time=  17.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.341082 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3853\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1091\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.05, model__min_child_samples=80, model__num_leaves=63, model__reg_alpha=0.1, model__reg_lambda=0.5, model__subsample=0.7; total time=  17.5s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.278388 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3498\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 914\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.07, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.5, model__reg_lambda=1.0, model__subsample=1.0; total time=  20.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.276359 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3497\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 913\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.07, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.5, model__reg_lambda=1.0, model__subsample=1.0; total time=  21.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.286175 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3495\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 912\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.07, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.5, model__reg_lambda=1.0, model__subsample=1.0; total time=  21.1s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.388616 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4210\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1270\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.1, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.1, model__subsample=0.9; total time=  13.6s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.392802 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4261\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1295\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.1, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.1, model__subsample=0.9; total time=  14.3s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.406261 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4241\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1285\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.9, model__learning_rate=0.1, model__min_child_samples=40, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=0.1, model__subsample=0.9; total time=  14.1s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.328826 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3860\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1095\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=80, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.1, model__subsample=0.9; total time=  23.1s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.328348 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3859\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1094\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=80, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.1, model__subsample=0.9; total time=  23.5s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.341713 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3853\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1091\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.07, model__min_child_samples=80, model__num_leaves=191, model__reg_alpha=0.5, model__reg_lambda=0.1, model__subsample=0.9; total time=  23.8s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.277390 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3498\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 914\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.1, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.0, model__reg_lambda=0.1, model__subsample=1.0; total time=  19.6s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.275359 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3497\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 913\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.1, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.0, model__reg_lambda=0.1, model__subsample=1.0; total time=  19.4s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.287984 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3495\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 912\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.7, model__learning_rate=0.1, model__min_child_samples=120, model__num_leaves=95, model__reg_alpha=0.0, model__reg_lambda=0.1, model__subsample=1.0; total time=  19.4s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.600153 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5424\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1877\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.1, model__min_child_samples=20, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.9; total time=  18.6s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.600469 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5405\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1867\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.1, model__min_child_samples=20, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.9; total time=  20.0s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.612751 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 5389\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1859\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.1, model__min_child_samples=20, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.5, model__subsample=0.9; total time=  21.6s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.965263 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7444\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=1.0, model__subsample=0.7; total time=  20.2s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.961380 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7443\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2886\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=1.0, model__subsample=0.7; total time=  20.3s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.987409 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 7445\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 2887\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.6, model__learning_rate=0.07, model__min_child_samples=10, model__num_leaves=191, model__reg_alpha=1.0, model__reg_lambda=1.0, model__subsample=0.7; total time=  22.6s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.330999 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3860\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1095\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.07, model__min_child_samples=80, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.0, model__subsample=0.6; total time=  22.0s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.327799 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3859\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1094\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.07, model__min_child_samples=80, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.0, model__subsample=0.6; total time=  23.0s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.347097 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3853\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1091\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=0.8, model__learning_rate=0.07, model__min_child_samples=80, model__num_leaves=127, model__reg_alpha=0.5, model__reg_lambda=0.0, model__subsample=0.6; total time=  22.6s\n",
            "[LightGBM] [Info] Number of positive: 14748, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.340757 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3860\n",
            "[LightGBM] [Info] Number of data points in the train set: 70920, number of used features: 1095\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.02, model__min_child_samples=80, model__num_leaves=95, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=1.0; total time=  19.4s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.329264 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3859\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1094\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.02, model__min_child_samples=80, model__num_leaves=95, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=1.0; total time=  18.9s\n",
            "[LightGBM] [Info] Number of positive: 14749, number of negative: 56172\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.343943 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3853\n",
            "[LightGBM] [Info] Number of data points in the train set: 70921, number of used features: 1091\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=-0.000000\n",
            "[LightGBM] [Info] Start training from score -0.000000\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n",
            "[LightGBM] [Warning] No further splits with positive gain, best gain: -inf\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[CV] END model__colsample_bytree=1.0, model__learning_rate=0.02, model__min_child_samples=80, model__num_leaves=95, model__reg_alpha=1.0, model__reg_lambda=0.5, model__subsample=1.0; total time=  19.4s\n",
            "[LightGBM] [Info] Number of positive: 22123, number of negative: 84258\n",
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.729764 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 4843\n",
            "[LightGBM] [Info] Number of data points in the train set: 106381, number of used features: 1586\n",
            "[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000\n",
            "[LightGBM] [Info] Start training from score 0.000000\n",
            "LightGBM best PR-AUC (cv): 0.9875767677890828\n",
            "LightGBM best params: {'model__subsample': 0.6, 'model__reg_lambda': 0.0, 'model__reg_alpha': 1.0, 'model__num_leaves': 31, 'model__min_child_samples': 40, 'model__learning_rate': 0.02, 'model__colsample_bytree': 0.6}\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMClassifier was fitted with feature names\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "== LightGBM (tuned) ==\n",
            "ROC-AUC: 0.9966301539393247\n",
            "PR-AUC (Severe): 0.9886187108615243\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.99      0.96      0.98     21065\n",
            "           1       0.87      0.97      0.92      5531\n",
            "\n",
            "    accuracy                           0.96     26596\n",
            "   macro avg       0.93      0.96      0.95     26596\n",
            "weighted avg       0.97      0.96      0.96     26596\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg4AAAHJCAYAAADtvrGoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZnNJREFUeJzt3Xl4TNf/B/D3ZJnsk0VkIyJoSYhoUY0itGliKVLUWoKgKrbYd7EUX2prra2SVqmlRRVVEUtoUiqk9rQIiSXWSCSRdc7vj/xya5qEGbkRMe/X89yHOffcc8+dzPKZs12FEEKAiIiISAsG5V0BIiIiqjgYOBAREZHWGDgQERGR1hg4EBERkdYYOBAREZHWGDgQERGR1hg4EBERkdYYOBAREZHWGDgQERGR1l7KwOHq1atQKBQIDw9/7mM///xz+Sv2kjt+/DiUSiWuXbtW3lV5LsX93SdMmIAmTZqUX6VeIgsWLECNGjVgaGiIBg0ayF5+3759Ub16ddnLragOHToEhUKBQ4cOlXdVnkth/X/88cfyrgq9Yl544BAeHg6FQoETJ0686FMXsWfPHoSFhZW4Pzs7G19++SWaNWsGW1tbKJVKuLi4oEOHDvjhhx+Qn58v5S380ntyU6lUaNCgAZYtW6aRFwBatmwJhUKB1157rdhzR0RESOVo+8afPHkyevToATc3NyltxYoVzxWAvSxGjhyJv/76Czt37izvqiA/Px/r1q1Dy5YtYWdnBxMTE1SvXh39+vUr89fzvn37MG7cOLzzzjtYt24d5syZU6bne5GefO/Mnj272Dy9evWCQqGApaXlc51j48aNWLJkSSlqWXaEEEhPT3/u41/ma4uOjkazZs1gbm4OJycnDB8+XOtr/e/naeE2b968Inlv3LiBrl27wsbGBiqVCh07dsSVK1fkvhwqJF6wdevWCQDizz//LDGPWq0Wjx8/Fnl5eTqXn5CQIACIBQsWPDNvSEiIKOkpuHPnjmjYsKEAIAICAsTnn38u1q5dK+bMmSPeffddAUDMnDmzyHl79Ogh1q9fL9avXy+WLVsm2rZtKwCIMWPGaJTv6+srTE1NBQBx7NixIucPCgqS9m/duvWZ13Lq1CkBQERHR2uk161bV/j6+j7z+JdB4XO4bt06jfSuXbuK5s2bl0+l/l9mZqZo3bq1ACBatGghFixYIL755hsxdepUUbt2baFQKERSUlKZnX/8+PHCwMBAZGdnl9k5cnJyRFZWVpmVX5LCv7upqanw9PQssj89PV1YWFgIU1NTYWFh8VznaNeunXBzc9PpmPz8fPH48WORn5//XOd8moyMDPH555+Lxo0bC2NjYwFAmJubC19fXxEeHq7TOUu6toMHD2r9+VEWTp06JUxNTcUbb7whVq5cKSZPnixMTExE69attToegHj//felz9PC7ezZsxr5Hj16JF577TXh4OAg/ve//4lFixYJV1dXUbVqVXHv3r2yuDS991IGDqUhV+AQEBAgDAwMxE8//VTs/j///FN8//33zzyvWq0WjRs3Fi4uLhrpvr6+om7duqJ27dpi5MiRGvseP34sVCqV6Ny5s9Zv/OHDh4tq1aoJtVqtkf4qBA4//vijUCgU4vLly+VTMfHva2Xx4sVF9uXl5YkFCxaUaeDQr1+/5/7SfNkV/t07deokAIi4uDiN/Rs2bBDGxsaiffv2LyRwKKtgodCff/4pqlatKuzs7MSQIUPE999/L/bs2SPCw8NFUFCQsLCwEG+//ba4ceOGVuWVVeCQkZHxXMcVatOmjXB2dhapqalS2tdffy0AiN9+++2ZxwMQISEhz8z3v//9TwAQx48fl9IuXLggDA0NxcSJE5+v8vRUL2XgUNIXyJYtW4SHh4cwMTERdevWFdu2bRNBQUEab5onv8BXr14tatSoIZRKpWjUqJHGCysoKEgAKLIJIUR0dLQAIAYPHqz1dT0tYPnggw9EtWrVNNIKA4ewsDDh7Oys8UG1ZcsWYWRkJDZv3qz1G79atWqib9++Gmlubm5Frq8wiJg+fXqxQVPh3ychIUGjnHbt2okjR46Ixo0bCxMTE+Hu7i6+/fbbIsenpKSIESNGiKpVqwqlUilq1qwp5s2bV+SDOCUlRQQFBQmVSiWsra1Fnz59pFaT//7dHz58KBQKhVi0aNEzn4eykJSUJIyMjMT777+v9TEnT54UrVu3FlZWVsLCwkK8++67IiYmRiNP4XN99OhRERoaKuzt7YW5ubkIDAwUd+7ckfIV9zpdt25die+TwmOmT58uPU5LSxMjRowQbm5uQqlUisqVKws/Pz8RGxsr5fnve0mIgl/7o0aNkv6er7/+uliwYEGRALXwQ3779u2ibt26QqlUCk9PT/Hrr78+87l68r3j7u4uxo0bp7G/bdu2on379tKX6pN27Ngh2rZtK5ydnYVSqRQ1atQQM2fO1Git9PX1LfL8FV5n4ZfrDz/8ICZPnixcXFyEQqEQKSkp0r6DBw8KIYQ4f/68MDU1Fb1799aow5EjR4SBgUGRehcnLi5OWFhYiO7du4uHDx8WmycpKUm89957wsPDQzx48OCp5WlzbZs3bxazZ88WVapUESYmJuLdd98V//zzT5Fy6tatK06cOCGaN28uzMzMxIgRI555PSVJTU0VRkZGYuzYsRrp2dnZwtLSUgQHBz+zjMLXVGZmpnj8+HGJ+Ro3biwaN25cJN3f31/UrFlT98rTMxmVqp/jBdq9eze6desGLy8vzJ07FykpKQgODkaVKlWKzb9x40Y8evQIn3zyCRQKBebPn49OnTrhypUrMDY2xieffIKbN28iIiIC69ev1zj2l19+AQB8/PHHOtczMzMT9+7dAwCkpaXh119/xd69ezFx4sRi8/fs2RNhYWE4dOgQ3n33Xanu7733HhwcHLQ6540bN5CYmIg333xTI33JkiUYNmwYLC0tMXnyZACAo6OjztcEAJcuXUKXLl0QHByMoKAgrF27Fn379kXDhg1Rt25d6dp9fX1x48YNfPLJJ6hWrRqio6MxceJE3Lp1S+qHFUKgY8eOOHr0KAYPHgwPDw9s374dQUFBxZ7b2toaNWvWxO+//47Q0NDnqn9p/Prrr8jLy0Pv3r21yn/u3Dk0b94cKpUK48aNg7GxMVavXo2WLVvi8OHDRQZ7Dhs2DLa2tpg+fTquXr2KJUuWYOjQodi8eTMAYP369fjqq69w/PhxrFmzBgDQtGlTna5h8ODB+PHHHzF06FB4enri/v37OHr0KC5cuFDkdVNICIEOHTrg4MGDCA4ORoMGDfDbb79h7NixuHHjBhYvXqyR/+jRo9i2bRuGDBkCKysrfPHFF+jcuTMSExNRqVIlrerZo0cPfP/995g3bx4UCgXu3buHffv2Yf369di7d2+R/OHh4bC0tMSoUaNgaWmJAwcOYNq0aUhLS8OCBQsAFIz9SU1NxfXr16U6/3esxKxZs6BUKjFmzBhkZ2dDqVQWOZeHhwdmzZqFsWPHokuXLujQoQMyMjLQt29f1KlTBzNnznzqteXl5aFbt2746KOPsHbtWigUCgBAVlYWDA0NYWxsjMzMTNjY2GD37t14//33MWnSJKxcubLEMrW5tnnz5sHAwABjxoxBamoq5s+fj169euHYsWMa+e7fv482bdqge/fu+Pjjj6XPivT0dGRlZT312gDA2NgY1tbWAIAzZ84gLy8PjRo10sijVCrRoEEDnDp16pnlAQV/3xUrVkAIAQ8PD0yZMgU9e/aU9qvVapw+fRr9+/cvcuxbb72Fffv24dGjR7CystLqfKSlFx2pPG+Lg5eXl6hatap49OiRlHbo0CGNCPvJYytVqqQRrf/8888CgPjll1+ktJK6Kj788EMBoMgvgsePH4u7d+9KW0pKSpHzFrd9+umnRX6hFUb4QgjRqFEjKQJPSUkRSqVSfPvtt1o3Ne7fv7/ItRUqqatC1xYHACIqKkpKu3PnjjAxMRGjR4+W0mbNmiUsLCzE33//rVHmhAkThKGhoUhMTBRCFPxKBCDmz58v5cnLyxPNmzcv8Re0v7+/8PDwKPE5KEuhoaECgDh16pRW+QMDA4VSqdToWrl586awsrISLVq0kNIKn2s/Pz+N10doaKgwNDTUeP0V92tblxYHa2vrZzb7/rfFofDvNHv2bI18Xbp0EQqFQly6dEnjfEqlUiPtr7/+EgDEl19++dTzPtnicPbsWQFAHDlyRAghxPLly4WlpaXIyMgo9jnIzMwsUt4nn3wizM3NNcZrPKs5v0aNGkXK+m+LgxAF4x6aNWsmHB0dxb1790RISIgwMjLSqus1PDxc4zPs0aNH4qOPPhKGhobCyMhI9O7dW4wfP14EBQUJIQqeP1NTU5GWlvbUcp91bR4eHhpjY5YuXSoAiDNnzkhphS0Xq1atKlJOSa2z/92e/JzZunVrkc+MQh999JFwcnJ66jUJIUTTpk3FkiVLxM8//yxWrlwp6tWrJwCIFStWSHnu3r1bZLxZoeXLlwsA4uLFi888F+nmpZyO+V83b97EmTNn0KdPH41o2tfXF15eXsUe061bN9ja2kqPmzdvDgBajbRNS0sDUDRyX7VqFSpXrixtzZo1K3LsoEGDEBERgYiICPz0008ICQnB6tWrMWrUqBLP17NnT2zbtg05OTn48ccfYWhoiA8//PCZ9Sx0//59ANC4Xrl5enpKzyEAVK5cGbVr19Z4Prdu3YrmzZvD1tYW9+7dkzY/Pz/k5+cjKioKQMFsFiMjI3z66afSsYaGhhg2bFiJ5y8sszwUvh60+dWSn5+Pffv2ITAwEDVq1JDSnZ2d0bNnTxw9elQqr9CgQYOkX59AwWs1Pz9f1mm1NjY2OHbsGG7evKn1MXv27IGhoSGGDx+ukT569GgIIfDrr79qpPv5+aFmzZrS4/r160OlUuk0ur1u3bqoX78+fvjhBwAFrW8dO3aEubl5sfnNzMyk/z969Aj37t1D8+bNkZmZiYsXL2p93qCgII2ySmJgYIDw8HCkp6ejTZs2WLFiBSZOnFjkl3Vxtm7div79+0ufK5MnT0ZkZCQWLlyIzZs3IzU1FV9++aWUv379+nB2dsYff/yh9XUUp1+/fhotKCV9FpqYmKBfv35Fjh83bpz0mfa0beHChdIxjx8/lsr8L1NTU2n/0/z+++8YMWIEOnTogMGDByM2Nhb16tXDpEmTpOOfdZ4n85B8KkRXReEHaK1atYrsq1WrFk6ePFkkvVq1ahqPC79UU1JSnnm+wi+I9PR0qekNADp37ox69eoBKPjw/O8USwB47bXX4OfnJz3u1KkTFAoFlixZgv79+xcb6HTv3h1jxozBr7/+ig0bNuCDDz54rqY1IYTOx2jrv88nUPCcPvl8/vPPPzh9+jQqV65cbBl37twBUPD3dHZ2LhKY1a5du8TzCyE0vlyLk5qa+twfEtbW1iV+cahUKgAFX0zPcvfuXWRmZhZ7LR4eHlCr1UhKSpK6d4DSvVa1NX/+fAQFBcHV1RUNGzZE27Zt0adPH43g5r+uXbsGFxeXIq9FDw8Paf+TtHmNaKNnz55YuHAhQkNDER0djUmTJpWY99y5c5gyZQoOHDhQJCBLTU3V+pzu7u5a561ZsybCwsIwduxY1KtXD1OnTtXquNjYWIwZMwZAwet5zZo1WLlyJfr06QMA6NChA+rUqaNxjKOjI+7evat13Yqj7eurSpUqxXbReHp6wtPTU6dzFr6XsrOzi+zLysrSKkj7L6VSiaFDh0pBRLNmzZ55nifrQvKpEIHD8zA0NCw2XZsv18I379mzZ/HOO+9I6a6urnB1dQWg2y/g9957D8uWLUNUVFSxgYOzszNatmyJhQsX4vfff8dPP/2kVbmFCvuPdfmALulLuLhgCNDu+VSr1Xj//fcxbty4YvO+/vrrWtfvv1JSUmBvb//UPCNGjMC33377XOWvW7cOffv2LXZf4evhzJkzZbLw0vO+VnX5G3bt2hXNmzfH9u3bsW/fPixYsAD/+9//sG3bNrRp00b3ShejNO+5J/Xo0QMTJ07EwIEDUalSJfj7+xeb7+HDh/D19YVKpcLMmTNRs2ZNmJqa4uTJkxg/fjzUarXW59T1y2Xfvn0AClpD79+/Dycnp2cec//+fbi4uAD4N8Bs3LixtN/IyKjIeJOkpCStx4eURNu/S0nPgbYBuVKphJ2dHYCCzzQAuHXrVpF8t27dkp4HXRV+/j548AAApPVUSjoPgOc+F5WsQgQOhQsaXbp0qci+4tK0VdIH7wcffIB58+Zhw4YNGoHD88rLywOApy580rNnTwwYMAA2NjZo27atTuUXfrElJCQU2VfSNRb+6nj48CFsbGyk9NI0j9esWRPp6ekaLS7FcXNzQ2RkJNLT0zVaHeLj40s8JiEhAd7e3k8td9y4cc81oBWARgvAf7Vp0waGhob4/vvvnzlAsnLlyjA3Ny/2Wi5evAgDAwPpw6+0nvwbPqmkv6GzszOGDBmCIUOG4M6dO3jzzTfx2WeflRg4uLm5Yf/+/UUGlxV2ATy50JicqlWrhnfeeQeHDh3Cp59+CiOj4j+mDh06hPv372Pbtm1o0aKFlK7L++B5rFq1ChEREfjss88wd+5cfPLJJ/j555+feZxKpZJaQSpVqgRjY2NcvnxZasEBCroPCls1f/31V6SkpMDHx+ep5cp5bcXRNiD39fWVVtmsV68ejIyMcOLECXTt2lXKk5OTg7i4OI00XRR2rxS2ahoYGMDLy6vYBdiOHTuGGjVqcGBkGagQgYOLiwvq1auH7777DhMnTpS+bA4fPowzZ8489weYhYUFgKJfnu+88w7ef/99fPXVVwgICEDHjh2LHKvLr6jCWRpP++Lr0qULkpKSULt27WKbC5+mSpUqcHV1LfbNY2FhUeSLBYDUFx0VFYUOHToAADIyMp77FztQ8Ks2LCwMv/32GwICAjT2PXz4EJaWljAyMkLbtm3x1VdfYeXKlRg7diyAgl/JT/bvPik1NRWXL1/WGBNRnOdpUtWGq6srBg4ciFWrVuHLL78sMhZDrVZj8eLF6NatG6pWrQp/f3/8/PPPuHr1qrSE8+3bt7Fx40Y0a9ZM6vooLZVKBXt7e0RFRWHkyJFS+ooVKzTy5efnF+l2c3BwgIuLS7FNvIUK/07Lli3TmBW0ePFiKBQK2VoqijN79mwcPHgQ3bp1KzFP4S/pJ9+LOTk5Ra4fKHgf6NJ1UZKEhASMHTsWnTt3xqRJk1CpUiUMHjwY3333ndTlUBIPDw8cO3YMjRs3hqGhIdq3b4/Ro0dDpVLB1dUV4eHhOHnyJNzc3LBu3TqEhoZi6tSpz3y9yHVtJdE2IH9yjJW1tTX8/Pzw/fffY+rUqdKX9/r165Geno6PPvpIypuZmYnExETY29tLrYp3794t0uX56NEjLFmyBPb29mjYsKGU3qVLF0yYMAEnTpyQxprEx8fjwIEDUtcQyavcAoe1a9cWO71qxIgRxeafM2cOOnbsiHfeeQf9+vVDSkoKli1bhnr16j33cq2FL77hw4cjICAAhoaG6N69OwDg+++/R+vWrREYGIg2bdrAz88Ptra2SE5Oxv79+xEVFVXsB+fJkyfx/fffAyh4oUdGRuKnn35C06ZNS2xyBQreaE9b/vpZOnbsiO3btxcZC9CwYUOsXLkSs2fPRq1ateDg4IB3330X/v7+qFatGoKDgzF27FgYGhpi7dq1qFy5MhITE5+rDmPHjsXOnTvxwQcfSFM1MzIycObMGfz444+4evUq7O3t0b59e7zzzjuYMGECrl69Ck9PT2zbtq3ED7/9+/dLUzjLy8KFC3H58mUMHz4c27ZtwwcffABbW1skJiZi69atuHjxovTamT17NiIiItCsWTMMGTIERkZGWL16NbKzszF//nxZ6zVgwADMmzcPAwYMQKNGjRAVFYW///5bI8+jR49QtWpVdOnSBd7e3rC0tMT+/fvx559/agxo+6/27dujVatWmDx5Mq5evQpvb2/s27cPP//8M0aOHKkxEFJuvr6+8PX1fWqepk2bwtbWFkFBQRg+fDgUCgXWr19fbFDfsGFDbN68GaNGjULjxo1haWmJ9u3b61QnIQT69+8PMzMzaYrkJ598gp9++gkjRoyAn5/fU5vFP/jgA3zzzTcICQmBQqHA4sWL4e/vL11n/fr1MWjQIKxevRpRUVGYOXNmkYGpxZHj2p7meQPyzz77DE2bNoWvry8GDRqE69evY+HChfD390fr1q2lfMePH0erVq0wffp06TNw+fLl2LFjB9q3b49q1arh1q1bWLt2LRITE7F+/XqNH1dDhgzB119/jXbt2mHMmDEwNjbGokWL4OjoiNGjR5f6+qkYL3oaR+EUtJK2pKSkEqeZbdq0SdSpU0eYmJiIevXqiZ07d4rOnTuLOnXqSHmethAT/jNFLS8vTwwbNkxUrlxZKBSKItMTHz9+LJYsWSJ8fHyESqUSRkZGwsnJSXzwwQdiw4YNGovMFDcd08jISNSoUUOMHTtWYxqpEJrTMUuiy8pvJ0+e1JjGVig5OVm0a9dOWFlZFZkyFRsbK5o0aSKUSqWoVq2aWLRo0VMXgPovX1/fIlM9Hz16JCZOnChq1aollEqlsLe3F02bNhWff/65yMnJkfLdv39f9O7dW1oAqnfv3iUuANWtWzfRrFmzZz4HZS0vL0+sWbNGNG/eXFhbWwtjY2Ph5uYm+vXrV2Sq5smTJ0VAQICwtLQU5ubmolWrVkWWAy9panJx0wCLm4ooRMF0xODgYGFtbS2srKxE165dxZ07dzRe69nZ2WLs2LHC29tbWpDK29tbY1pb4Tn+O63v0aNHIjQ0VLi4uAhjY2Px2muvPXUBqP9yc3OTpheWRNvVXot7Dn7//Xfx9ttvCzMzM+Hi4iLGjRsnfvvttyLPX3p6uujZs6ewsbEpdpGk4t5j//07FE5j/O9qsomJiUKlUom2bds+tf4pKSnC2tpaLFmyRErLzc0Vx44dE7GxsSI/P19cvXpVnD59Wqfl9nW9tuI+X7X5PHoeR44cEU2bNhWmpqaicuXKIiQkpMj00sJ6PvnZvG/fPvH+++8LJycnYWxsLGxsbIS/v7+IjIws9jxJSUmiS5cuQqVSCUtLS/HBBx8UWeSK5KMQogyH4r8ADRo0QOXKlREREVHeVSl37733HlxcXIosaFWRJScnw93dHZs2bSrXFgciOWzZsgW9evXCl19+icGDBxebJzExEdevX9d5kS96uqysLOTk5MhWnlKplKZ86psKEzjk5uZCoVBoDJQ6dOgQWrVqhdmzZ0srI+qzY8eOoXnz5vjnn3/KbODaizZhwgQcOHAAx48fL++qEMni66+/xpAhQ/D2229jwIABUvfCtWvX8PPPP2P16tVo06YNtmzZUt5VfWVkZWXB3c0SyXeKnzX2PJycnJCQkKCfwUP5NnhoLyEhQdSsWVNMnz5drF69WoSGhgozMzPh5OTEO6ARUYVy+vRp0bFjR2FiYqLRvfn666+L1atXl+lNtvRRamqqACCuxVYXKX/XKPV2Lba6AKBxA6+SzJkzRzRq1EhYWlqKypUri44dOxZZzfLx48diyJAhws7OTlhYWIhOnTqJ5ORkjTzXrl0Tbdu2FWZmZqJy5cpizJgxIjc3VyPPwYMHxRtvvCHdJ6i4VWWXLVsm3NzchImJiXjrrbeKvTvzs1SIWRVAwYjdhg0bYs2aNbh79y4sLCzQrl07zJs3r9TznImIXiQvLy/s2LEDGRkZ+Pvvv5Geno6qVavqtBAV6c7SSgFLq9JPX1VD+zIOHz6MkJAQNG7cGHl5eZg0aRL8/f1x/vx5aWZfaGgodu/eja1bt8La2hpDhw5Fp06d8PvvvwMomBnVrl07ODk5ITo6Grdu3UKfPn1gbGyMOXPmACiY8dOuXTsMHjwYGzZsQGRkJAYMGABnZ2dpllvhINpVq1ahSZMmWLJkCQICAhAfH6/1vZGACtRVQURE9DzS0tJgbW2NO/FuUFmV/k4LaY/UcKh9DampqTpPr7579y4cHBxw+PBhtGjRAqmpqahcuTI2btyILl26AChYK8XDwwMxMTF4++238euvv+KDDz7AzZs3pZuPrVq1CuPHj8fdu3ehVCoxfvx47N69G2fPnpXO1b17dzx8+FCawdikSRM0btwYy5YtA1AwldzV1RXDhg3DhAkTtL6GCnGvCiIiopdNWlqaxva0dVEKFU47L1xlMzY2Frm5uRoL59WpUwfVqlVDTEwMACAmJgZeXl4adzcOCAhAWloazp07J+X57+J7AQEBUhk5OTmIjY3VyGNgYAA/Pz8pj7YYOBARkV5QQ8i2AQWLw1lbW0vb3Llzn35+tRojR47EO++8I60QmpycDKVSqbEIIVBwn5Lk5GQpz5NBQ+H+wn1Py5OWlobHjx/j3r17yM/PLzZPYRnaqjBjHIqjVqtx8+ZNWFlZlfmyq0REVHaEEHj06BFcXFxgYFA2v2nVUEP7O5g8vRyg4F4iT3ZVFHeXzieFhITg7NmzOHr0qAy1KD8VOnC4efOmbOv+ExFR+UtKSkLVqlXLuxpaUalUWo9xGDp0KHbt2oWoqCiN63NyckJOTk6RWx/cvn1bunmak5NTkSnpt2/flvYV/luY9mQelUoFMzMzGBoawtDQsNg82tyk7UkVOnAoXP/82snqUFmy14VeXZ0bvFXeVSAqU3kiF1GPfyrTm1LlC4F8GeYD6FKGEALDhg3D9u3bcejQoSIzZxo2bAhjY2NERkaic+fOAArutZGYmCjd4MzHxwefffYZ7ty5I81+iIiIgEqlkpYD9/HxwZ49ezTKjoiIkMpQKpVo2LAhIiMjERgYCKCg1T4yMhJDhw7V6fordOBQ2D2hsjSQZaQs0cvKSKHbjc+IKqqy7HZ+cnxCacvRVkhICDZu3Iiff/4ZVlZW0ngCa2trmJmZwdraGsHBwRg1ahTs7OygUqkwbNgw+Pj44O233wYA+Pv7w9PTE71798b8+fORnJyMKVOmICQkROoeGTx4MJYtW4Zx48ahf//+OHDgALZs2YLdu3dLdRk1ahSCgoLQqFEjvPXWW1iyZAkyMjLQr18/na6/QgcOREREL7PCG6K1bNlSI33dunXo27cvgII7zhoYGKBz587Izs5GQECAxl1eDQ0NsWvXLnz66afw8fGBhYUFgoKCMHPmTCmPu7s7du/ejdDQUCxduhRVq1bFmjVrNO5U3K1bN9y9exfTpk1DcnIyGjRogL179xYZMPksFXodh8K5uSl/12CLA73S2tTifQvo1ZYncnAgc9NzrY3wLIXfFQkXnWElw3fFo0dquNe5VSZ1rQjY4kBERHqhPLoqXkX8mU5ERERaY4sDERHphfKYVfEqYuBARER6Qf3/mxzl6DN2VRAREZHW2OJARER6IR8C+TIMbJSjjIqMgQMREemFfFGwyVGOPmNXBREREWmNLQ5ERKQXODhSHgwciIhIL6ihQD5Kfy8MtQxlVGTsqiAiIiKtscWBiIj0gloUbHKUo88YOBARkV7Il6mrQo4yKjJ2VRAREZHW2OJARER6gS0O8mDgQEREekEtFFALGWZVyFBGRcauCiIiItIaWxyIiEgvsKtCHgwciIhIL+TDAPkyNLTny1CXioxdFURERKQ1tjgQEZFeEDINjhR6PjiSgQMREekFjnGQB7sqiIiISGtscSAiIr2QLwyQL2QYHMl7VRAREb361FBALUNDuxr6HTmwq4KIiIi0xhYHIiLSCxwcKQ8GDkREpBfkG+PArgoiIiIirbDFgYiI9ELB4EgZ7o7JrgoiIqJXn1qme1VwVgURERGRltjiQEREeoGDI+XBwIGIiPSCGgZcAEoG7KogIiIirbHFgYiI9EK+UCBfhltiy1FGRcbAgYiI9EK+TLMq8tlVQURERGUlKioK7du3h4uLCxQKBXbs2KGxX6FQFLstWLBAylO9evUi++fNm6dRzunTp9G8eXOYmprC1dUV8+fPL1KXrVu3ok6dOjA1NYWXlxf27Nmj8/UwcCAiIr2gFgaybbrIyMiAt7c3li9fXuz+W7duaWxr166FQqFA586dNfLNnDlTI9+wYcOkfWlpafD394ebmxtiY2OxYMEChIWF4auvvpLyREdHo0ePHggODsapU6cQGBiIwMBAnD17VqfrYVcFERHphfLqqmjTpg3atGlT4n4nJyeNxz///DNatWqFGjVqaKRbWVkVyVtow4YNyMnJwdq1a6FUKlG3bl3ExcVh0aJFGDRoEABg6dKlaN26NcaOHQsAmDVrFiIiIrBs2TKsWrVK6+thiwMREdFzSEtL09iys7NLXebt27exe/duBAcHF9k3b948VKpUCW+88QYWLFiAvLw8aV9MTAxatGgBpVIppQUEBCA+Ph4pKSlSHj8/P40yAwICEBMTo1Md2eJARER6QQ15ZkSo//9fV1dXjfTp06cjLCysVGV/++23sLKyQqdOnTTShw8fjjfffBN2dnaIjo7GxIkTcevWLSxatAgAkJycDHd3d41jHB0dpX22trZITk6W0p7Mk5ycrFMdGTgQEZFekG8BqIIykpKSoFKppHQTE5NSl7127Vr06tULpqamGumjRo2S/l+/fn0olUp88sknmDt3rizn1QUDByIiouegUqk0AofSOnLkCOLj47F58+Zn5m3SpAny8vJw9epV1K5dG05OTrh9+7ZGnsLHheMiSspT0riJknCMAxER6YXCe1XIsZWFb775Bg0bNoS3t/cz88bFxcHAwAAODg4AAB8fH0RFRSE3N1fKExERgdq1a8PW1lbKExkZqVFOREQEfHx8dKonWxyIiEgvqKGAGnKMcdCtjPT0dFy6dEl6nJCQgLi4ONjZ2aFatWoACgZabt26FQsXLixyfExMDI4dO4ZWrVrBysoKMTExCA0NxccffywFBT179sSMGTMQHByM8ePH4+zZs1i6dCkWL14slTNixAj4+vpi4cKFaNeuHTZt2oQTJ05oTNnUBgMHIiKiMnTixAm0atVKelw4XiEoKAjh4eEAgE2bNkEIgR49ehQ53sTEBJs2bUJYWBiys7Ph7u6O0NBQjXEP1tbW2LdvH0JCQtCwYUPY29tj2rRp0lRMAGjatCk2btyIKVOmYNKkSXjttdewY8cO1KtXT6frUQhRce8PmpaWBmtra6T8XQMqK/a60KurTa2m5V0FojKVJ3JwIHMTUlNTZR03APz7XbH4RFOYWZb+9/Lj9DyENoouk7pWBGxxICIivSDfAlD6/UNVv6+eiIiIdMIWByIi0gtqoYBajgWgeFttIiKiV59apq4KORaRqsj0++qJiIhIJ2xxICIivfA8t8QuqRx9xsCBiIj0Qj4UyJdhASg5yqjI9DtsIiIiIp2wxYGIiPQCuyrkwcCBiIj0Qj7k6WbIL31VKjT9DpuIiIhIJ2xxICIivcCuCnkwcCAiIr2QLwyQL8OXvhxlVGT6ffVERESkE7Y4EBGRXhBQQC3D4Eih5+s4MHAgIiK9wK4Keej31RMREZFO2OJARER6gbfVlgcDByIi0gv5Mt1WW44yKjL9vnoiIiLSCVsciIhIL7CrQh4MHIiISC+oYQC1DA3tcpRRken31RMREZFO2OJARER6IV8okC9DN4McZVRkDByIiEgvcIyDPNhVQURERFpjiwMREekFIdNttYWeLznNwIGIiPRCPhTIl+EGVXKUUZHpd9hEREREOmGLAxER6QW1kGdgo1rIUJkKjIEDERHpBbVMYxzkKKMi0++rJyIiIp2wxYGIiPSCGgqoZRjYKEcZFRkDByIi0gtcOVIeDBxeYZu+dMDve2yQdMkESlM1PBtlInjyTbjWyi6zcwoBfLfACXs3VkJ6miE8G2Vg+LwkVKmRUyRvTrYCI9q9jivnzbBiXzxq1ntcZvUiMjAQ6DU8Ce92vAfbyjl4cEeJiJ8c8MPyKoD0C1Kg94gktO52BxaqPJyPVWHZNHfcvGYmlVOl+mMET7gGzzcfwVgpkHDRHN8tccXpP6zL5bqIXjSOcXiFnY6xRPu+97Bk1z+Yu+ky8vOAST1qIivz+f/s6z93wucjq5W4f8tyB/y8tjKGzUvC0l1/w9RcjUk9ayInq2iE/s1sF1Ryyn3uuhDp4qNPbqBdz9tYMcMdgwIaYO18N3QZeAMd+iT/m2fQTXQISsaX02pgZGcvZD02wOx1F2CsVEt5wr6+CENDgQm9PTGsoxeuXDTHjK8uwta+aHBML5fCwZFybPrspbj65cuXo3r16jA1NUWTJk1w/Pjx8q7SK2HOxivw7/YA1WtnoWbdLIxekog7N5T45/S/v57SUw2xeLQrutarhw9f98K4j2ri8jnT5zqfEMCONZXRY0QymrZOQw3PLIz74hru3zZG9F7NX2N/HrBC7GErDJx2o1TXSKQtjzce4Y9IW/x5yBZ3bpji6N5KOHnUBrW90/8/h0Bg31vYtLwq/thvh6vxFvh8TC1UcsxB0/cfAABUtrmo6p6FLaur4Gq8BW5eM8O6BW4wNVfD7fXM8rs40ooaCul+FaXa9HyMQ7kHDps3b8aoUaMwffp0nDx5Et7e3ggICMCdO3fKu2qvnIw0QwCAlU2+lDZ7UHU8vGeE2RsuY9neeNSq9xgTutZCWoqhzuUnJyrx4I4x3myeLqVZqNSo80YmLsRaSGkpd42wZKwrxn15DSZmej4hml6YC6es0MAnDVWqF3SJudfJQN1Gj3DisA0AwMk1G3YOuTgV/W+Qm5luhPi/LFHnjUcAgLQUIyRdNsV7H96FiVk+DAwF2na/jZR7xrh01vKFXxNVDFFRUWjfvj1cXFygUCiwY8cOjf19+/aFQqHQ2Fq3bq2R58GDB+jVqxdUKhVsbGwQHByM9PR0jTynT59G8+bNYWpqCldXV8yfP79IXbZu3Yo6derA1NQUXl5e2LNnj87XU+6Bw6JFizBw4ED069cPnp6eWLVqFczNzbF27dryrtorRa0GVk2vgrqN01G9ThYA4OwxC8THmWPyV1fxuvdjVKmRg0HTb8LCOh9Hd9vofI4HdwqGzNhU1ux+sKmcK+0TAvh8ZDW0630fr3tzTAO9OFtWVcHh3ZXw1b44/HLhDyzbeRo7wp1xcGdlAICtfcHrNuWescZxKfeUsJVe0wpMCvJETc8MbPvrOHae+wMf9r+Jqf09kJ7GIWMvO/H/sypKuwkdWxwyMjLg7e2N5cuXl5indevWuHXrlrT98MMPGvt79eqFc+fOISIiArt27UJUVBQGDRok7U9LS4O/vz/c3NwQGxuLBQsWICwsDF999ZWUJzo6Gj169EBwcDBOnTqFwMBABAYG4uzZszpdT7m+0nNychAbG4uJEydKaQYGBvDz80NMTEyR/NnZ2cjO/ndgX1pa2gup56tg2aSquHbRDAt3/COlXTlvhqwMA3xUt55G3pwsA9y8qgQAnDlmgSm9akj78nIVEEKBI7v+/VU2Yv51vNspRat6/PyNPR6nG6DbsNuluRwinbVoex+tOtzD/NDXcO0fM9TwzMQnk6/iwW1j7N/uoGUpAkPCEpB63xhju9dFdrYBWne9g7CvLmL4h15Iuass02ug0imv22q3adMGbdq0eWoeExMTODk5FbvvwoUL2Lt3L/788080atQIAPDll1+ibdu2+Pzzz+Hi4oINGzYgJycHa9euhVKpRN26dREXF4dFixZJAcbSpUvRunVrjB07FgAwa9YsREREYNmyZVi1apXW11OugcO9e/eQn58PR0dHjXRHR0dcvHixSP65c+dixowZL6p6r4xlk6rgWIQKC7dfQmWXf1sDHmcYwM4xF/N/vFTkGEtVQXfG6/UzsSIiXkr/+ZvKuJdsjODJN6U028p5AAA7h4J/H941RiXHPGn/w7vGqFm3oHUh7ncrXIi1wAfVvTXON7TN63i3UwrGLk0s7eUSFSt4wjVsWV0Fh3fbAwCu/m0BB5dsdB18A/u3O0gtDbb2uRoBgK19Di6fL+hqa+CThrdapaBrw8bITC/4+Fw+3RJvvHMKfp3uYuvqKi/4qqg8/ffHq4mJCUxMTJ6rrEOHDsHBwQG2trZ49913MXv2bFSqVAkAEBMTAxsbGyloAAA/Pz8YGBjg2LFj+PDDDxETE4MWLVpAqfz3tRsQEID//e9/SElJga2tLWJiYjBq1CiN8wYEBBTpOnmWCtW2NnHiRI2LTktLg6uraznW6OUmBLB8chVE77XGgh8vwama5qjvWl6ZeHDHGIZGgJNr8SPCTcwEqrj/u8/KJh+Z6YYaaYWcquUU9BEftZSmVmY8MsDFU+b4oM89AMCQWdfRd/y/4yfuJxtjUs+amLTqKuq8wcFlVHZMTNUQas00tVoBxf932CYnmeDBHWM0aJqKKxcKAgVzyzzU9k7H7g0FvwRNzPKl454k1AXTPenlJveS0//9/pk+fTrCwsJ0Lq9169bo1KkT3N3dcfnyZUyaNAlt2rRBTEwMDA0NkZycDAcHzVYxIyMj2NnZITm5YFZQcnIy3N3dNfIU/ihPTk6Gra0tkpOTi/2hXliGtso1cLC3t4ehoSFu39Zstr59+3axTTalieb00bJJVXFwuy3C1l2BmaVaGmdgYZUPEzOBN1ukw6NhBmb0c8eAKTdRpWY27icb4XikCu+0SdV5DIJCAQQOuIsfljqiins2nKrl4Nv5zqjkmIumrVMBAA5VcwH82+phalHwSe7ilqPRGkIkt2MHbNF9yA3cuWmCa/+YoZZnBjr1v4l9Wws/kBXYEe6M7kOu48ZVU9xOMkHv0CTcv61EdIQdgIIBlumpRhg9/xI2LquKnCwDtO52G45Vs3H8oG35XRxpRe6uiqSkJKhUKin9eb+funfvLv3fy8sL9evXR82aNXHo0CG89957patsGSjXwEGpVKJhw4aIjIxEYGAgAECtViMyMhJDhw4tz6q9EnZ9W9AkO7bzaxrpoxcnwr/bAygUwOzvryB8njMWjnJF6n0j2FbOg9fb6bCxzyuuyGfqGnIHWZkGWDrOFelphqjbOAOfbbgCpSl/jVH5WjnTHX1GJiJkxhXYVMrFgztK7PnBERuXVZXybP3KBaZm+Rg++wosVXk4d0KFqf09kJtT8AszLcUYU/t7IGh0IuatPw8jY4Fr/5hh5uDaSLhoUdKp6RWlUqk0Age51KhRA/b29rh06RLee+89ODk5FZlpmJeXhwcPHkg/sp2cnIr9EV6472l5ShpbUZJy76oYNWoUgoKC0KhRI7z11ltYsmQJMjIy0K9fv/KuWoX32824Z+Yxt1RjyOwbGDJbu/UUeo95epOWQgEEjUtG0Djtmr6cXHO0qidRaT3OMMTqz9yx+jP3p+RSYP3Sali/tORFzv45a4kp/TzlryCVuYpyr4rr16/j/v37cHZ2BgD4+Pjg4cOHiI2NRcOGDQEABw4cgFqtRpMmTaQ8kydPRm5uLoyNC8brREREoHbt2rC1tZXyREZGYuTIkdK5IiIi4OPjo1P9yj1w6NatG+7evYtp06YhOTkZDRo0wN69e4v0wxAREZVGec2qSE9Px6VL/w5CT0hIQFxcHOzs7GBnZ4cZM2agc+fOcHJywuXLlzFu3DjUqlULAQEBAAAPDw+0bt0aAwcOxKpVq5Cbm4uhQ4eie/fucHFxAQD07NkTM2bMQHBwMMaPH4+zZ89i6dKlWLx4sXTeESNGwNfXFwsXLkS7du2wadMmnDhxQmPKpjYUQogK24aclpYGa2trpPxdAyqrcl+SgqjMtKnVtLyrQFSm8kQODmRuQmpqquzN/4XfFe1+GwBji9JPmc3NyMHugDVa1/XQoUNo1apVkfSgoCCsXLkSgYGBOHXqFB4+fAgXFxf4+/tj1qxZGj+gHzx4gKFDh+KXX36BgYEBOnfujC+++AKWlv8uPHb69GmEhITgzz//hL29PYYNG4bx48drnHPr1q2YMmUKrl69itdeew3z589H27Ztdbp+Bg5EFQADB3rVvYjAoc3egbIFDr+2/rpM6loR8NuWiIiItFbuYxyIiIhehPIa4/CqYeBARER6gYGDPNhVQURERFpjiwMREekFAXnWYKiwMwpkwsCBiIj0Arsq5MGuCiIiItIaWxyIiEgvsMVBHgwciIhILzBwkAe7KoiIiEhrbHEgIiK9wBYHeTBwICIivSCEAkKGL305yqjI2FVBREREWmOLAxER6QU1FLIsACVHGRUZAwciItILHOMgD3ZVEBERkdbY4kBERHqBgyPlwcCBiIj0Arsq5MGuCiIiItIaWxyIiEgvsKtCHgwciIhILwiZuir0PXBgVwURERFpjS0ORESkFwQAIeQpR58xcCAiIr2ghgIKrhxZauyqICIiIq2xxYGIiPQCZ1XIg4EDERHpBbVQQMEFoEqNXRVERESkNbY4EBGRXhBCplkVej6tgoEDERHpBY5xkAe7KoiIiEhrbHEgIiK9wBYHeTBwICIivcBZFfJgVwURERFpjS0ORESkFzirQh4MHIiISC8UBA5yjHGQoTIVGLsqiIiISGsMHIiISC8UzqqQY9NFVFQU2rdvDxcXFygUCuzYsUPal5ubi/Hjx8PLywsWFhZwcXFBnz59cPPmTY0yqlevDoVCobHNmzdPI8/p06fRvHlzmJqawtXVFfPnzy9Sl61bt6JOnTowNTWFl5cX9uzZo9O1AAwciIhITwgZN11kZGTA29sby5cvL7IvMzMTJ0+exNSpU3Hy5Els27YN8fHx6NChQ5G8M2fOxK1bt6Rt2LBh0r60tDT4+/vDzc0NsbGxWLBgAcLCwvDVV19JeaKjo9GjRw8EBwfj1KlTCAwMRGBgIM6ePavT9XCMAxERURlq06YN2rRpU+w+a2trREREaKQtW7YMb731FhITE1GtWjUp3crKCk5OTsWWs2HDBuTk5GDt2rVQKpWoW7cu4uLisGjRIgwaNAgAsHTpUrRu3Rpjx44FAMyaNQsRERFYtmwZVq1apfX1sMWBiIj0gtxdFWlpaRpbdna2LPVMTU2FQqGAjY2NRvq8efNQqVIlvPHGG1iwYAHy8vKkfTExMWjRogWUSqWUFhAQgPj4eKSkpEh5/Pz8NMoMCAhATEyMTvVj4EBERPpB5r4KV1dXWFtbS9vcuXNLXcWsrCyMHz8ePXr0gEqlktKHDx+OTZs24eDBg/jkk08wZ84cjBs3TtqfnJwMR0dHjbIKHycnJz81T+F+bbGrgoiI6DkkJSVpfLmbmJiUqrzc3Fx07doVQgisXLlSY9+oUaOk/9evXx9KpRKffPIJ5s6dW+rz6oqBAxER6QeZ7lWB/y9DpVJpBA6lURg0XLt2DQcOHHhmuU2aNEFeXh6uXr2K2rVrw8nJCbdv39bIU/i4cFxESXlKGjdREnZVEBGRXihcOVKOTU6FQcM///yD/fv3o1KlSs88Ji4uDgYGBnBwcAAA+Pj4ICoqCrm5uVKeiIgI1K5dG7a2tlKeyMhIjXIiIiLg4+OjU33Z4kBERFSG0tPTcenSJelxQkIC4uLiYGdnB2dnZ3Tp0gUnT57Erl27kJ+fL405sLOzg1KpRExMDI4dO4ZWrVrBysoKMTExCA0NxccffywFBT179sSMGTMQHByM8ePH4+zZs1i6dCkWL14snXfEiBHw9fXFwoUL0a5dO2zatAknTpzQmLKpDQYORESkF8rrttonTpxAq1atpMeF4xWCgoIQFhaGnTt3AgAaNGigcdzBgwfRsmVLmJiYYNOmTQgLC0N2djbc3d0RGhqqMe7B2toa+/btQ0hICBo2bAh7e3tMmzZNmooJAE2bNsXGjRsxZcoUTJo0Ca+99hp27NiBevXq6XQ9DByIiEg/CIU0PqHU5eigZcuWEE/p33jaPgB488038ccffzzzPPXr18eRI0eemuejjz7CRx999MyynoZjHIiIiEhrbHEgIiK9wNtqy4OBAxER6YfnudFESeXoMXZVEBERkdbY4kBERHqhvGZVvGq0ChwKp4poo7hbgRIREb0U9LybQQ5aBQ6BgYFaFaZQKJCfn1+a+hAREdFLTKvAQa1Wl3U9iIiIyhS7KuRRqsGRWVlZctWDiIiobMl8W219pXPgkJ+fj1mzZqFKlSqwtLTElStXAABTp07FN998I3sFiYiI6OWhc+Dw2WefITw8HPPnz4dSqZTS69WrhzVr1shaOSIiIvkoZNz0l86Bw3fffYevvvoKvXr1gqGhoZTu7e2Nixcvylo5IiIi2bCrQhY6Bw43btxArVq1iqSr1WqN+4ATERHRq0fnwMHT07PYu2/9+OOPeOONN2SpFBERkezY4iALnVeOnDZtGoKCgnDjxg2o1Wps27YN8fHx+O6777Br166yqCMREVHpldNttV81Orc4dOzYEb/88gv2798PCwsLTJs2DRcuXMAvv/yC999/vyzqSERERC+J57pXRfPmzRERESF3XYiIiMoMb6stj+e+ydWJEydw4cIFAAXjHho2bChbpYiIiGTH22rLQufA4fr16+jRowd+//132NjYAAAePnyIpk2bYtOmTahatarcdSQiIqKXhM5jHAYMGIDc3FxcuHABDx48wIMHD3DhwgWo1WoMGDCgLOpIRERUeoWDI+XY9JjOLQ6HDx9GdHQ0ateuLaXVrl0bX375JZo3by5r5YiIiOSiEAWbHOXoM51bHFxdXYtd6Ck/Px8uLi6yVIqIiIheTjoHDgsWLMCwYcNw4sQJKe3EiRMYMWIEPv/8c1krR0REJBsuACULrboqbG1toVD826eTkZGBJk2awMio4PC8vDwYGRmhf//+CAwMLJOKEhERlQoXgJKFVoHDkiVLyrgaREREVBFoFTgEBQWVdT2IiIjKFtdxkMVzLwAFAFlZWcjJydFIU6lUpaoQERFRmWDgIAudB0dmZGRg6NChcHBwgIWFBWxtbTU2IiIienXpHDiMGzcOBw4cwMqVK2FiYoI1a9ZgxowZcHFxwXfffVcWdSQiIio9zqqQhc5dFb/88gu+++47tGzZEv369UPz5s1Rq1YtuLm5YcOGDejVq1dZ1JOIiKh0OKtCFjq3ODx48AA1atQAUDCe4cGDBwCAZs2aISoqSt7aERER0UtF58ChRo0aSEhIAADUqVMHW7ZsAVDQElF40ysiIqKXTeGS03Js+kznwKFfv37466+/AAATJkzA8uXLYWpqitDQUIwdO1b2ChIREcmCYxxkofMYh9DQUOn/fn5+uHjxImJjY1GrVi3Ur19f1soRERHRy6VU6zgAgJubG9zc3OSoCxEREb3ktAocvvjiC60LHD58+HNXhoiIqKwoINNttUtfRIWmVeCwePFirQpTKBTlEjh8+LoXjBTGL/y8RC9KZiev8q4CUZnKy80CdpZ3LUgbWg2OTEhI0Gq7cuVKWdeXiIjo+RSu4yDHpoOoqCi0b98eLi4uUCgU2LFjh2a1hMC0adPg7OwMMzMz+Pn54Z9//tHI8+DBA/Tq1QsqlQo2NjYIDg5Genq6Rp7Tp0+jefPmMDU1haurK+bPn1+kLlu3bkWdOnVgamoKLy8v7NmzR6drAZ5jVgUREVGFVE6zKjIyMuDt7Y3ly5cXu3/+/Pn44osvsGrVKhw7dgwWFhYICAhAVlaWlKdXr144d+4cIiIisGvXLkRFRWHQoEHS/rS0NPj7+8PNzQ2xsbFYsGABwsLC8NVXX0l5oqOj0aNHDwQHB+PUqVMIDAxEYGAgzp49q9P1KIQQFXZiSVpaGqytrdESHdlVQa+0zE5NyrsKRGUqLzcLx3dORWpqquw3Syz8rnCb+xkMTE1LXZ46KwvXJk5+rroqFAps374dgYGBAApaG1xcXDB69GiMGTMGAJCamgpHR0eEh4eje/fuuHDhAjw9PfHnn3+iUaNGAIC9e/eibdu2uH79OlxcXLBy5UpMnjwZycnJUCqVAAqWTNixYwcuXrwIAOjWrRsyMjKwa9cuqT5vv/02GjRogFWrVml9DWxxICIi/SBzi0NaWprGlp2drXOVEhISkJycDD8/PynN2toaTZo0QUxMDAAgJiYGNjY2UtAAFCyHYGBggGPHjkl5WrRoIQUNABAQEID4+HikpKRIeZ48T2GewvNoi4EDERHpBblXjnR1dYW1tbW0zZ07V+c6JScnAwAcHR010h0dHaV9ycnJcHBw0NhvZGQEOzs7jTzFlfHkOUrKU7hfW6Vex4GIiEgfJSUlaXRVmJiYlGNtXpznanE4cuQIPv74Y/j4+ODGjRsAgPXr1+Po0aOyVo6IiEg2MndVqFQqje15AgcnJycAwO3btzXSb9++Le1zcnLCnTt3NPbn5eXhwYMHGnmKK+PJc5SUp3C/tnQOHH766ScEBATAzMwMp06dkvp0UlNTMWfOHF2LIyIiejFewntVuLu7w8nJCZGRkVJaWloajh07Bh8fHwCAj48PHj58iNjYWCnPgQMHoFar0aRJEylPVFQUcnNzpTwRERGoXbs2bG1tpTxPnqcwT+F5tKVz4DB79mysWrUKX3/9NYyN/53J8M477+DkyZO6FkdERPRKS09PR1xcHOLi4gAUDIiMi4tDYmIiFAoFRo4cidmzZ2Pnzp04c+YM+vTpAxcXF2nmhYeHB1q3bo2BAwfi+PHj+P333zF06FB0794dLi4uAICePXtCqVQiODgY586dw+bNm7F06VKMGjVKqseIESOwd+9eLFy4EBcvXkRYWBhOnDiBoUOH6nQ9Oo9xiI+PR4sWLYqkW1tb4+HDh7oWR0RE9ELIdUtsXcs4ceIEWrVqJT0u/DIPCgpCeHg4xo0bh4yMDAwaNAgPHz5Es2bNsHfvXpg+MXV0w4YNGDp0KN577z0YGBigc+fOGreDsLa2xr59+xASEoKGDRvC3t4e06ZN01jroWnTpti4cSOmTJmCSZMm4bXXXsOOHTtQr149na5H58DByckJly5dQvXq1TXSjx49iho1auhaHBER0YvxHKs+lliODlq2bImnLZmkUCgwc+ZMzJw5s8Q8dnZ22Lhx41PPU79+fRw5cuSpeT766CN89NFHT6/wM+jcVTFw4ECMGDECx44dg0KhwM2bN7FhwwaMGTMGn376aakqQ0RERC83nVscJkyYALVajffeew+ZmZlo0aIFTExMMGbMGAwbNqws6khERFR6cg1srLDrLctD58BBoVBg8uTJGDt2LC5duoT09HR4enrC0tKyLOpHREQki/Ia4/Cqee4FoJRKJTw9PeWsCxEREb3kdA4cWrVqBYWi5IEhBw4cKFWFiIiIygS7KmShc+DQoEEDjce5ubmIi4vD2bNnERQUJFe9iIiI5CVTVwUDBx0tXry42PSwsDCkp6eXukJERET08pLt7pgff/wx1q5dK1dxRERE8noJl5yuiGS7O2ZMTIzGKldEREQvFY5xkIXOgUOnTp00HgshcOvWLZw4cQJTp06VrWJERET08tE5cLC2ttZ4bGBggNq1a2PmzJnw9/eXrWJERERy4joO8tApcMjPz0e/fv3g5eUl3aaTiIiI9IdOgyMNDQ3h7+/Pu2ASERHpKZ1nVdSrVw9Xrlwpi7oQERGVHc6qkIXOgcPs2bMxZswY7Nq1C7du3UJaWprGRkRE9DIqHOMgx6bPtB7jMHPmTIwePRpt27YFAHTo0EFj6WkhBBQKBfLz8+WvJREREb0UtA4cZsyYgcGDB+PgwYNlWR8iIqKyo+etBXLQOnAQouDZ9vX1LbPKEBERlRkuACULncY4PO2umERERPTq02kdh9dff/2ZwcODBw9KVSEiIqKywAWg5KFT4DBjxowiK0cSERFVCOyqkIVOgUP37t3h4OBQVnUhIiKil5zWgQPHNxARUUXGrgp56DyrgoiIqEJiV4UstA4c1Gp1WdaDiIiIKgCdb6tNRERUIbHFQRYMHIiISC9wjIM8dL7JFREREekvtjgQEZF+YFeFLBg4EBGRfmDgIAt2VRAREZHW2OJARER6gYMj5cHAgYiI9AO7KmTBrgoiIiLSGlsciIhIL7CrQh4MHIiISD+wq0IW7KogIiIirTFwICIi/SBk3HRQvXp1KBSKIltISAgAoGXLlkX2DR48WKOMxMREtGvXDubm5nBwcMDYsWORl5enkefQoUN48803YWJiglq1aiE8PFy3imqJXRVERKQXFP+/yVGOLv7880/k5+dLj8+ePYv3338fH330kZQ2cOBAzJw5U3psbm4u/T8/Px/t2rWDk5MToqOjcevWLfTp0wfGxsaYM2cOACAhIQHt2rXD4MGDsWHDBkRGRmLAgAFwdnZGQEDA811oCRg4EBERlaHKlStrPJ43bx5q1qwJX19fKc3c3BxOTk7FHr9v3z6cP38e+/fvh6OjIxo0aIBZs2Zh/PjxCAsLg1KpxKpVq+Du7o6FCxcCADw8PHD06FEsXrxY9sCBXRVERKQfZO6qSEtL09iys7OfWYWcnBx8//336N+/PxSKf9suNmzYAHt7e9SrVw8TJ05EZmamtC8mJgZeXl5wdHSU0gICApCWloZz585Jefz8/DTOFRAQgJiYGO2fHy2xxYGIiPSC3NMxXV1dNdKnT5+OsLCwpx67Y8cOPHz4EH379pXSevbsCTc3N7i4uOD06dMYP3484uPjsW3bNgBAcnKyRtAAQHqcnJz81DxpaWl4/PgxzMzMdL3MEjFwICIieg5JSUlQqVTSYxMTk2ce880336BNmzZwcXGR0gYNGiT938vLC87Oznjvvfdw+fJl1KxZU95Ky4BdFUREpB9k7qpQqVQa27MCh2vXrmH//v0YMGDAU/M1adIEAHDp0iUAgJOTE27fvq2Rp/Bx4biIkvKoVCpZWxsABg5ERKRPXvBUzCetW7cODg4OaNeu3VPzxcXFAQCcnZ0BAD4+Pjhz5gzu3Lkj5YmIiIBKpYKnp6eUJzIyUqOciIgI+Pj4PH+FS8DAgYiIqIyp1WqsW7cOQUFBMDL6d5TA5cuXMWvWLMTGxuLq1avYuXMn+vTpgxYtWqB+/foAAH9/f3h6eqJ3797466+/8Ntvv2HKlCkICQmRWjkGDx6MK1euYNy4cbh48SJWrFiBLVu2IDQ0VPZrYeBARER6oXBwpBybrvbv34/ExET0799fI12pVGL//v3w9/dHnTp1MHr0aHTu3Bm//PKLlMfQ0BC7du2CoaEhfHx88PHHH6NPnz4a6z64u7tj9+7diIiIgLe3NxYuXIg1a9bIPhUT4OBIIiLSF+V4rwp/f38IUfRAV1dXHD58+JnHu7m5Yc+ePU/N07JlS5w6dUr3yumILQ5ERESkNbY4EBGRXuBtteXBwIGIiPQDb6stC3ZVEBERkdbY4kBERHqBXRXyYOBARET6gV0VsmBXBREREWmNLQ5ERKQf2OIgCwYORESkFzjGQR7sqiAiIiKtscWBiIj0A7sqZMHAgYiI9IJCCCiKuV/E85Sjz9hVQURERFpjiwMREekHdlXIgoEDERHpBc6qkAe7KoiIiEhrbHEgIiL9wK4KWTBwICIivcCuCnmwq4KIiIi0xhYHIiLSD+yqkAUDByIi0gvsqpAHuyqIiIhIa2xxICIi/cCuClkwcCAiIr2h790McmBXBREREWmNLQ5ERKQfhCjY5ChHjzFwICIivcBZFfJgVwURERFpjS0OhHpN0vHRkLt4zSsTlZzyENa/OmL2Wkv7Tc3zETz5FnwC0qCyzUNykhI/f2OP3evtpTzD/5eEN5qno5JjLh5nGuDCCQt885kzki6ZlsclEaFf2xPo3/akRtq1ZGt8PLsbAGBM9yg0qn0D9taZeJxtjDMJjlj1cxMk3rYpUpbKIgvrJvwEB9sMtBkbhPTHJtK+9xv9g55+f6GqQyoyHivxx3lXrNjxNtIy+Np/6XBWhSwYOBBMzdW4cs4Uv/1gh+lrrxbZ/0nYTTR4Jx3zh1XD7SQl3vR9hGFzr+P+bWP8sa8gwPjntDkObLPF3RtKWNnm4ePRtzHnhysIauIBtVrxgq+IqMCVm7YI/bKd9Dhf/W8ja3xSZUT8+Rpup1hCZZ6Nfu1OYFHIbnSd3gNqodkYO6HnYVy+aQcH2wyNdK8ayZjc5xC+/MkH0Werwd46E2O6H8G4HlGYssa/bC+OdKZQF2xylKPPyrWrIioqCu3bt4eLiwsUCgV27NhRntXRWycOqvDtfGdEP9HK8CTPRpmI2GqH0zGWuH1diV83VMKV82ao3SBTyvPrhko4e6xg/6Uz5vj2f05wqJILR9ecF3UZREXkqw3w4JG5tKU+0Qrwy+8e+OuyM5IfWOHv6/ZY80tjONplwKlSukYZgc3Ow9I8B5si6xcpv677bSTft8RPh+vh1n0Vzlxxws7fPeDhdrfMr42ovJRr4JCRkQFvb28sX768PKtBz3D+hDne9k9FJadcAALeTdNRpUY2Yg9bFZvfxCwf/t0e4NY1Je7eNH6xlSV6QtXKqdj+2ffYHPYDpgYdgINterH5TJW5aPt2PG7es8KdFAspvbpTCvq2icXs71pBLYq2nJ1LcISDbQbe9kwEIGBrlYmWDRLwx3nXsrokKg0h46bHyrWrok2bNmjTpk15VoG0sGJKFYyYfx0bT55HXi6gViuwdGxVnD1mqZHvg6B7GDDlFsws1Ei6ZIKJ3WsgL5fjb6l8nL/qgDnft0TSbWtUss5E3zYnsTx0J/p81gWPs5UAgMDm5/Bp4DGYm+ThWrI1Qpe1Q16+IQDA2Cgf0/tGYsWOt3EnxRIu9mlFznHmihNmfvsuZvSPhNI4D0aGAkfPVMOizc1e6LWSdjirQh4VaoxDdnY2srOzpcdpaUXfyCS/jv3voU7DTEwLqo4715XwejsDIXNu4P5tY5w68m+rw4FttjgZZQU7h1x0+fQuJq++htCOtZCbzeCBXrxj56tJ/798sxLOX3XA1pkb8e6bV7A7pg4AIOLP13DiYlVUUmWiu99fmNl/P4Ys6oCcPCN80uE4rt22wb4/XyvxHNWdUjCiSzTCf30Txy9URSXrTAwJPIYx3Y/gfxt9y/waicpDhQoc5s6dixkzZpR3NfSK0lSNvhOSMTO4Oo5HqgAACRfMUKPuY3QZfFcjcMh8ZIjMR4a4mWCCiyfN8dOFc3inTSoO7bAtr+oTSdIfmyDpjg2qVv73B0dGlhIZWUpcv2uNc1cdsGf+t2jufRWRsbXw5us3UcPlAQ42+BoAoPj/nopf5n2H9b+9gbV7GuFj/1M4c9kRP0R6AygIUB5nG2PFqJ1Ys6sx7qeZv/DrpKfgAlCyqFCBw8SJEzFq1CjpcVpaGlxd2ZdYloyMBIyVAur/jCJW5wMKg5LfPAoFAEXBsUQvAzNlLqrYp+G348W3ICgUgEIhoDTKBwBMWfM+TIzzpP0ebncx8ePDGLqkA27cLQiiTZR5yM/XbFGTxkLoe3v2S4hdFfKoUIGDiYkJTExMnp2RdGJqng8X939nPzi55qBG3cd49NAQd28o8Ve0BQZOvYWcLAPcvm6M+j4Z8OuSgq9muBTkr5YN3w4PEXvYCqkPjFDZORddh95BzmMDHI8sfgAlUVkb8uEfiD5TDckPrGBvnYH+7WKhVisQGVsTzpXS8F7Dyzh+oSoeppvBwSYdvfzjkJ1rhJhzBV0cN++pNMqztswCAFxLtpHWcYg+44ZxPaMQ2Ow8jl2oCnvrTAzrHIPzVyvjfqoFiF5FFSpwoLLxuvdjLPjpsvR48IybAIB9m22xMLQa5n7qhv6TbmH8smuwssnHnRtKhP/PGbu+qwQAyMk2QL0mGfhw4D1YWufj4T0jnPnDAqEdayH1PmdVUPlwsEnH9H4HoDLPwsN0M5y54ohPFgbiYboZDA3VqF8zGR+1PAsr82w8eGSGvy4549OFHfEw3Uzrc/x6rDbMTXPRyfccQjrFIP2xCU7Gu2Dlz03K8MrouZXDAlBhYWFFuthr166NixcvAgCysrIwevRobNq0CdnZ2QgICMCKFSvg6Ogo5U9MTMSnn36KgwcPwtLSEkFBQZg7dy6MjP79Cj906BBGjRqFc+fOwdXVFVOmTEHfvn1LdZklKdfAIT09HZcuXZIeJyQkIC4uDnZ2dqhWrdpTjiQ5nY6xRICLd4n7U+4aY2FoyX+PB7eNMbV3jbKoGtFzC1vnV+K++6kWGLdStxldcf+4oPnQQUXSfzpcDz8drqdz/ejFK6+uirp162L//v3S4ye/8ENDQ7F7925s3boV1tbWGDp0KDp16oTff/8dAJCfn4927drByckJ0dHRuHXrFvr06QNjY2PMmTMHQMF3Z7t27TB48GBs2LABkZGRGDBgAJydnREQEFD6C/6Pcg0cTpw4gVatWkmPC8cvBAUFITw8vJxqRUREJB8jIyM4OTkVSU9NTcU333yDjRs34t133wUArFu3Dh4eHvjjjz/w9ttvY9++fTh//jz2798PR0dHNGjQALNmzcL48eMRFhYGpVKJVatWwd3dHQsXLgQAeHh44OjRo1i8eHGZBA7lOk+uZcuWEEIU2Rg0EBGR7ApnVcixoWCA/pPbk8sFPOmff/6Bi4sLatSogV69eiExMREAEBsbi9zcXPj5/ds6VqdOHVSrVg0xMTEAgJiYGHh5eWl0XQQEBCAtLQ3nzp2T8jxZRmGewjLkxgn2RESkFwq7KuTYAMDV1RXW1tbSNnfu3CLnbNKkCcLDw7F3716sXLkSCQkJaN68OR49eoTk5GQolUrY2NhoHOPo6Ijk5GQAQHJyskbQULi/cN/T8qSlpeHx48dyPHUaODiSiIjoOSQlJUGl+nf2TXGz/p5cHbl+/fpo0qQJ3NzcsGXLFpiZaT8Q92XCFgciItIPMt+rQqVSaWzaLBdgY2OD119/HZcuXYKTkxNycnLw8OFDjTy3b9+WxkQ4OTnh9u3bRfYX7ntaHpVKVSbBCQMHIiLSC3J3VTyP9PR0XL58Gc7OzmjYsCGMjY0RGRkp7Y+Pj0diYiJ8fHwAAD4+Pjhz5gzu3Lkj5YmIiIBKpYKnp6eU58kyCvMUliE3Bg5ERERlZMyYMTh8+DCuXr2K6OhofPjhhzA0NESPHj1gbW2N4OBgjBo1CgcPHkRsbCz69esHHx8fvP322wAAf39/eHp6onfv3vjrr7/w22+/YcqUKQgJCZFaOAYPHowrV65g3LhxuHjxIlasWIEtW7YgNDS0TK6JYxyIiEg/qEXBJkc5Wrp+/Tp69OiB+/fvo3LlymjWrBn++OMPVK5cGQCwePFiGBgYoHPnzhoLQBUyNDTErl278Omnn8LHxwcWFhYICgrCzJkzpTzu7u7YvXs3QkNDsXTpUlStWhVr1qwpk6mYAKAQouLerSMtLQ3W1tZoiY4wUnCFQnp1ZXbiSoT0asvLzcLxnVORmpqqMeBQDoXfFU39ZsDI2LTU5eXlZiF6//QyqWtFwK4KIiIi0hq7KoiISC/8/017ZSlHn7HFgYiIiLTGFgciItIPTywXXepy9BgDByIi0gvldXfMVw27KoiIiEhrbHEgIiL98MRy0aUuR48xcCAiIr2gEAIKGcYnyFFGRcauCiIiItIaWxyIiEg/qP9/k6McPcbAgYiI9AK7KuTBrgoiIiLSGlsciIhIP3BWhSwYOBARkX7gypGyYFcFERERaY0tDkREpBe45LQ8GDgQEZF+YFeFLNhVQURERFpjiwMREekFhbpgk6McfcbAgYiI9AO7KmTBrgoiIiLSGlsciIhIP3ABKFkwcCAiIr3Ae1XIg10VREREpDW2OBARkX7g4EhZMHAgIiL9IADIMZVSv+MGdlUQERGR9tjiQEREeoGDI+XBwIGIiPSDgExjHEpfREXGrgoiIiLSGlsciIhIP3BWhSwYOBARkX5QA1DIVI4eY1cFERERaY0tDkREpBc4q0IeDByIiEg/cIyDLNhVQURERFpjiwMREekHtjjIgi0ORESkHwoDBzk2Lc2dOxeNGzeGlZUVHBwcEBgYiPj4eI08LVu2hEKh0NgGDx6skScxMRHt2rWDubk5HBwcMHbsWOTl5WnkOXToEN58802YmJigVq1aCA8Pf+6n6mkYOBAREZWRw4cPIyQkBH/88QciIiKQm5sLf39/ZGRkaOQbOHAgbt26JW3z58+X9uXn56Ndu3bIyclBdHQ0vv32W4SHh2PatGlSnoSEBLRr1w6tWrVCXFwcRo4ciQEDBuC3336T/ZrYVUFERPqhHNZx2Lt3r8bj8PBwODg4IDY2Fi1atJDSzc3N4eTkVGwZ+/btw/nz57F//344OjqiQYMGmDVrFsaPH4+wsDAolUqsWrUK7u7uWLhwIQDAw8MDR48exeLFixEQEKD7NT4FWxyIiEgvFE7HlGMDgLS0NI0tOzv7mXVITU0FANjZ2Wmkb9iwAfb29qhXrx4mTpyIzMxMaV9MTAy8vLzg6OgopQUEBCAtLQ3nzp2T8vj5+WmUGRAQgJiYmOd7sp6CLQ5ERETPwdXVVePx9OnTERYWVmJ+tVqNkSNH4p133kG9evWk9J49e8LNzQ0uLi44ffo0xo8fj/j4eGzbtg0AkJycrBE0AJAeJycnPzVPWloaHj9+DDMzs+e+zv9i4EBERPpB5lkVSUlJUKlUUrKJiclTDwsJCcHZs2dx9OhRjfRBgwZJ//fy8oKzszPee+89XL58GTVr1ix9fWXGrgoiItIPaiHfBkClUmlsTwschg4dil27duHgwYOoWrXqU6vZpEkTAMClS5cAAE5OTrh9+7ZGnsLHheMiSsqjUqlkbW0AGDgQERGVGSEEhg4diu3bt+PAgQNwd3d/5jFxcXEAAGdnZwCAj48Pzpw5gzt37kh5IiIioFKp4OnpKeWJjIzUKCciIgI+Pj4yXcm/GDgQEZF+KId1HEJCQvD9999j48aNsLKyQnJyMpKTk/H48WMAwOXLlzFr1izExsbi6tWr2LlzJ/r06YMWLVqgfv36AAB/f394enqid+/e+Ouvv/Dbb79hypQpCAkJkVo5Bg8ejCtXrmDcuHG4ePEiVqxYgS1btiA0NFT2p5GBAxER6Qm5ggbtA4eVK1ciNTUVLVu2hLOzs7Rt3rwZAKBUKrF//374+/ujTp06GD16NDp37oxffvlFKsPQ0BC7du2CoaEhfHx88PHHH6NPnz6YOXOmlMfd3R27d+9GREQEvL29sXDhQqxZs0b2qZgAB0cSERGVGfGM1glXV1ccPnz4meW4ublhz549T83TsmVLnDp1Sqf6PQ8GDkREpB94rwpZMHAgIiL9oNatm+Hp5egvjnEgIiIirbHFgYiI9INQF2xylKPHGDgQEZF+4BgHWbCrgoiIiLTGFgciItIPHBwpCwYORESkH9hVIQt2VRAREZHW2OJARET6QUCmFofSF1GRMXAgIiL9wK4KWbCrgoiIiLTGFgciItIPajUAGRZvUnMBKCIiolcfuypkwa4KIiIi0hpbHIiISD+wxUEWDByIiEg/cOVIWbCrgoiIiLTGFgciItILQqghZLglthxlVGQMHIiISD8IIU83g56PcWBXBREREWmNLQ5ERKQfhEyDI/W8xYGBAxER6Qe1GlDIMD5Bz8c4sKuCiIiItMYWByIi0g/sqpAFAwciItILQq2GkKGrQt+nY7KrgoiIiLTGFgciItIP7KqQBQMHIiLSD2oBKBg4lBa7KoiIiEhrFbrFQfx/1JeHXFlan4heVnm5WeVdBaIylf//r3FRlr/mhQAgxzoO+v2FU6EDh0ePHgEAjmJPOdeEqIzt/Lm8a0D0Qjx69AjW1tZlUrZQCwgZuirKNLipACp04ODi4oKkpCRYWVlBoVCUd3X0QlpaGlxdXZGUlASVSlXe1SEqE3ydv3hCCDx69AguLi7lXRV6hgodOBgYGKBq1arlXQ29pFKp+IFKrzy+zl+ssmppkAg15Omq0O91HCp04EBERKQtdlXIg7MqiIiISGtscSCdmJiYYPr06TAxMSnvqhCVGb7OX015IluWboY85MpQm4pLIfS9zYWIiF5pWVlZcHd3R3JysmxlOjk5ISEhAaamprKVWVEwcCAioldeVlYWcnJyZCtPqVTqZdAAMHAgIiIiHXBwJBEREWmNgQMRERFpjYED6WT58uWoXr06TE1N0aRJExw/fry8q0Qkm6ioKLRv3x4uLi5QKBTYsWNHeVeJ6KXDwIG0tnnzZowaNQrTp0/HyZMn4e3tjYCAANy5c6e8q0Yki4yMDHh7e2P58uXlXRWilxYHR5LWmjRpgsaNG2PZsmUAALVaDVdXVwwbNgwTJkwo59oRyUuhUGD79u0IDAws76oQvVTY4kBaycnJQWxsLPz8/KQ0AwMD+Pn5ISYmphxrRkRELxIDB9LKvXv3kJ+fD0dHR410R0dHWRdVISKilxsDByIiItIaAwfSir29PQwNDXH79m2N9Nu3b8PJyamcakVERC8aAwfSilKpRMOGDREZGSmlqdVqREZGwsfHpxxrRkRELxLvjklaGzVqFIKCgtCoUSO89dZbWLJkCTIyMtCvX7/yrhqRLNLT03Hp0iXpcUJCAuLi4mBnZ4dq1aqVY82IXh6cjkk6WbZsGRYsWIDk5GQ0aNAAX3zxBZo0aVLe1SKSxaFDh9CqVasi6UFBQQgPD3/xFSJ6CTFwICIiIq1xjAMRERFpjYEDERERaY2BAxEREWmNgQMRERFpjYEDERERaY2BAxEREWmNgQMRERFpjYEDERERaY2BA5EM+vbti8DAQOlxy5YtMXLkyBdej0OHDkGhUODhw4cl5lEoFNixY4fWZYaFhaFBgwalqtfVq1ehUCgQFxdXqnKIqPwxcKBXVt++faFQKKBQKKBUKlGrVi3MnDkTeXl5ZX7ubdu2YdasWVrl1ebLnojoZcGbXNErrXXr1li3bh2ys7OxZ88ehISEwNjYGBMnTiySNycnB0qlUpbz2tnZyVIOEdHLhi0O9EozMTGBk5MT3Nzc8Omnn8LPzw87d+4E8G/3wmeffQYXFxfUrl0bAJCUlISuXbvCxsYGdnZ26NixI65evSqVmZ+fj1GjRsHGxgaVKlXCuHHj8N9bvvy3qyI7Oxvjx4+Hq6srTExMUKtWLXzzzTe4evWqdFMlW1tbKBQK9O3bF0DBbcvnzp0Ld3d3mJmZwdvbGz/++KPGefbs2YPXX38dZmZmaNWqlUY9tTV+/Hi8/vrrMDc3R40aNTB16lTk5uYWybd69Wq4urrC3NwcXbt2RWpqqsb+NWvWwMPDA6ampqhTpw5WrFihc12I6OXHwIH0ipmZGXJycqTHkZGRiI+PR0REBHbt2oXc3FwEBATAysoKR44cwe+//w5LS0u0bt1aOm7hwoUIDw/H2rVrcfToUTx48ADbt29/6nn79OmDH374AV988QUuXLiA1atXw9LSEq6urvjpp58AAPHx8bh16xaWLl0KAJg7dy6+++47rFq1CufOnUNoaCg+/vhjHD58GEBBgNOpUye0b98ecXFxGDBgACZMmKDzc2JlZYXw8HCcP38eS5cuxddff43Fixdr5Ll06RK2bNmCX375BXv37sWpU6cwZMgQaf+GDRswbdo0fPbZZ7hw4QLmzJmDqVOn4ttvv9W5PkT0khNEr6igoCDRsWNHIYQQarVaRERECBMTEzFmzBhpv6Ojo8jOzpaOWb9+vahdu7ZQq9VSWnZ2tjAzMxO//fabEEIIZ2dnMX/+fGl/bm6uqFq1qnQuIYTw9fUVI0aMEEIIER8fLwCIiIiIYut58OBBAUCkpKRIaVlZWcLc3FxER0dr5A0ODhY9evQQQggxceJE4enpqbF//PjxRcr6LwBi+/btJe5fsGCBaNiwofR4+vTpwtDQUFy/fl1K+/XXX4WBgYG4deuWEEKImjVrio0bN2qUM2vWLOHj4yOEECIhIUEAEKdOnSrxvERUMXCMA73Sdu3aBUtLS+Tm5kKtVqNnz54ICwuT9nt5eWmMa/jrr79w6dIlWFlZaZSTlZWFy5cvIzU1Fbdu3UKTJk2kfUZGRmjUqFGR7opCcXFxMDQ0hK+vr9b1vnTpEjIzM/H+++9rpOfk5OCNN94AAFy4cEGjHgDg4+Oj9TkKbd68GV988QUuX76M9PR05OXlQaVSaeSpVq0aqlSponEetVqN+Ph4WFlZ4fLlywgODsbAgQOlPHl5ebC2tta5PkT0cmPgQK+0Vq1aYeXKlVAqlXBxcYGRkeZL3sLCQuNxeno6GjZsiA0bNhQpq3Llys9VBzMzM52PSU9PBwDs3r1b4wsbKBi3IZeYmBj06tULM2bMQEBAAKytrbFp0yYsXLhQ57p+/fXXRQIZQ0ND2epKRC8HBg70SrOwsECtWrW0zv/mm29i8+bNcHBwKPKru5CzszOOHTuGFi1aACj4ZR0bG4s333yz2PxeXl5Qq9U4fPgw/Pz8iuwvbPHIz8+X0jw9PWFiYoLExMQSWyo8PDykgZ6F/vjjj2df5BOio6Ph5uaGyZMnS2nXrl0rki8xMRE3b96Ei4uLdB4DAwPUrl0bjo6OcHFxwZUrV9CrVy+dzk9EFQ8HRxI9oVevXrC3t0fHjh1x5MgRJCQk4NChQxg+fDiuX78OABgxYgTmzZuHHTt24OLFixgyZMhT12CoXr06goKC0L9/f+zYsUMqc8uWLQAANzc3KBQK7Nq1C3fv3kV6ejqsrKwwZswYhIaG4ttvv8Xly5dx8uRJfPnll9KAw8GDB+Off/7B2LFjER8fj40bNyI8PFyn633ttdeQmJiITZs24fLly/jiiy+KHehpamqKoKAg/PXXXzhy5AiGDx+Orl27wsnJCQAwY8YMzJ07F1988QX+/vtvnDlzBuvWrcOiRYt0qg8RvfwYOBA9wdzcHFFRUahWrRo6deoEDw8PBAcHIysrS2qBGD16NHr37o2goCD4+PjAysoKH3744VPLXblyJbp06YIhQ4agTp06GDhwIDIyMgAAVapUwYwZMzBhwgQ4Ojpi6NChAIBZs2Zh6tSpmDt3Ljw8PNC6dWvs3r0b7u7uAArGHfz000/YsWMHvL29sWrVKsyZM0en6+3QoQNCQ0MxdOhQNGjQANHR0Zg6dWqRfLVq1UKnTp3Qtm1b+Pv7o379+hrTLQcMGIA1a9Zg3bp18PLygq+vL8LDw6W6EtGrQyFKGtFFRERE9B9scSAiIiKtMXAgIiIirTFwICIiIq0xcCAiIiKtMXAgIiIirTFwICIiIq0xcCAiIiKtMXAgIiIirTFwICIiIq0xcCAiIiKtMXAgIiIirf0fTceEr/7sgjIAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# 1) Load dataset\n",
        "CSV_PATH = \"/content/drive/MyDrive/road_accident_master_cleaned.csv\"\n",
        "df = pd.read_csv(CSV_PATH, low_memory=False)\n",
        "\n",
        "# Drop IDs that don’t help\n",
        "id_cols = [\"accident_index\",\"accident_reference\",\"vehicle_reference\",\"casualty_reference\"]\n",
        "data = df.drop(columns=[c for c in id_cols if c in df.columns], errors=\"ignore\").copy()\n",
        "\n",
        "# Target: Severe = 1 if Fatal(1) or Serious(2), else 0\n",
        "data[\"Severe\"] = data[\"casualty_severity\"].replace({1:1, 2:1, 3:0}).astype(int)\n",
        "\n",
        "X = data.drop(columns=[\"Severe\",\"casualty_severity\"], errors=\"ignore\")\n",
        "y = data[\"Severe\"]\n",
        "\n",
        "# 2) Train / Val / Test split\n",
        "from sklearn.model_selection import train_test_split\n",
        "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.40, stratify=y, random_state=42)\n",
        "X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.50, stratify=y_temp, random_state=42)\n",
        "\n",
        "print(\"Train:\", X_train.shape, \"| Val:\", X_val.shape, \"| Test:\", X_test.shape)\n",
        "\n",
        "# 3) Preprocessing for XGB (OneHot for categoricals)\n",
        "from sklearn.pipeline import Pipeline\n",
        "from sklearn.compose import ColumnTransformer\n",
        "from sklearn.preprocessing import OneHotEncoder\n",
        "from sklearn.impute import SimpleImputer\n",
        "\n",
        "num_cols = X_train.select_dtypes(include=[np.number,\"bool\"]).columns.tolist()\n",
        "cat_cols = X_train.select_dtypes(include=[\"object\",\"category\"]).columns.tolist()\n",
        "\n",
        "num_pipe = Pipeline([(\"imputer\", SimpleImputer(strategy=\"median\"))])\n",
        "cat_pipe = Pipeline([\n",
        "    (\"imputer\", SimpleImputer(strategy=\"most_frequent\")),\n",
        "    (\"onehot\", OneHotEncoder(handle_unknown=\"ignore\", sparse_output=True))\n",
        "])\n",
        "\n",
        "preprocess_boost = ColumnTransformer([\n",
        "    (\"num\", num_pipe, num_cols),\n",
        "    (\"cat\", cat_pipe, cat_cols)\n",
        "])\n",
        "\n",
        "# 4) Class imbalance weight (negatives / positives)\n",
        "pos_weight = (y_train == 0).sum() / max(1,(y_train == 1).sum())\n",
        "print(\"Scale_pos_weight:\", round(pos_weight,2))\n",
        "\n",
        "# 5) Baseline XGBoost\n",
        "import xgboost as xgb\n",
        "\n",
        "xgb_base = Pipeline([\n",
        "    (\"prep\", preprocess_boost),\n",
        "    (\"model\", xgb.XGBClassifier(\n",
        "        n_estimators=600,\n",
        "        learning_rate=0.05,\n",
        "        max_depth=8,\n",
        "        subsample=0.8,\n",
        "        colsample_bytree=0.8,\n",
        "        reg_lambda=1.0,\n",
        "        scale_pos_weight=pos_weight,\n",
        "        eval_metric=\"auc\",\n",
        "        tree_method=\"hist\",   # fast, memory-safe\n",
        "        n_jobs=1,\n",
        "        random_state=42\n",
        "    ))\n",
        "])\n",
        "\n",
        "xgb_base.fit(X_train, y_train)\n",
        "xgb_val_prob = xgb_base.predict_proba(X_val)[:,1]\n",
        "\n",
        "from sklearn.metrics import classification_report, confusion_matrix, ConfusionMatrixDisplay, roc_auc_score, average_precision_score\n",
        "\n",
        "print(\"Val ROC-AUC:\", roc_auc_score(y_val, xgb_val_prob))\n",
        "print(\"Val PR-AUC (Severe):\", average_precision_score(y_val, xgb_val_prob))\n",
        "ConfusionMatrixDisplay(confusion_matrix(y_val, (xgb_val_prob>=0.5).astype(int))).plot()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 552
        },
        "id": "_szHG3-qWCKV",
        "outputId": "854d451a-d29d-41e4-cefb-90beb138eb56"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train: (79786, 50) | Val: (26595, 50) | Test: (26596, 50)\n",
            "Scale_pos_weight: 3.81\n",
            "Val ROC-AUC: 0.9963330367051078\n",
            "Val PR-AUC (Severe): 0.9877021246006452\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7ae8dec98590>"
            ]
          },
          "metadata": {},
          "execution_count": 8
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg4AAAG5CAYAAADmnLxpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASo1JREFUeJzt3XtYVNX6B/DvAM4AygyiwoAioiZIIioWYXk7EWh0Ie3mJVFRjwWlaGqaF9QSf5qapskpU+ocPWqdtESPiXgPtETxllIoCiaDFsIIym1m//7gsHXCy4xsHGF/P8+zn+PsvWbN2h6Sd953rbUVgiAIICIiIjKDjbUHQERERPUHAwciIiIyGwMHIiIiMhsDByIiIjIbAwciIiIyGwMHIiIiMhsDByIiIjKbnbUHQEREVNdKS0tRXl4uWX9KpRL29vaS9VefMHAgIqIGrbS0FN5eTaC7bJCsT61Wi+zsbFkGDwwciIioQSsvL4fusgEX0ttA7VT7Cr3+mhFegedRXl7OwIGIiKihauKkQBMnRa37MaL2fdRnDByIiEgWDIIRBgmezmQQjLXvpB7jqgoiIqI6Eh8fj8ceewxOTk5wdXVFREQEMjMzTdqUlpYiOjoazZo1Q5MmTTBw4EDk5+ebtMnJyUF4eDgcHR3h6uqKSZMmobKy0qTNnj170K1bN6hUKrRv3x6JiYk1xrNixQq0adMG9vb2CAoKwk8//WTxPTFwICIiWTBCkOww1969exEdHY2DBw8iOTkZFRUVCA0NRUlJidgmNjYWW7Zswddff429e/fi0qVLGDBggHjdYDAgPDwc5eXlSE1NxZdffonExETMnDlTbJOdnY3w8HD07dsXGRkZGD9+PEaNGoUffvhBbLNhwwZMmDABs2bNwpEjRxAQEICwsDBcvnzZor9HRX1+rLbRaMSlS5fg5OQEhULeNSciovpMEARcu3YNHh4esLGR9jutXq+HRqPBpcxWkk2O9PC5iKKiIqjVaovee+XKFbi6umLv3r3o1asXioqK0KJFC6xbtw4vv/wyAODMmTPo2LEj0tLS8MQTT+C///0vnnvuOVy6dAlubm4AgISEBEyZMgVXrlyBUqnElClTsHXrVpw8eVL8rNdffx2FhYXYvn07ACAoKAiPPfYYli9fDqDqd6inpyfefvttvPfee2bfQ72e43Dp0iV4enpaexhERCSR3NxctGrVytrDMIterzd5rVKpoFKp7vqeoqIiAICLiwsAID09HRUVFQgJCRHb+Pr6onXr1mLgkJaWBn9/fzFoAICwsDC8+eabOHXqFLp27Yq0tDSTPqrbjB8/HkDVypL09HRMnTpVvG5jY4OQkBCkpaVZdN/1OnBwcnICAFw40gbqJqy6UMM1wL+7tYdAVKcqhQrsL98k/rteFwyCAIMESfbqPv76xXXWrFmIi4u74/uMRiPGjx+PJ598Ep06dQIA6HQ6KJVKODs7m7R1c3ODTqcT29waNFRfr752tzZ6vR43btzA1atXYTAYbtvmzJkzZtz1TfU6cKguT6ib2EiSfiJ6WNkpGll7CEQPRF2WnS2dn3C3foCq7MitpYp7ZRuio6Nx8uRJHDhwoNZjsKZ6HTgQERFZi1qtNnuOQ0xMDJKSkrBv3z6TUoxWq0V5eTkKCwtNsg75+fnQarVim7+ufqhedXFrm7+uxMjPz4darYaDgwNsbW1ha2t72zbVfZiLX9OJiEgWjBBgkOCwJGshCAJiYmKwadMm7Nq1C97e3ibXAwMD0ahRI6SkpIjnMjMzkZOTg+DgYABAcHAwTpw4YbL6ITk5GWq1Gn5+fmKbW/uoblPdh1KpRGBgoEkbo9GIlJQUsY25mHEgIiJZkLpUYY7o6GisW7cO3333HZycnMQ5CRqNBg4ODtBoNIiKisKECRPg4uICtVqNt99+G8HBwXjiiScAAKGhofDz88Mbb7yBBQsWQKfTYfr06YiOjhbLI2PHjsXy5csxefJkjBw5Ert27cLGjRuxdetWcSwTJkxAZGQkunfvjscffxwff/wxSkpKMGLECIvun4EDERFRHVm5ciUAoE+fPibn16xZg+HDhwMAlixZAhsbGwwcOBBlZWUICwvDp59+Kra1tbVFUlIS3nzzTQQHB6Nx48aIjIzEnDlzxDbe3t7YunUrYmNjsXTpUrRq1QqrVq1CWFiY2Oa1117DlStXMHPmTOh0OnTp0gXbt2+vMWHyXur1Pg7Va3Ov/tqWkyOpQevnHWTtIRDVqUqhArvLNt7X3gj3Uv274tfTbnCS4HfFtWtGdOiYXydjrQ+YcSAiIlkw/u+Qoh8549d0IiIiMhszDkREJAvVqyKk6EfOGDgQEZEsGARI9Fjt2vdRn7FUQURERGZjxoGIiGSBkyOlwcCBiIhkwQgFDKj9szCMEvRRn7FUQURERGZjxoGIiGTBKFQdUvQjZwwciIhIFgwSlSqk6KM+Y6mCiIiIzMaMAxERyQIzDtJg4EBERLJgFBQwChKsqpCgj/qMpQoiIiIyGzMOREQkCyxVSIOBAxERyYIBNjBIkGg3SDCW+oylCiIiIjIbMw5ERCQLgkSTIwWZT45k4EBERLLAOQ7SYKmCiIiIzMaMAxERyYJBsIFBkGByJJ9VQURE1PAZoYBRgkS7EfKOHFiqICIiIrMx40BERLLAyZHSYOBARESyIN0cB5YqiIiIiMzCjAMREclC1eRICZ6OyVIFERFRw2eU6FkVXFVBREREZCZmHIiISBY4OVIaDByIiEgWjLDhBlASYKmCiIiIzMaMAxERyYJBUMAgwSOxpeijPmPgQEREsmCQaFWFgaUKIiIiIvMw40BERLJgFGxglGBVhZGrKoiIiBo+liqkwVIFERFRHdq3bx+ef/55eHh4QKFQYPPmzSbXFQrFbY+FCxeKbdq0aVPj+vz58036OX78OHr27Al7e3t4enpiwYIFNcby9ddfw9fXF/b29vD398e2bdssvh8GDkREJAtG3FxZUZvDaOHnlpSUICAgACtWrLjt9by8PJNj9erVUCgUGDhwoEm7OXPmmLR7++23xWt6vR6hoaHw8vJCeno6Fi5ciLi4OHz22Wdim9TUVAwaNAhRUVE4evQoIiIiEBERgZMnT1p0PyxVEBGRLEi3AZRlffTv3x/9+/e/43WtVmvy+rvvvkPfvn3Rtm1bk/NOTk412lZbu3YtysvLsXr1aiiVSjz66KPIyMjA4sWLMWbMGADA0qVL0a9fP0yaNAkAMHfuXCQnJ2P58uVISEgw+36YcSAiIroPer3e5CgrK6t1n/n5+di6dSuioqJqXJs/fz6aNWuGrl27YuHChaisrBSvpaWloVevXlAqleK5sLAwZGZm4urVq2KbkJAQkz7DwsKQlpZm0RiZcSAiIlmQ7lkVVX14enqanJ81axbi4uJq1feXX34JJycnDBgwwOT8O++8g27dusHFxQWpqamYOnUq8vLysHjxYgCATqeDt7e3yXvc3NzEa02bNoVOpxPP3dpGp9NZNEYGDkREJAtGKGBE7Xd9rO4jNzcXarVaPK9SqWrd9+rVqzFkyBDY29ubnJ8wYYL4586dO0OpVOLvf/874uPjJflcSzBwICIiug9qtdokcKit/fv3IzMzExs2bLhn26CgIFRWVuL8+fPw8fGBVqtFfn6+SZvq19XzIu7U5k7zJu6EcxyIiEgWqksVUhx14YsvvkBgYCACAgLu2TYjIwM2NjZwdXUFAAQHB2Pfvn2oqKgQ2yQnJ8PHxwdNmzYV26SkpJj0k5ycjODgYIvGyYwDERHJgnQbQFnWR3FxMbKyssTX2dnZyMjIgIuLC1q3bg2gaqLl119/jUWLFtV4f1paGg4dOoS+ffvCyckJaWlpiI2NxdChQ8WgYPDgwZg9ezaioqIwZcoUnDx5EkuXLsWSJUvEfsaNG4fevXtj0aJFCA8Px/r163H48GGTJZvmYOBARERUhw4fPoy+ffuKr6vnK0RGRiIxMREAsH79egiCgEGDBtV4v0qlwvr16xEXF4eysjJ4e3sjNjbWZN6DRqPBjh07EB0djcDAQDRv3hwzZ84Ul2ICQI8ePbBu3TpMnz4d06ZNwyOPPILNmzejU6dOFt2PQhDq76bber0eGo0GV39tC7UTqy7UcPXzDrL2EIjqVKVQgd1lG1FUVCTpvAHg5u+KBT/3hEOT2n9fvlFcicmP7a+TsdYHzDgQEZEsGCUqVUixiVR9Ju+7JyIiIosw40BERLIg3WO15f2dm4EDERHJggEKGCTYAEqKPuozeYdNREREZBFmHIiISBZYqpAGAwciIpIFA6QpMxhqP5R6Td5hExEREVmEGQciIpIFliqkwcCBiIhkQaoHVNXVQ67qC3nfPREREVmEGQciIpIFAQoYJZgcKch8HwcGDkREJAssVUhD3ndPREREFmHGgYiIZMEoKGAUal9mkKKP+oyBAxERyYJBosdqS9FHfSbvuyciIiKLMONARESywFKFNBg4EBGRLBhhA6MEiXYp+qjP5H33REREZBFmHIiISBYMggIGCcoMUvRRnzFwICIiWeAcB2mwVEFERERmY8aBiIhkQZDosdqCzLecZuBARESyYIACBgkeUCVFH/WZvMMmIiIisggzDkREJAtGQZqJjUZBgsHUYwwciIhIFowSzXGQoo/6TN53T0RERBZhxoGIiGTBCAWMEkxslKKP+oyBAxERyQJ3jpQGSxVERERkNmYcGrD1n7jix23OyM1SQWlvhF/364h6/xI825fV2WcKAvDVQi22r2uGYr0t/LqX4J35uWjZtrxG2/IyBcaFd8C5Xxzw6Y5MtOt0o87GRQQAzdzKEfVeLrr3LoTKwYhL5+2xeLI3fjvRBAAwceE5PPPyHybvObxXg+nDfcTX7R8twcj3ctGhcwmMBuDAdhd89kFrlF63faD3Qpbj5EhpPBR3v2LFCrRp0wb29vYICgrCTz/9ZO0hNQjH05rg+eF/4OOk3xC//iwMlcC0Qe1Qev3+/2//50dafDS+9R2vb1zhiu9Wt8Db83OxNOlX2DsaMW1wO5SX1kztffGBB5ppK+57LESWaKKuxOJvfkFlhQLTR/hgzDOd8fm81iguMv3+9PMeDQY91kU85r/TTrzm4lqO+H+dwaXz9hj/kh+mD/eB1yM3MPGjcw/6dug+GKEQn1dRq4NzHKxrw4YNmDBhAhISEhAUFISPP/4YYWFhyMzMhKurq7WHV6/NW2f6j9nEj3Pwmr8/fjvuAP8nSgAAxUW2+HyOB9J+0KCiXIFHAq7j73G/o92jpRZ/niAAm1e1wKBxOvTopwcATF52Aa8FdELqdg36RBSKbX/e5YT0vU6YsSobP+9S3/9NEpnplbF5uJKnxOLJbcVz+RdVNdpVlCtw9Q/lbfsIeroQlZUKrJjpBeF/de5PprdBwvaTcPcqRd4F+7oZPNFDxOoZh8WLF2P06NEYMWIE/Pz8kJCQAEdHR6xevdraQ2twSvRVqVQnZ4N47oMxbVD4hx0+WHsWy7dnon2nG3jv1fbQX7U87arLUaLgciN061ksnmusNsK363WcTm8snrt6xQ4fT/LE5E8uQOUg851U6IF5IuQqfj3eGO+v+A3rfz6C5Ukn0e/1yzXadX7iGtb/fASrUo4jZu55ODnfzIo1UhpRWW4jBg0AUFZa9c9op+7X6v4mqFaE/62qqO0hyDzjYNXAoby8HOnp6QgJCRHP2djYICQkBGlpaTXal5WVQa/XmxxkHqMRSJjVEo8+Vow2vlXZhJOHGiMzwxHvf3YeHQJuoGXbcoyZdQmNNQYc2Ops8WcUXK5KYDm3MC0/OLeoEK8JAvDR+NYIf+NPdAjgnAZ6cNxbl+G5oZfxe7Y93o/0wda1rnhz1gWEDLgitjm8V4OPJrbFe0N98cV8T/gH6fFB4q+wsakKcI+lqtG0RQVeHpMHu0ZGNFFXYuSUXACAiyvLbg87ScoUEj2auz6zauDwxx9/wGAwwM3NzeS8m5sbdDpdjfbx8fHQaDTi4enp+aCGWu8tn9YKF844YOrKC+K5c784oLTEBq882gkvtvcXj/wcJS6dr0rVnjjU2OTa+k9csevbpibndn3b1OxxfPdFc9wotsFrb+dLfo9Ed6NQAFknGyPxI0+c/aUx/vtvV2xf74rwITezDnuTmuHgzqY4n+mItOSmmBXVAT4BJej8RNWXlAu/OeKjd70xYJQO3/1yGOt+Oor8XBUKrjSC0WitO6OH3b59+/D888/Dw8MDCoUCmzdvNrk+fPhwKBQKk6Nfv34mbQoKCjBkyBCo1Wo4OzsjKioKxcXFJm2OHz+Onj17wt7eHp6enliwYEGNsXz99dfw9fWFvb09/P39sW3bNovvx+pzHCwxdepUTJgwQXyt1+sZPJhh+bSWOJSsxqJNWWjhcfNb0Y0SG7i4VWDBN1k13tNEXVXO6ND5Oj5NzhTPf/dFC/yha4So9y+J55q2qAQAuLhW/W/hlUZo5lYpXi+80gjtHq3KLmT86ITT6Y3xXJsAk8+L6d8BfxtwFZOW5tT2doluq+BKI+RkOZicy8myx5P9Cu74Hl2uPQr/tIOHVxkyUqvO7fm+OfZ83xzOzStQet0GggC8FKWDLpfzGx521lpVUVJSgoCAAIwcORIDBgy4bZt+/fphzZo14muVynT+zZAhQ5CXl4fk5GRUVFRgxIgRGDNmDNatWweg6vdhaGgoQkJCkJCQgBMnTmDkyJFwdnbGmDFjAACpqakYNGgQ4uPj8dxzz2HdunWIiIjAkSNH0KlTJ7Pvx6qBQ/PmzWFra4v8fNNvn/n5+dBqtTXaq1SqGn+ZdGeCAKx4vyVSt2uw8JssaFubLols738dBZcbwdYO0HrWXC4JACoHAS29b15zcjbgerGtyblq2tblcHGtwNEDTcSllSXXbHDmqCOeG1a1xO2tuRcxfMrN+RN/6hph2uB2mJZwHr5dr9f6nonu5JfDTdCqrWl5rKV3KS7/fud/U5pry6FuWomCK41qXCv8o+pc6CtXUFFmgyP7Ocn3YSdVmaG6j7+Wy+/0O6p///7o37//XftUqVS3/b0HAKdPn8b27dvx888/o3v37gCATz75BM8++yw++ugjeHh4YO3atSgvL8fq1auhVCrx6KOPIiMjA4sXLxYDh6VLl6Jfv36YNGkSAGDu3LlITk7G8uXLkZCQYPb9W7VUoVQqERgYiJSUFPGc0WhESkoKgoODrTiyhmH5tFbY9a0L3ltxAQ5NjCi4bIeCy3You1H1Q9+tVzE6BpZg9ghvpO9xgi5XiVM/O2LNfC1+PeZwj95rUiiAiFFX8O+lbkj7QY3s0/ZY+I4XmrlVoEe/IgCAa6sKtPEtFY+W7ar2lPDwKjfJhhBJbdNqLXy7lOC1ty7B3asUfV74A88OuoIt/6xavWXvaMCoqTnw7VIMt5Zl6NKjCLM++xWXLqiQvk8j9vP8sHy0f7QELb1v4Pk38vHW7AtYs7AVSq7VqwQuScDT09OkfB4fH3/ffe3Zsweurq7w8fHBm2++iT///FO8lpaWBmdnZzFoAICQkBDY2Njg0KFDYptevXpBqby5Iqh6heLVq1fFNrfOKaxuc7s5hXdj9Z/0CRMmIDIyEt27d8fjjz+Ojz/+GCUlJRgxYoS1h1bvJX3ZHAAwaeAjJucnLslB6GsFUCiAD/51Donz3bFogieK/rRD0xaV8H+iGM7NK2/X5T29Gn0ZpddtsHSyJ4r1tnj0sRJ8uPYclPZcPUHW9evxJpgztj1GTLqIIe/8Dl2uCglzW2P3d1X/nRgNCnj7XkfIgD/QWG1AweVGSN+vwVeLW6Gi/OZ3LJ+AYrwx/iLsHY24eM4en7zfBimbmlvrtsgCUj+rIjc3F2r1zUzT/WbE+/XrhwEDBsDb2xtnz57FtGnT0L9/f6SlpcHW1hY6na7G9gR2dnZwcXER5wPqdDp4e3ubtKmeP6jT6dC0aVPodDqz5xTejdUDh9deew1XrlzBzJkzodPp0KVLF2zfvr3GzZHlfriUcc82jk2MeOuD3/HWB7+b1ecb7979B0yhACIn6xA52bwfRK1nuVnjJJLCT7ua4qddt5/MW15mg/cjfe/Zx0cT292zDT2cpC5VqNVqk8Dhfr3++uvin/39/dG5c2e0a9cOe/bswdNPP13r/qVm9X0cACAmJgYXLlxAWVkZDh06hKCgIGsPiYiIyCratm2L5s2bIyurauK6VqvF5cume45UVlaioKBAnBeh1WpvO1+w+trd2txpbsWdPBSBAxERUV2rL/s4XLx4EX/++Sfc3d0BAMHBwSgsLER6errYZteuXTAajeIX7eDgYOzbtw8VFTfniiUnJ8PHxwdNmzYV29w6p7C6jaVzChk4EBER1aHi4mJkZGQgIyMDAJCdnY2MjAzk5OSguLgYkyZNwsGDB3H+/HmkpKTgxRdfRPv27REWFgYA6NixI/r164fRo0fjp59+wo8//oiYmBi8/vrr8PDwAAAMHjwYSqUSUVFROHXqFDZs2IClS5eabGEwbtw4bN++HYsWLcKZM2cQFxeHw4cPIyYmxqL7YeBARESyYK2Mw+HDh9G1a1d07doVQNWigK5du2LmzJmwtbXF8ePH8cILL6BDhw6IiopCYGAg9u/fbzLZcu3atfD19cXTTz+NZ599Fk899RQ+++wz8bpGo8GOHTuQnZ2NwMBATJw4ETNnzhSXYgJAjx49sG7dOnz22WcICAjAN998g82bN1u0hwMAKARBqLfT3fV6PTQaDa7+2hZqJ8ZA1HD18+a8H2rYKoUK7C7biKKiIkkmHN6q+nfFM9v+jkaNb/8AM0tUlJQj+dl/1MlY6wP+tiUiIiKzWX05JhER0YMgAJLs41Bv0/QSYeBARESyIPU+DnLFUgURERGZjRkHIiKSBWYcpMHAgYiIZIGBgzRYqiAiIiKzMeNARESywIyDNBg4EBGRLAiCAoIEv/Sl6KM+Y6mCiIiIzMaMAxERyYIRCkk2gJKij/qMgQMREckC5zhIg6UKIiIiMhszDkREJAucHCkNBg5ERCQLLFVIg6UKIiIiMhszDkREJAssVUiDgQMREcmCIFGpQu6BA0sVREREZDZmHIiISBYEAIIgTT9yxsCBiIhkwQgFFNw5stZYqiAiIiKzMeNARESywFUV0mDgQEREsmAUFFBwA6haY6mCiIiIzMaMAxERyYIgSLSqQubLKhg4EBGRLHCOgzRYqiAiIiKzMeNARESywIyDNBg4EBGRLHBVhTRYqiAiIiKzMeNARESywFUV0mDgQEREslAVOEgxx0GCwdRjLFUQERGR2ZhxICIiWeCqCmkwcCAiIlkQ/ndI0Y+csVRBREREZmPgQEREslBdqpDisMS+ffvw/PPPw8PDAwqFAps3bxavVVRUYMqUKfD390fjxo3h4eGBYcOG4dKlSyZ9tGnTBgqFwuSYP3++SZvjx4+jZ8+esLe3h6enJxYsWFBjLF9//TV8fX1hb28Pf39/bNu2zaJ7ARg4EBGRXAgSHhYoKSlBQEAAVqxYUePa9evXceTIEcyYMQNHjhzBt99+i8zMTLzwwgs12s6ZMwd5eXni8fbbb4vX9Ho9QkND4eXlhfT0dCxcuBBxcXH47LPPxDapqakYNGgQoqKicPToUURERCAiIgInT5606H44x4GIiOg+6PV6k9cqlQoqlapGu/79+6N///637UOj0SA5Odnk3PLly/H4448jJycHrVu3Fs87OTlBq9Xetp+1a9eivLwcq1evhlKpxKOPPoqMjAwsXrwYY8aMAQAsXboU/fr1w6RJkwAAc+fORXJyMpYvX46EhASz75sZByIikgepyhT/K1V4enpCo9GIR3x8vCTDLCoqgkKhgLOzs8n5+fPno1mzZujatSsWLlyIyspK8VpaWhp69eoFpVIpngsLC0NmZiauXr0qtgkJCTHpMywsDGlpaRaNjxkHIiKSBal3jszNzYVarRbP3y7bYKnS0lJMmTIFgwYNMun7nXfeQbdu3eDi4oLU1FRMnToVeXl5WLx4MQBAp9PB29vbpC83NzfxWtOmTaHT6cRzt7bR6XQWjZGBAxER0X1Qq9Umv9xrq6KiAq+++ioEQcDKlStNrk2YMEH8c+fOnaFUKvH3v/8d8fHxkgQslmCpgoiIZMFaqyrMUR00XLhwAcnJyfcMSIKCglBZWYnz588DALRaLfLz803aVL+unhdxpzZ3mjdxJwwciIhIHqrnJ0hxSKg6aPjtt9+wc+dONGvW7J7vycjIgI2NDVxdXQEAwcHB2LdvHyoqKsQ2ycnJ8PHxQdOmTcU2KSkpJv0kJycjODjYovGyVEFERFSHiouLkZWVJb7Ozs5GRkYGXFxc4O7ujpdffhlHjhxBUlISDAaDOOfAxcUFSqUSaWlpOHToEPr27QsnJyekpaUhNjYWQ4cOFYOCwYMHY/bs2YiKisKUKVNw8uRJLF26FEuWLBE/d9y4cejduzcWLVqE8PBwrF+/HocPHzZZsmkOBg5ERCQL1nqs9uHDh9G3b1/xdfV8hcjISMTFxeH7778HAHTp0sXkfbt370afPn2gUqmwfv16xMXFoaysDN7e3oiNjTWZ96DRaLBjxw5ER0cjMDAQzZs3x8yZM8WlmADQo0cPrFu3DtOnT8e0adPwyCOPYPPmzejUqZNF98PAgYiI5MFKD6vo06cPhLtEG3e7BgDdunXDwYMH7/k5nTt3xv79++/a5pVXXsErr7xyz77uhnMciIiIyGzMOBARkSzwsdrSMCtwqK6/mON2+2sTERE9FOT+TGwJmBU4REREmNWZQqGAwWCozXiIiIjoIWZW4GA0Gut6HERERHWKpQpp1GpyZGlpqVTjICIiqltWeqx2Q2Nx4GAwGDB37ly0bNkSTZo0wblz5wAAM2bMwBdffCH5AImIiOjhYXHg8OGHHyIxMRELFiwweXxnp06dsGrVKkkHR0REJB2FhId8WRw4fPXVV/jss88wZMgQ2NraiucDAgJw5swZSQdHREQkGZYqJGFx4PD777+jffv2Nc4bjUaTh2sQERFRw2Nx4ODn53fbLS2/+eYbdO3aVZJBERERSY4ZB0lYvHPkzJkzERkZid9//x1GoxHffvstMjMz8dVXXyEpKakuxkhERFR7Uj0Sm8sxLfPiiy9iy5Yt2LlzJxo3boyZM2fi9OnT2LJlC5555pm6GCMRERE9JO7rWRU9e/ZEcnKy1GMhIiKqM9Z6rHZDc98PuTp8+DBOnz4NoGreQ2BgoGSDIiIikpyVHqvd0FgcOFy8eBGDBg3Cjz/+CGdnZwBAYWEhevTogfXr16NVq1ZSj5GIiIgeEhbPcRg1ahQqKipw+vRpFBQUoKCgAKdPn4bRaMSoUaPqYoxERES1Vz05UopDxizOOOzduxepqanw8fERz/n4+OCTTz5Bz549JR0cERGRVBRC1SFFP3JmccbB09Pzths9GQwGeHh4SDIoIiIiejhZHDgsXLgQb7/9Ng4fPiyeO3z4MMaNG4ePPvpI0sERERFJhhtAScKsUkXTpk2hUNys6ZSUlCAoKAh2dlVvr6yshJ2dHUaOHImIiIg6GSgREVGtcAMoSZgVOHz88cd1PAwiIiKqD8wKHCIjI+t6HERERHWL+zhI4r43gAKA0tJSlJeXm5xTq9W1GhAREVGdYOAgCYsnR5aUlCAmJgaurq5o3LgxmjZtanIQERFRw2Vx4DB58mTs2rULK1euhEqlwqpVqzB79mx4eHjgq6++qosxEhER1R5XVUjC4lLFli1b8NVXX6FPnz4YMWIEevbsifbt28PLywtr167FkCFD6mKcREREtcNVFZKwOONQUFCAtm3bAqiaz1BQUAAAeOqpp7Bv3z5pR0dEREQPFYsDh7Zt2yI7OxsA4Ovri40bNwKoykRUP/SKiIjoYVO95bQUh5xZHDiMGDECx44dAwC89957WLFiBezt7REbG4tJkyZJPkAiIiJJcI6DJCye4xAbGyv+OSQkBGfOnEF6ejrat2+Pzp07Szo4IiIierjUah8HAPDy8oKXl5cUYyEiIqKHnFmBw7Jly8zu8J133rnvwRAREdUVBSR6rHbtu6jXzAoclixZYlZnCoXCKoHDSx38Yado9MA/l+hBuRERYO0hENWpyopSIGmjtYdBZjArcKheRUFERFRvcR8HSdR6jgMREVG9wGdVSMLi5ZhERERkvn379uH555+Hh4cHFAoFNm/ebHJdEATMnDkT7u7ucHBwQEhICH777TeTNgUFBRgyZAjUajWcnZ0RFRWF4uJikzbHjx9Hz549YW9vD09PTyxYsKDGWL7++mv4+vrC3t4e/v7+2LZtm8X3w8CBiIjkwUr7OJSUlCAgIAArVqy47fUFCxZg2bJlSEhIwKFDh9C4cWOEhYWhtLRUbDNkyBCcOnUKycnJSEpKwr59+zBmzBjxul6vR2hoKLy8vJCeno6FCxciLi4On332mdgmNTUVgwYNQlRUFI4ePYqIiAhERETg5MmTFt2PQhCEept00ev10Gg06IMXOTmSGrQbEY9bewhEdaqyohSHkmaiqKgIarVa0r6rf1e0+fBD2Njb17o/Y2kpzr///n2NVaFQYNOmTYiIiABQlW3w8PDAxIkT8e677wIAioqK4ObmhsTERLz++us4ffo0/Pz88PPPP6N79+4AgO3bt+PZZ5/FxYsX4eHhgZUrV+L999+HTqeDUqkEULVJ4+bNm3HmzBkAwGuvvYaSkhIkJSWJ43niiSfQpUsXJCQkmH0PzDgQERHdB71eb3KUlZVZ3Ed2djZ0Oh1CQkLEcxqNBkFBQUhLSwMApKWlwdnZWQwagKoNGG1sbHDo0CGxTa9evcSgAQDCwsKQmZmJq1evim1u/ZzqNtWfY677Chz279+PoUOHIjg4GL///jsA4J///CcOHDhwP90RERHVPYlLFZ6entBoNOIRHx9v8ZB0Oh0AwM3NzeS8m5ubeE2n08HV1dXkup2dHVxcXEza3K6PWz/jTm2qr5vL4sDhP//5D8LCwuDg4ICjR4+KEVZRURHmzZtnaXdEREQPhsSBQ25uLoqKisRj6tSpD/JurMbiwOGDDz5AQkICPv/8czRqdHNewZNPPokjR45IOjgiIqKHlVqtNjlUKpXFfWi1WgBAfn6+yfn8/HzxmlarxeXLl02uV1ZWoqCgwKTN7fq49TPu1Kb6urksDhwyMzPRq1evGuc1Gg0KCwst7Y6IiOiBeBgfq+3t7Q2tVouUlBTxnF6vx6FDhxAcHAwACA4ORmFhIdLT08U2u3btgtFoRFBQkNhm3759qKioENskJyfDx8cHTZs2Fdvc+jnVbao/x1wWBw5arRZZWVk1zh84cABt27a1tDsiIqIHo3rnSCkOCxQXFyMjIwMZGRkAqiZEZmRkICcnBwqFAuPHj8cHH3yA77//HidOnMCwYcPg4eEhrrzo2LEj+vXrh9GjR+Onn37Cjz/+iJiYGLz++uvw8PAAAAwePBhKpRJRUVE4deoUNmzYgKVLl2LChAniOMaNG4ft27dj0aJFOHPmDOLi4nD48GHExMRYdD8W7xw5evRojBs3DqtXr4ZCocClS5eQlpaGd999FzNmzLC0OyIiogbt8OHD6Nu3r/i6+pd5ZGQkEhMTMXnyZJSUlGDMmDEoLCzEU089he3bt8P+lqWja9euRUxMDJ5++mnY2Nhg4MCBJg+g1Gg02LFjB6KjoxEYGIjmzZtj5syZJns99OjRA+vWrcP06dMxbdo0PPLII9i8eTM6depk0f1YvI+DIAiYN28e4uPjcf36dQCASqXCu+++i7lz51r04bXFfRxILriPAzV0D2IfB++4eZLt45AdN61OxlofWJxxUCgUeP/99zFp0iRkZWWhuLgYfn5+aNKkSV2Mj4iISBJSzU+Qco5DfXTfD7lSKpXw8/OTcixERET0kLM4cOjbty8UijtPDNm1a1etBkRERFQn+HRMSVgcOHTp0sXkdUVFBTIyMnDy5ElERkZKNS4iIiJpSbWUkoGDZZYsWXLb83FxcTUe8UlEREQNi2QPuRo6dChWr14tVXdERETSstJjtRua+54c+VdpaWkma06JiIgeKpzjIAmLA4cBAwaYvBYEAXl5eTh8+DA3gCIiImrgLA4cNBqNyWsbGxv4+Phgzpw5CA0NlWxgREREUuI+DtKwKHAwGAwYMWIE/P39xYdmEBERkXxYNDnS1tYWoaGhfAomERGRTFm8qqJTp044d+5cXYyFiIio7nBVhSQsDhw++OADvPvuu0hKSkJeXh70er3JQURE9DCqnuMgxSFnZs9xmDNnDiZOnIhnn30WAPDCCy+YbD0tCAIUCgUMBoP0oyQiIqKHgtmBw+zZszF27Fjs3r27LsdDRERUd2SeLZCC2YGDIFT9bffu3bvOBkNERFRnuAGUJCya43C3p2ISERFRw2fRPg4dOnS4Z/BQUFBQqwERERHVBW4AJQ2LAofZs2fX2DmSiIioXmCpQhIWBQ6vv/46XF1d62osRERE9JAzO3Dg/AYiIqrPWKqQhsWrKoiIiOolliokYXbgYDQa63IcREREVA9Y/FhtIiKieokZB0kwcCAiIlngHAdpWPyQKyIiIpIvZhyIiEgeWKqQBAMHIiKSBwYOkmCpgoiIiMzGjAMREckCJ0dKg4EDERHJA0sVkmCpgoiIiMzGjAMREckCSxXSYOBARETywFKFJFiqICIiIrMx40BERPLAjIMkGDgQEZEsKP53SNGPnLFUQUREVIfatGkDhUJR44iOjgYA9OnTp8a1sWPHmvSRk5OD8PBwODo6wtXVFZMmTUJlZaVJmz179qBbt25QqVRo3749EhMT6+R+mHEgIiJ5sFKp4ueff4bBYBBfnzx5Es888wxeeeUV8dzo0aMxZ84c8bWjo6P4Z4PBgPDwcGi1WqSmpiIvLw/Dhg1Do0aNMG/ePABAdnY2wsPDMXbsWKxduxYpKSkYNWoU3N3dERYWdp83ensMHIiISBastRyzRYsWJq/nz5+Pdu3aoXfv3uI5R0dHaLXa275/x44d+OWXX7Bz5064ubmhS5cumDt3LqZMmYK4uDgolUokJCTA29sbixYtAgB07NgRBw4cwJIlSyQPHFiqICIiug96vd7kKCsru+d7ysvL8a9//QsjR46EQnFztsTatWvRvHlzdOrUCVOnTsX169fFa2lpafD394ebm5t4LiwsDHq9HqdOnRLbhISEmHxWWFgY0tLSanubNTDjQERE8iBxqcLT09Pk9KxZsxAXF3fXt27evBmFhYUYPny4eG7w4MHw8vKCh4cHjh8/jilTpiAzMxPffvstAECn05kEDQDE1zqd7q5t9Ho9bty4AQcHB0vv8o4YOBARkXxIuJQyNzcXarVafK1Sqe75ni+++AL9+/eHh4eHeG7MmDHin/39/eHu7o6nn34aZ8+eRbt27aQbsERYqiAiIroParXa5LhX4HDhwgXs3LkTo0aNumu7oKAgAEBWVhYAQKvVIj8/36RN9evqeRF3aqNWqyXNNgAMHIiISCaqJ0dKcdyPNWvWwNXVFeHh4Xdtl5GRAQBwd3cHAAQHB+PEiRO4fPmy2CY5ORlqtRp+fn5im5SUFJN+kpOTERwcfH+DvQsGDkREJA+ChIeFjEYj1qxZg8jISNjZ3ZwlcPbsWcydOxfp6ek4f/48vv/+ewwbNgy9evVC586dAQChoaHw8/PDG2+8gWPHjuGHH37A9OnTER0dLWY5xo4di3PnzmHy5Mk4c+YMPv30U2zcuBGxsbH38Rd1dwwciIiI6tjOnTuRk5ODkSNHmpxXKpXYuXMnQkND4evri4kTJ2LgwIHYsmWL2MbW1hZJSUmwtbVFcHAwhg4dimHDhpns++Dt7Y2tW7ciOTkZAQEBWLRoEVatWiX5UkyAkyOJiEgmrPlY7dDQUAhCzTd6enpi796993y/l5cXtm3bdtc2ffr0wdGjRy0fnIUYOBARkTzwIVeSYKmCiIiIzMaMAxERyYI1SxUNCQMHIiKSB5YqJMFSBREREZmNGQciIpIHZhwkwcCBiIhkgXMcpMFSBREREZmNGQciIpIHliokwcCBiIhkQSEIUNxm98b76UfOWKogIiIiszHjQERE8sBShSQYOBARkSxwVYU0WKogIiIiszHjQERE8sBShSQYOBARkSywVCENliqIiIjIbMw4EBGRPLBUIQkGDkREJAssVUiDpQoiIiIyGzMOREQkDyxVSIKBAxERyYbcywxSYKmCiIiIzMaMAxERyYMgVB1S9CNjDByIiEgWuKpCGixVEBERkdmYcSAiInngqgpJMHAgvBaTjyefLYJn+zKUl9rgl8OO+OJDd1w8ay+2WfBNFgJ6lJi8b+tXzbDsvVYm5555tQADxlxBq7ZluF5si31JGqyYZtqG6EEYEZ6OEeFHTM5d0GnwxpxX4eRYipHPpeOxjr/DrWkxCovtsf9YG3yxpTtKSpUAgH5P/Ippw/betu8XJg9FYbEDujxyCctit9a4HvHeEBToHaW/KaoVhbHqkKIfObNq4LBv3z4sXLgQ6enpyMvLw6ZNmxAREWHNIclS5+ASbElsjl8zHGFrJ2D4e3mY9+9zGN3bB2U3bMV22/7lgq8WasXXZTdMK10DxlzBwL9fxqoPPHDmiCPsHY1w8yx/YPdB9FfnLjXFhGXPiq8Nhqqf2eaa62iuuY5Pvw3C+bym0Lpcw8RBB9Bccx0zV4UAAHalt8VPv5gGvVPf2AtlIwMKix1Mzg+OewXX/xdwAMDVa6bXiRoSqwYOJSUlCAgIwMiRIzFgwABrDkXW3h/S1uT1ovGtsfHkKTzS+QZOHmoini+7YYOrVxrdto8mmkpETsnDrEhvZBxwEs9nn+Y/oGQ9BoPitt/8s/NcMOPzZ8TXl/5Q4/PvH8P04btha2OEwWiD8go7FFTc/CdS0+QGuvlcwv/9q1eN/gqvOaD4hqpuboKkw1KFJKwaOPTv3x/9+/e35hDoNhqrDQCAa4W2Juf7DriKvw28iquXG+FgshrrPnYTsw7dehXDRgE011bg871n4NDYiNOHHfHZHA9cuaSs8RlED0IrVz2+nbcW5ZW2OHXOFf/47nFcvtrktm0bO5TjeqkSBuPt54z3C/oNpeV22HPUu8a1L6Z9C6WdAecuuWDN1m44eU57mx7I2riqQhr1ao5DWVkZysrKxNd6vd6Ko2mYFAoBY2f/jpM/OeJC5s1swe5NTXH5YiP8md8I3h1LEfV+Hlq1K8PcUW0AAFqvMihsgNffuYyVMzxQcs0Ww6foEL/+HMY+3QGVFVzAQw/WL9muiP+qN3Iua9BMfR0jwo9g+YQtiPxgIG6UmQazmsaliOx/FN//6HvH/sJ7ZGLn4XYovyUL8WeRIz5a9xTOXGgOZSMjwnucwbLYJIxdEIFfc5vX2b0RWVO9Chzi4+Mxe/Zsaw+jQYuZ9zu8fEsxMaK9yfn/rm0m/vn8GQcUXLbDgq/Pwd2rDHkXVLBRAI2UAj6d0RJH9laVKuLf9MK/j51CQI9ipO9VP9D7IDr0i6f453O/N8Pp867Y+MG/8bfAc9iaejNAcLQvx/+9tR3ndc5YkxR4274e9c5HG/dCfJDYx+R87mVn5F52Fl+fPOeGli30eOVvJ/Dhl30lvR+SADeAkkS9+ho4depUFBUViUdubq61h9SgRH94EUHP6DH55Xb4I+/u5YUzR6rqxh5tqjJABZer5j7k/HqzzltUYAd9gR1cW1bU0YiJzFd8Q4Xcyxq0bHEzU+mgKsdHMf/F9bJGmP6PZ+5YpnjuyTP4NbcZfs1tcc/POX3e1eQz6OFRXaqQ4pCzehU4qFQqqNVqk4OkICD6w4vo0a8Ik19ph/zce0/yatepFMDNgOHUz40BAK3a3SwlOTlXQu1SifzfOceBrM9BVYGWza/hz6KqoNfRvhyL3v4vKiptMXVlGMorb5+AdVBVoG+3bGxL9THrc9q3+pNLMalBq1elCqobMfN+R9+XriJuhDduFNugaYuqDEHJNVuUl9rA3asMfV8qxE8pTrh21Q7efjfw97hLOJ7WWFw18fs5FVK3q/HmnEtYOrkVSq7ZYOQ0HS5mqXDsx9tPRiOqS28NOIgfT3gh/88maO58HSPC02E0KrDzcDsxaLBXVuKDxL5o7FCOxg5VS4cLr9nDKNz8TvW3wLOwtTFix0/ta3zGK31PIO9PJ2TnNYXSzoDnnsxEN59LmPgJJ30/lLiqQhJWDRyKi4uRlZUlvs7OzkZGRgZcXFzQunVrK45MXp4f/icA4KNvz5qc/2i8J5I3uqCyQoGuPa/hpVFXYO9oxJVLjXBgmwb//tjNpP3Cd1rj77MvYc5X2RCMwPGDTfD+kLYwVCoe2L0QVWvhXIJZI3ZB3bgUhcUOOHHWDWMXvoii/23c9Kj3ZQDA+jkbTN736vTXoSu4uaQ4vEcm9mW0ue1ySzs7I94acAgtnEtQWm6Hs5dcMGHZszj6q0fd3hzdF66qkIZCEKw3y2PPnj3o27fmBKLIyEgkJibe8/16vR4ajQZ98CLsFLffX4CoIbgR8bi1h0BUpyorSnEoaSaKiookL0NX/654Inwu7BrZ3/sN91BZUYqDW2eYNda4uLgak/p9fHxw5swZAEBpaSkmTpyI9evXo6ysDGFhYfj000/h5nbzi1lOTg7efPNN7N69G02aNEFkZCTi4+NhZ3fzu/+ePXswYcIEnDp1Cp6enpg+fTqGDx9e63u9HatmHPr06QMrxi1ERCQnVlpV8eijj2Lnzp3i61t/4cfGxmLr1q34+uuvodFoEBMTgwEDBuDHH38EABgMBoSHh0Or1SI1NRV5eXkYNmwYGjVqhHnz5gGoytaHh4dj7NixWLt2LVJSUjBq1Ci4u7sjLCys9vf7F5zjQEREsmCtUoWdnR202pqbghUVFeGLL77AunXr8Le//Q0AsGbNGnTs2BEHDx7EE088gR07duCXX37Bzp074ebmhi5dumDu3LmYMmUK4uLioFQqkZCQAG9vbyxatAgA0LFjRxw4cABLliypk8ChXq2qICIieljo9XqT49YNCm/122+/wcPDA23btsWQIUOQk5MDAEhPT0dFRQVCQkLEtr6+vmjdujXS0tIAAGlpafD39zcpXYSFhUGv1+PUqVNim1v7qG5T3YfUGDgQEZE8CBIeADw9PaHRaMQjPj6+xkcGBQUhMTER27dvx8qVK5GdnY2ePXvi2rVr0Ol0UCqVcHZ2NnmPm5sbdDodAECn05kEDdXXq6/drY1er8eNGzcs/3u6B5YqiIhIFqQuVeTm5ppMjlSpaq68ufV5TJ07d0ZQUBC8vLywceNGODjUz4cAMuNARER0H/66IeHtAoe/cnZ2RocOHZCVlQWtVovy8nIUFhaatMnPzxfnRGi1WuTn59e4Xn3tbm3UanWdBCcMHIiISB6MgnTHfSouLsbZs2fh7u6OwMBANGrUCCkpKeL1zMxM5OTkIDg4GAAQHByMEydO4PLly2Kb5ORkqNVq+Pn5iW1u7aO6TXUfUmPgQERE8iDxHAdzvPvuu9i7dy/Onz+P1NRUvPTSS7C1tcWgQYOg0WgQFRWFCRMmYPfu3UhPT8eIESMQHByMJ554AgAQGhoKPz8/vPHGGzh27Bh++OEHTJ8+HdHR0WKGY+zYsTh37hwmT56MM2fO4NNPP8XGjRsRGxtb+7+z2+AcByIiojpy8eJFDBo0CH/++SdatGiBp556CgcPHkSLFlUPTFuyZAlsbGwwcOBAkw2gqtna2iIpKQlvvvkmgoOD0bhxY0RGRmLOnDliG29vb2zduhWxsbFYunQpWrVqhVWrVtXJUkzAyjtH1hZ3jiS54M6R1NA9iJ0jnwyZDTs7CXaOrCzFjztn1clY6wOWKoiIiMhsLFUQEZE8WGnL6YaGgQMREckCn44pDZYqiIiIyGzMOBARkTxYuJTyrv3IGAMHIiKSBYUgQCHB/AQp+qjPWKogIiIiszHjQERE8mD83yFFPzLGwIGIiGSBpQppsFRBREREZmPGgYiI5IGrKiTBwIGIiOSBO0dKgqUKIiIiMhszDkREJAvccloaDByIiEgeWKqQBEsVREREZDZmHIiISBYUxqpDin7kjIEDERHJA0sVkmCpgoiIiMzGjAMREckDN4CSBAMHIiKSBT6rQhosVRAREZHZmHEgIiJ54ORISTBwICIieRAASLGUUt5xA0sVREREZD5mHIiISBY4OVIaDByIiEgeBEg0x6H2XdRnLFUQERGR2ZhxICIieeCqCkkwcCAiInkwAlBI1I+MsVRBREREZmPGgYiIZIGrKqTBwIGIiOSBcxwkwVIFERERmY0ZByIikgdmHCTBwIGIiOSBgYMkWKogIiIiszFwICIieTBKeJgpPj4ejz32GJycnODq6oqIiAhkZmaatOnTpw8UCoXJMXbsWJM2OTk5CA8Ph6OjI1xdXTFp0iRUVlaatNmzZw+6desGlUqF9u3bIzEx0fyBWoCBAxERyUL1ckwpDnPt3bsX0dHROHjwIJKTk1FRUYHQ0FCUlJSYtBs9ejTy8vLEY8GCBeI1g8GA8PBwlJeXIzU1FV9++SUSExMxc+ZMsU12djbCw8PRt29fZGRkYPz48Rg1ahR++OGH2v/F/QXnOBAREd0HvV5v8lqlUkGlUpmc2759u8nrxMREuLq6Ij09Hb169RLPOzo6QqvV3vZzduzYgV9++QU7d+6Em5sbunTpgrlz52LKlCmIi4uDUqlEQkICvL29sWjRIgBAx44dceDAASxZsgRhYWFS3K6IGQciIpKH6smRUhwAPD09odFoxCM+Pv6eQygqKgIAuLi4mJxfu3Ytmjdvjk6dOmHq1Km4fv26eC0tLQ3+/v5wc3MTz4WFhUGv1+PUqVNim5CQEJM+w8LCkJaWdn9/V3fBjAMREcmDUQAUEqyIMFb1kZubC7VaLZ7+a7ahxtuMRowfPx5PPvkkOnXqJJ4fPHgwvLy84OHhgePHj2PKlCnIzMzEt99+CwDQ6XQmQQMA8bVOp7trG71ejxs3bsDBweE+b7YmBg5ERET3Qa1WmwQO9xIdHY2TJ0/iwIEDJufHjBkj/tnf3x/u7u54+umncfbsWbRr106y8UqFpQoiIpIHiUsVloiJiUFSUhJ2796NVq1a3bVtUFAQACArKwsAoNVqkZ+fb9Km+nX1vIg7tVGr1ZJmGwAGDkREJBtSBQ3mBw6CICAmJgabNm3Crl274O3tfc/3ZGRkAADc3d0BAMHBwThx4gQuX74stklOToZarYafn5/YJiUlxaSf5ORkBAcHmz1WczFwICIiqiPR0dH417/+hXXr1sHJyQk6nQ46nQ43btwAAJw9exZz585Feno6zp8/j++//x7Dhg1Dr1690LlzZwBAaGgo/Pz88MYbb+DYsWP44YcfMH36dERHR4vzKsaOHYtz585h8uTJOHPmDD799FNs3LgRsbGxkt8TAwciIpIHK5QqVq5ciaKiIvTp0wfu7u7isWHDBgCAUqnEzp07ERoaCl9fX0ycOBEDBw7Eli1bxD5sbW2RlJQEW1tbBAcHY+jQoRg2bBjmzJkjtvH29sbWrVuRnJyMgIAALFq0CKtWrZJ8KSbAyZFERCQXRsvKDHfvxzzCPYIMT09P7N279579eHl5Ydu2bXdt06dPHxw9etTssd0vZhyIiIjIbMw4EBGRPAjGqkOKfmSMgQMREckDH6stCZYqiIiIyGzMOBARkTxYYXJkQ8TAgYiI5IGlCkmwVEFERERmY8aBiIjkQYBEGYfad1GfMXAgIiJ5YKlCEixVEBERkdmYcSAiInkwGgFIsHmTkRtAERERNXwsVUiCpQoiIiIyGzMOREQkD8w4SIKBAxERyQN3jpQESxVERERkNmYciIhIFgTBCEGCR2JL0Ud9xsCBiIjkQRCkKTPIfI4DSxVERERkNmYciIhIHgSJJkfKPOPAwIGIiOTBaAQUEsxPkPkcB5YqiIiIyGzMOBARkTywVCEJBg5ERCQLgtEIQYJShdyXY7JUQURERGZjxoGIiOSBpQpJMHAgIiJ5MAqAgoFDbbFUQURERGar1xkH4X9RXyUqJMk+ET2sKitKrT0EojpV/TMu1OW3eUEAIMU+DvL+hVOvA4dr164BAA5gm5VHQlTHkr6z9giIHohr165Bo9HUSd+CUYAgQamiToObeqBeBw4eHh7Izc2Fk5MTFAqFtYcjC3q9Hp6ensjNzYVarbb2cIjqBH/OHzxBEHDt2jV4eHhYeyh0D/U6cLCxsUGrVq2sPQxZUqvV/AeVGjz+nD9YdZVpEAlGSFOqkPc+DvU6cCAiIjIXSxXS4KoKIiIiMhszDmQRlUqFWbNmQaVSWXsoRHWGP+cNU6VQJkmZoRIVEoym/lIIcs+5EBFRg1ZaWgpvb2/odDrJ+tRqtcjOzoa9vb1kfdYXDByIiKjBKy0tRXl5uWT9KZVKWQYNAAMHIiIisgAnRxIREZHZGDgQERGR2Rg4kEVWrFiBNm3awN7eHkFBQfjpp5+sPSQiyezbtw/PP/88PDw8oFAosHnzZmsPieihw8CBzLZhwwZMmDABs2bNwpEjRxAQEICwsDBcvnzZ2kMjkkRJSQkCAgKwYsUKaw+F6KHFyZFktqCgIDz22GNYvnw5AMBoNMLT0xNvv/023nvvPSuPjkhaCoUCmzZtQkREhLWHQvRQYcaBzFJeXo709HSEhISI52xsbBASEoK0tDQrjoyIiB4kBg5klj/++AMGgwFubm4m593c3CTdVIWIiB5uDByIiIjIbAwcyCzNmzeHra0t8vPzTc7n5+dDq9VaaVRERPSgMXAgsyiVSgQGBiIlJUU8ZzQakZKSguDgYCuOjIiIHiQ+HZPMNmHCBERGRqJ79+54/PHH8fHHH6OkpAQjRoyw9tCIJFFcXIysrCzxdXZ2NjIyMuDi4oLWrVtbcWREDw8uxySLLF++HAsXLoROp0OXLl2wbNkyBAUFWXtYRJLYs2cP+vbtW+N8ZGQkEhMTH/yAiB5CDByIiIjIbJzjQERERGZj4EBERERmY+BAREREZmPgQERERGZj4EBERERmY+BAREREZmPgQERERGZj4EBERERmY+BAJIHhw4cjIiJCfN2nTx+MHz/+gY9jz549UCgUKCwsvGMbhUKBzZs3m91nXFwcunTpUqtxnT9/HgqFAhkZGbXqh4isj4EDNVjDhw+HQqGAQqGAUqlE+/btMWfOHFRWVtb5Z3/77beYO3euWW3N+WVPRPSw4EOuqEHr168f1qxZg7KyMmzbtg3R0dFo1KgRpk6dWqNteXk5lEqlJJ/r4uIiST9ERA8bZhyoQVOpVNBqtfDy8sKbb76JkJAQfP/99wBulhc+/PBDeHh4wMfHBwCQm5uLV199Fc7OznBxccGLL76I8+fPi30aDAZMmDABzs7OaNasGSZPnoy/PvLlr6WKsrIyTJkyBZ6enlCpVGjfvj2++OILnD9/XnyoUtOmTaFQKDB8+HAAVY8tj4+Ph7e3NxwcHBAQEIBvvvnG5HO2bduGDh06wMHBAX379jUZp7mmTJmCDh06wNHREW3btsWMGTNQUVFRo90//vEPeHp6wtHREa+++iqKiopMrq9atQodO3aEvb09fH198emnn1o8FiJ6+DFwIFlxcHBAeXm5+DolJQWZmZlITk5GUlISKioqEBYWBicnJ+zfvx8//vgjmjRpgn79+onvW7RoERITE7F69WocOHAABQUF2LRp010/d9iwYfj3v/+NZcuW4fTp0/jHP/6BJk2awNPTE//5z38AAJmZmcjLy8PSpUsBAPHx8fjqq6+QkJCAU6dOITY2FkOHDsXevXsBVAU4AwYMwPPPP4+MjAyMGjUK7733nsV/J05OTkhMTMQvv/yCpUuX4vPPP8eSJUtM2mRlZWHjxo3YsmULtm/fjqNHj+Ktt94Sr69duxYzZ87Ehx9+iNOnT2PevHmYMWMGvvzyS4vHQ0QPOYGogYqMjBRefPFFQRAEwWg0CsnJyYJKpRLeffdd8bqbm5tQVlYmvuef//yn4OPjIxiNRvFcWVmZ4ODgIPzwww+CIAiCu7u7sGDBAvF6RUWF0KpVK/GzBEEQevfuLYwbN04QBEHIzMwUAAjJycm3Hefu3bsFAMLVq1fFc6WlpYKjo6OQmppq0jYqKkoYNGiQIAiCMHXqVMHPz8/k+pQpU2r09VcAhE2bNt3x+sKFC4XAwEDx9axZswRbW1vh4sWL4rn//ve/go2NjZCXlycIgiC0a9dOWLdunUk/c+fOFYKDgwVBEITs7GwBgHD06NE7fi4R1Q+c40ANWlJSEpo0aYKKigoYjUYMHjwYcXFx4nV/f3+TeQ3Hjh1DVlYWnJycTPopLS3F2bNnUVRUhLy8PAQFBYnX7Ozs0L179xrlimoZGRmwtbVF7969zR53VlYWrl+/jmeeecbkfHl5Obp27QoAOH36tMk4ACA4ONjsz6i2YcMGLFu2DGfPnkVxcTEqKyuhVqtN2rRu3RotW7Y0+Ryj0YjMzEw4OTnh7NmziIqKwujRo8U2lZWV0Gg0Fo+HiB5uDByoQevbty9WrlwJpVIJDw8P2NmZ/sg3btzY5HVxcTECAwOxdu3aGn21aNHivsbg4OBg8XuKi4sBAFu3bjX5hQ1UzduQSlpaGoYMGYLZs2cjLCwMGo0G69evx6JFiywe6+eff14jkLG1tZVsrET0cGDgQA1a48aN0b59e7Pbd+vWDRs2bICrq2uNb93V3N3dcejQIfTq1QtA1Tfr9PR0dOvW7bbt/f39YTQasXfvXoSEhNS4Xp3xMBgM4jk/Pz+oVCrk5OTcMVPRsWNHcaJntYMHD977Jm+RmpoKLy8vvP/+++K5Cxcu1GiXk5ODS5cuwcPDQ/wcGxsb+Pj4wM3NDR4eHjh37hyGDBli0ecTUf3DyZFEtxgyZAiaN2+OF198Efv370d2djb27NmDd955BxcvXgQAjBs3DvPnz8fmzZtx5swZvPXWW3fdg6FNmzaIjIzEyJEjsXnzZrHPjRs3AgC8vLygUCiQlJSEK1euoLi4GE5OTnj33XcRGxuLL7/8EmfPnsWRI0fwySefiBMOx44di99++w2TJk1CZmYm1q1bh8TERIvu95FHHkFOTg7Wr1+Ps2fPYtmyZbed6Glvb4/IyEgcO3YM+/fvxzvvvINXX30VWq0WADB79mzEx8dj2bJl+PXXX3HixAmsWbMGixcvtmg8RPTwY+BAdAtHR0fs27cPrVu3xoABA9CxY0dERUWhtLRUzEBMnDgRb7zxBiIjIxEcHAwnJye89NJLd+135cqVePnll/HWW2/B19cXo0ePRklJCQCgZcuWmD17Nt577z24ubkhJiYGADB37lzMmDED8fHx6NixI/r164etW7fC29sbQNW8g//85z/YvHkzAgICkJCQgHnz5ll0vy+88AJiY2MRExODLl26IDU1FTNmzKjRrn379hgwYACeffZZhIaGonPnzibLLUeNGoVVq1ZhzZo18Pf3R+/evZGYmCiOlYgaDoVwpxldRERERH/BjAMRERGZjYEDERERmY2BAxEREZmNgQMRERGZjYEDERERmY2BAxEREZmNgQMRERGZjYEDERERmY2BAxEREZmNgQMRERGZjYEDERERme3/AUgLMjKEqDW6AAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Fix target labels\n",
        "y = df[TARGET].astype(int) - 1\n"
      ],
      "metadata": {
        "id": "Nt6e_lycXHId"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Define target and features\n",
        "TARGET = \"casualty_severity\"\n",
        "X = df.drop(columns=[TARGET])\n",
        "y = df[TARGET].astype(int) - 1   # ✅ shift classes to [0,1,2]\n"
      ],
      "metadata": {
        "id": "qolFjxmLD1Hj"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "import shap\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score\n",
        "from sklearn.ensemble import RandomForestClassifier\n",
        "from lightgbm import LGBMClassifier\n",
        "from xgboost import XGBClassifier\n",
        "\n",
        "# ---------------- Load and preprocess dataset ----------------\n",
        "CSV_PATH =\"/content/drive/MyDrive/road_accident_master_cleaned.csv\"\n",
        "df = pd.read_csv(CSV_PATH, low_memory=False)\n",
        "\n",
        "# Drop ID columns\n",
        "id_cols = [\"accident_index\", \"accident_reference\", \"vehicle_reference\", \"casualty_reference\"]\n",
        "df = df.drop(columns=[c for c in id_cols if c in df.columns], errors=\"ignore\")\n",
        "\n",
        "# Define target and features\n",
        "TARGET = \"casualty_severity\"\n",
        "X = df.drop(columns=[TARGET])\n",
        "y = df[TARGET].astype(int) - 1   # shift [1,2,3] → [0,1,2]\n",
        "\n",
        "# Encode categorical columns\n",
        "for col in X.select_dtypes(include=[\"object\"]).columns:\n",
        "    X[col] = X[col].astype(\"category\").cat.codes\n",
        "\n",
        "# Train/test split\n",
        "X_train, X_test, y_train, y_test = train_test_split(\n",
        "    X, y, test_size=0.2, stratify=y, random_state=42\n",
        ")\n",
        "\n",
        "# ---------------- Train Models ----------------\n",
        "# Random Forest\n",
        "rf = RandomForestClassifier(\n",
        "    n_estimators=300,\n",
        "    max_depth=12,\n",
        "    class_weight=\"balanced\",\n",
        "    random_state=42,\n",
        "    n_jobs=-1\n",
        ")\n",
        "rf.fit(X_train, y_train)\n",
        "\n",
        "# LightGBM\n",
        "lgb = LGBMClassifier(\n",
        "    n_estimators=500,\n",
        "    max_depth=-1,\n",
        "    learning_rate=0.05,\n",
        "    class_weight=\"balanced\",\n",
        "    random_state=42,\n",
        "    n_jobs=-1\n",
        ")\n",
        "lgb.fit(X_train, y_train)\n",
        "\n",
        "# XGBoost\n",
        "xgb = XGBClassifier(\n",
        "    n_estimators=500,\n",
        "    max_depth=7,\n",
        "    learning_rate=0.05,\n",
        "    subsample=0.8,\n",
        "    colsample_bytree=0.8,\n",
        "    objective=\"multi:softprob\",\n",
        "    num_class=len(y.unique()),\n",
        "    eval_metric=\"mlogloss\",\n",
        "    random_state=42,\n",
        "    use_label_encoder=False\n",
        ")\n",
        "xgb.fit(X_train, y_train)\n",
        "\n",
        "# ---------------- Evaluation ----------------\n",
        "models = {\"RandomForest\": rf, \"LightGBM\": lgb, \"XGBoost\": xgb}\n",
        "for name, model in models.items():\n",
        "    y_pred = model.predict(X_test)\n",
        "    print(f\"\\n{name} Results:\")\n",
        "    print(classification_report(y_test + 1, y_pred + 1))  # shift back for readability\n",
        "    print(\"ROC-AUC (macro):\", roc_auc_score(y_test, model.predict_proba(X_test), multi_class=\"ovr\"))\n",
        "    print(\"Confusion Matrix:\\n\", confusion_matrix(y_test + 1, y_pred + 1))\n",
        "\n",
        "# ---------------- Feature Importance Comparison ----------------\n",
        "rf_importance = pd.Series(rf.feature_importances_, index=X.columns)\n",
        "lgb_importance = pd.Series(lgb.feature_importances_, index=X.columns)\n",
        "xgb_importance = pd.Series(xgb.feature_importances_, index=X.columns)\n",
        "\n",
        "importance_df = pd.DataFrame({\n",
        "    \"RandomForest\": rf_importance,\n",
        "    \"LightGBM\": lgb_importance,\n",
        "    \"XGBoost\": xgb_importance\n",
        "})\n",
        "\n",
        "# Normalize\n",
        "importance_df = importance_df / importance_df.max()\n",
        "\n",
        "# Top 15 features by average importance\n",
        "top_features = importance_df.mean(axis=1).sort_values(ascending=False).head(15).index\n",
        "importance_df = importance_df.loc[top_features]\n",
        "\n",
        "plt.figure(figsize=(12, 7))\n",
        "importance_df.plot(kind=\"bar\", figsize=(14, 7))\n",
        "plt.title(\"Feature Importance Comparison Across Models\", fontsize=16)\n",
        "plt.ylabel(\"Normalized Importance\")\n",
        "plt.xticks(rotation=45, ha=\"right\")\n",
        "plt.legend(title=\"Model\")\n",
        "plt.tight_layout()\n",
        "plt.show()\n",
        "\n",
        "# ---------------- SHAP for XGBoost ----------------\n",
        "explainer = shap.TreeExplainer(xgb)\n",
        "shap_values = explainer.shap_values(X_test)\n",
        "\n",
        "# Global SHAP summary\n",
        "shap.summary_plot(shap_values, X_test, plot_type=\"bar\", show=True)\n",
        "shap.summary_plot(shap_values, X_test, show=True)\n",
        "\n",
        "# ---------------- Force Plots ----------------\n",
        "# Example: loop over first 3 samples and all 3 classes\n",
        "shap.initjs()\n",
        "for i in range(3):  # first 3 samples\n",
        "    for class_idx in range(len(shap_values)):\n",
        "        print(f\"Force plot for sample {i}, class {class_idx}\")\n",
        "        shap.force_plot(\n",
        "            explainer.expected_value[class_idx],\n",
        "            shap_values[class_idx][i],\n",
        "            X_test.iloc[[i]],   # ✅ keep as DataFrame, not Series\n",
        "            matplotlib=True\n",
        "        )\n",
        "# Force plot for one sample across all classes\n",
        "shap.initjs()\n",
        "i = 0  # sample index to explain\n",
        "\n",
        "for class_idx in range(len(shap_values)):  # loop over classes\n",
        "    print(f\"Force plot for sample {i}, class {class_idx}\")\n",
        "    shap.force_plot(\n",
        "        explainer.expected_value[class_idx],\n",
        "        shap_values[class_idx][i],\n",
        "        X_test.iloc[[i]],   # ✅ keep as DataFrame, not Series\n",
        "        matplotlib=True\n",
        "    )"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "3pSacP-gGazp",
        "outputId": "32f12180-2941-4ea4-acfb-9a293c519825"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.008807 seconds.\n",
            "You can set `force_row_wise=true` to remove the overhead.\n",
            "And if memory is not enough, you can set `force_col_wise=true`.\n",
            "[LightGBM] [Info] Total Bins 3348\n",
            "[LightGBM] [Info] Number of data points in the train set: 106381, number of used features: 48\n",
            "[LightGBM] [Info] Start training from score -1.098612\n",
            "[LightGBM] [Info] Start training from score -1.098612\n",
            "[LightGBM] [Info] Start training from score -1.098612\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.12/dist-packages/xgboost/training.py:183: UserWarning: [21:14:17] WARNING: /workspace/src/learner.cc:738: \n",
            "Parameters: { \"use_label_encoder\" } are not used.\n",
            "\n",
            "  bst.update(dtrain, iteration=i, fobj=obj)\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "RandomForest Results:\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           1       0.32      0.96      0.48       325\n",
            "           2       0.93      0.92      0.93      5206\n",
            "           3       0.99      0.96      0.98     21065\n",
            "\n",
            "    accuracy                           0.95     26596\n",
            "   macro avg       0.75      0.95      0.79     26596\n",
            "weighted avg       0.97      0.95      0.96     26596\n",
            "\n",
            "ROC-AUC (macro): 0.995508681987659\n",
            "Confusion Matrix:\n",
            " [[  312     3    10]\n",
            " [  204  4808   194]\n",
            " [  457   362 20246]]\n",
            "\n",
            "LightGBM Results:\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           1       0.65      0.92      0.76       325\n",
            "           2       0.77      0.96      0.85      5206\n",
            "           3       0.99      0.92      0.96     21065\n",
            "\n",
            "    accuracy                           0.93     26596\n",
            "   macro avg       0.80      0.93      0.86     26596\n",
            "weighted avg       0.94      0.93      0.93     26596\n",
            "\n",
            "ROC-AUC (macro): 0.9902870113369516\n",
            "Confusion Matrix:\n",
            " [[  299    15    11]\n",
            " [   39  4988   179]\n",
            " [  122  1470 19473]]\n",
            "\n",
            "XGBoost Results:\n",
            "              precision    recall  f1-score   support\n",
            "\n",
            "           1       0.95      0.84      0.89       325\n",
            "           2       0.95      0.90      0.92      5206\n",
            "           3       0.97      0.99      0.98     21065\n",
            "\n",
            "    accuracy                           0.97     26596\n",
            "   macro avg       0.96      0.91      0.93     26596\n",
            "weighted avg       0.97      0.97      0.97     26596\n",
            "\n",
            "ROC-AUC (macro): 0.9966022386059299\n",
            "Confusion Matrix:\n",
            " [[  274    18    33]\n",
            " [   10  4660   536]\n",
            " [    4   232 20829]]\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x700 with 0 Axes>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1400x700 with 1 Axes>"
            ],
            "image/png": "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9Omjdu3aafny5dq4caM2btyohQsXauHChRo1apR++eWXJGfPp1S3bt20YcMG9e/fX9u2bVODBg0UHBzsjEt1Gme//wQFBWnbtm3asGGD1qxZo02bNmnr1q3atGmTxo4dq3HjxmnIkCFOqR0AkD4R0AIAkMHE/6Aa/2egKQ0bvv32W129elWtWrXShAkTEm0/dOhQqmuKD28uXbqU5Pb42WL3Kv5ac+bMqdmzZ6fqGOnJ0aNHk2wPDw+XJHl5eSlnzpySZP+z5+T6SP+bxXWvfyKdEl9++aWMMerTp48GDx6caPv93C9JKVCggA4cOKD9+/eraNGid90//t5o0aKFXnvtNafU0KJFCy1btkyrV6/WmTNnkvwz8eTEPwfxz0lS0vL5Ss6d7p/4+y5//vz2tsWLF0uSFi1alOSfijv7eY/n5uamxo0bq3HjxpJuzdCdPHmyxowZo549e6pVq1bKkiWL5a+LhGbMmCFJunnzpjZt2nTXfd955x1J/5vFu3//fqfVcj/3YErHP15gYKB69OihHj162K+jW7du2rJli4YOHao5c+ak+jratGmjPn366Ntvv5WU9MzkhFJ77fny5dP+/fvtr4WEkmtPi/cfm82mJ5980r5sz7Vr1zR79my98sorGj58uNq0aXPXMBgAkHGxBi0AABlM3rx5Va5cOV26dMm+jmFKRERESJIKFiyYaJsxRvPnz0+yX3z4eqc18eJ/4N23b1+Sx/7+++9TXOft4mfv7d27V//5z39SdYz05Isvvkiyfe7cuZJuzcaK/zP3ypUrK2vWrIqIiLD/CfXtrl69qoULF0q6tSbuvbrb83qn++XatWv2NYudJX6N5U8//TRF+zdq1EjS/4JkZ4ifVX7jxg299NJLd535vX37dl29elWS9MQTT8jFxUW7du3S7t27E+176tQp++s1Nc9Xav3www9JLtmwcuVKXbhwQb6+vg7rO9/peV+9erXOnz+fdsXexs/PT6NHj1a2bNl05coVHTx4UFLavy7uxZYtW7R37155enrq33//lbn1AcyJvlauXCnp1mzb+Ndb/P2+cuXKZNcPvlfxwd6qVat05syZRNt37typXbt2OayPmpzkxj85jzzyiH2G565du1JVfzwfHx916dJFOXPmVKFChdSyZcu79knt66927dqSpHnz5iV53Pj35oTS4v0nIS8vL/Xq1UvlypVTXFyc/vjjjzQ5DwAgfSCgBQAgA/q///s/Sbc+UCV+ltHtjDHaunWrfvjhB3tb/Bp2X331lcMHu8TGxmrkyJHJfpBJ7ty55eHhodOnT9vDm4Tq1asn6VYAsXfvXnt7TEyMhgwZkuo/GXd3d9eoUaNkjFGrVq20cePGRPvExsbqp59+0q+//pqqczxI27dv18SJEx3aNm7cqOnTp0uS+vfvb2/38vLSK6+8IkkaOHCgwyzkmJgY9evXT6dPn1ahQoVS9cFM8bMmkwu+4++XOXPmOMyMvnbtml5++eU7zmBMjQEDBsjX11fLly/XG2+8oZiYGIftZ8+edXj+W7RooSpVqui3335T165dk1zn8d9//1VYWFiKP3DH3d1dixcvlpeXl5YuXaqWLVsmeZ0REREaMWKEatasqevXr0u6NSOybdu2MsaoZ8+eDus8R0dH68UXX9S1a9dUo0YN1ahRI0X1OMPVq1f10ksv2YNk6dYHig0cOFCS1KtXL4cPvIt/3t9//32H4xw4cEC9evVyen1XrlzR5MmTk3z+fvnlF128eFGurq72+zWtXxf3In72bIsWLZQtW7Zk94v/oLYzZ87ou+++kyRVqFBBLVq00NWrV9WiRQsdP37coc/NmzeTDKDvpFatWqpWrZquXr2qnj176sqVK/Zt58+fV8+ePSVJzzzzjH0G6L2O/08//aSVK1cmen0aY+zXllS4f6+mTp2q8+fP68iRI3dda11K/euve/fuypo1q7Zs2aJp06Y5HHP9+vUKCwtL8nzOfv959913E90D0q2ZyfGz1p0xrgCAdMwAAIB0oWDBgkaSmTVrVor2nzp1qnFzczOSTNGiRU2TJk3Ms88+a+rXr28CAgKMJDNkyBD7/jExMaZSpUpGksmaNatp0qSJadeunSlYsKBxd3c3Q4YMMZJM7dq1E52rTZs2RpIJDg42HTp0MN27dzfdu3d32KdFixZGkvH29jb169c3zZs3N/nz5zd+fn6mX79+RpLp3LmzQ59Zs2Yl2Z7QoEGDjCQjyZQuXdq0aNHCPPPMM+bJJ5802bJlM5LMRx99lKJxM8aY2rVrG0lm1KhR91TPqFGjkuwXr3Pnzkk+h/Hn69u3r3FxcTGlS5c2HTp0MLVr1zYuLi5GkunXr1+i4127ds3UrVvXPq6NGzc27du3NwUKFDCSTM6cOc22bdsS9YsfqzvZvXu3cXFxMS4uLqZevXqma9eupnv37uabb74xxhjz77//2u/JnDlzmpYtW5rWrVubgIAA4+vrm+rn9OjRo0aSKViwYKJtq1evNr6+vkaSCQwMNC1btjRt27Y1VatWNe7u7omOefLkSVOhQgUjyWTJksXUqFHDPPPMM+bpp582FSpUMK6urkaSuXr16h3HIqHffvvNfu02m81UrFjRtGnTxrRr185Uq1bNftzChQubK1eu2PudP3/elC9f3kgy/v7+pmXLlqZNmzYmd+7cRpIpVKiQOXr0aIrHwxhj1q1bl+zr0pjkxzv+Xu3UqZPJkSOHCQoKMm3btjXNmjUzWbJkMZJM9erVHeo3xpivv/7a2Gw2I8mULVvWPPPMM+app54y7u7u5qmnnjI1atQwksy6desc+sXf4wnb71brv//+ayQZFxcXU758edOmTRvToUMHU716dXsdI0eOdDhOWr0uUnIN8S5dumSyZs1qJJkVK1bcdf8BAwYYSaZp06b2toiICPPYY48ZScbDw8M8+eST5tlnnzVPPfWU/Z65XXLvL7c7fPiw/d4NCAgwbdq0MS1atDB+fn5GkqlYsaKJiIiw73+v4//ee+8ZScbPz89eb6tWrezn9Pf3Nzt37rzreMSLH/PPP/88xX3in8cTJ044tKfm9WeMMQsWLLC/psuWLWs6dOhgnnjiCWOz2Uz//v2TvW9S8/6T3OvZ39/fSDKPPPKIadWqlXn22WfNk08+af8e36lTpxSPDwAgYyKgBQAgnbjXgNYYY/bs2WNefPFFU6xYMePl5WV8fHxM4cKFTWhoqJk2bZo5efKkw/6XLl0yw4cPNyVKlDBeXl4mICDAtGzZ0mzbtu2OQdCFCxdMz549TYECBYy7u3uSP7Beu3bNvPHGG6Zw4cLG3d3dBAQEmA4dOpi//vor2RAppQGtMcZs2rTJdOzY0RQsWNB4enoaX19fU7x4cdOyZUvz2WefOYQOd2NVQLtu3Tqzdu1aU7duXePv72+8vb1N5cqVzezZs5OtNSYmxnz44YfmscceM76+vsbDw8MUKVLE9OnTx/z9999J9klJQGuMMUuXLjU1a9Y0vr6+9jDm9ms7d+6cefnll02RIkWMp6enyZs3r3nuuefMoUOHUv2c3i2QPHbsmOnXr5/9Hs2aNaspXry46datm9myZUui/a9du2bCwsJMnTp1TM6cOY2bm5sJCAgwFSpUMK+88opZvXr1XcchKdevXzefffaZadasmcmXL5/x9PQ0Xl5eplChQqZNmzZmwYIF5saNG4n6RUdHm3HjxpkKFSoYHx8f4+XlZUqWLGmGDx+e5D2a1gHtqFGjzJEjR0yHDh1MYGCg8fDwMEWLFjUjR4400dHRSR7z559/NnXr1jW5cuUyPj4+pkyZMubtt982169fTzbETG1AGxMTY8LCwkyHDh3MI488Yn9dFClSxLRu3dqsXbs2yWOlxeviXgLaGTNmGEkmKCjI3Lx5867779q1y0gyrq6uDu/L169fNx999JF5/PHHTbZs2YyHh4fJnz+/qV+/vpk+fbrDMVIS0Bpz6/162LBhpmTJkvbvC48++qgZP358okD+Xsf/r7/+MqNHjzZ169Y1BQoUMF5eXiZ79uymXLlyZujQoYlC07txZkBrzL2//uL98ssvJjQ01Pj5+dnH6+OPP3Y4X1Lu9f0nudfzF198Ybp27WrKlCljcuTIYTw9PU3BggVNo0aNzNKlS01cXFyKxwcAkDHZjEmjRXMAAAAg6dbakBs2bNC6devs60QCaWn06NEaM2aMRo0apdGjR1tdDgAAAO6ANWgBAAAAAAAAwCIEtAAAAAAAAABgEQJaAAAAAAAAALAIa9ACAAAAAAAAgEWYQQsAAAAAAAAAFiGgBQAAAAAAAACLuFldAJwrLi5O//zzj3x9fWWz2awuBwAAAAAAAHjoGGN06dIl5c2bVy4ud54jS0Cbyfzzzz8KDg62ugwAAAAAAADgoXfixAnlz5//jvsQ0GYyvr6+km49+X5+fhZXAwAAAAAAADx8oqKiFBwcbM/q7oSANpOJX9bAz8+PgBYAAAAAAACwUEqWIOVDwgAAAAAAAADAIgS0AAAAAAAAAGARAloAAAAAAAAAsAhr0AIAAAAAAOChERsbq5iYGKvLQCbg4eEhF5f7n/9KQAsAAAAAAIBMzxij06dP6+LFi1aXgkzCxcVFhQoVkoeHx30dh4AWAAAAAAAAmV58OBsQECAfHx/ZbDarS0IGFhcXp3/++UenTp1SgQIF7ut+IqAFAAAAAABAphYbG2sPZ3PmzGl1OcgkcufOrX/++Uc3b96Uu7t7qo/Dh4QBAAAAAAAgU4tfc9bHx8fiSpCZxC9tEBsbe1/HIaAFAAAAAADAQ4FlDeBMzrqfCGgBAAAAAAAAwCIEtAAAAAAAAADuaP369bLZbLp48WKK+4SEhGjKlClpVlNmQUALAAAAAAAAZHBdunSRzWZTr169Em175ZVXZLPZ1KVLlwdfGO6KgBYAAAAAAADIBIKDg7Vw4UJdvXrV3nbt2jXNnz9fBQoUsLAy3AkBLQAAAAAAAJAJVKxYUcHBwVqyZIm9bcmSJSpQoIAeffRRe9v169fVt29fBQQEyMvLS7Vq1dLvv//ucKyVK1eqePHi8vb2Vp06dRQeHp7ofBs3btTjjz8ub29vBQcHq2/fvoqOjk6z68usCGgBAAAAAACATKJbt26aNWuW/fHMmTPVtWtXh30GDx6sr7/+WnPmzNGOHTtUtGhRhYaGKiIiQpJ04sQJPf3002rWrJl27dqlF154QUOHDnU4xuHDh9WwYUO1bt1af/zxhxYtWqSNGzeqd+/eaX+RmQwBLQAAAAAAAJBJPPfcc9q4caOOHTumY8eOadOmTXruuefs26Ojo/XRRx/pnXfeUaNGjVSqVCl9+umn8vb21owZMyRJH330kYoUKaJJkyapRIkS6tixY6L1a8eNG6eOHTvq1VdfVbFixVSjRg1NmzZNc+fO1bVr1x7kJWd4BLRp6Oeff1azZs2UN29e2Ww2LVu27K591q9fr4oVK8rT01NFixbV7Nmz07xOAAAAAAAAZA65c+dWkyZNNHv2bM2aNUtNmjRRrly57NsPHz6smJgY1axZ097m7u6uqlWrat++fZKkffv2qVq1ag7HrV69usPj3bt3a/bs2cqaNav9KzQ0VHFxcTp69GgaXmHm42Z1AZlZdHS0ypcvr27duunpp5++6/5Hjx5VkyZN1KtXL82bN09r167VCy+8oDx58ig0NPQBVAwAAAAAAICMrlu3bvalBqZPn54m57h8+bJ69uypvn37JtrGB5LdGwLaNNSoUSM1atQoxfuHhYWpUKFCmjRpkiSpZMmS2rhxo9577z0CWgAAAAAAAKRIw4YNdePGDdlstkSZUpEiReTh4aFNmzapYMGCkqSYmBj9/vvvevXVVyXdyqSWL1/u0O/XX391eFyxYkXt3btXRYsWTbsLeUiwxEE6smXLFtWrV8+hLTQ0VFu2bLGoIgAAAAAAAGQ0rq6u2rdvn/bu3StXV1eHbVmyZNFLL72kQYMGadWqVdq7d6969OihK1euqHv37pKkXr166dChQxo0aJAOHDig+fPnJ1qGc8iQIdq8ebN69+6tXbt26dChQ/rmm2/4kLBUIKBNR06fPq3AwECHtsDAQEVFRenq1atJ9rl+/bqioqIcvgAAAAAAAPBw8/Pzk5+fX5Lbxo8fr9atW+v5559XxYoV9ddff2n16tXKnj27pFtLFHz99ddatmyZypcvr7CwMI0dO9bhGOXKldOGDRt08OBBPf7443r00Uc1cuRI5c2bN82vLbNhiYMMbty4cRozZozVZThd2TllU9VvT+c9Tq4kbYQMXZGqfuHjmzi5kofcaP9U9ot0bh0AAAAAANynu33Q/O0fXu/l5aVp06Zp2rRpye7ftGlTNW3a1KGta9euDo+rVKmiH374IdljhIeH37Em3MIM2nQkKChIZ86ccWg7c+aM/Pz85O3tnWSfYcOGKTIy0v514sSJB1EqAAAAAAAAACdgBm06Ur16da1cudKh7ccff1T16tWT7ePp6SlPT8+0Lg0AAAAAAABAGmAGbRq6fPmydu3apV27dkmSjh49ql27dun48eOSbs1+7dSpk33/Xr166ciRIxo8eLD279+vDz/8UIsXL1b//v2tKB8AAAAAAABAGiOgTUPbtm3To48+qkcffVSSNGDAAPuCyZJ06tQpe1grSYUKFdKKFSv0448/qnz58po0aZI+++wzhYaGWlI/AAAAAAAAgLTFEgdp6Mknn5QxJtntSS3e/OSTT2rnzp1pWBUAAAAAAACA9IIZtAAAAAAAAABgEQJaAAAAAAAAALAIAS0AAAAAAAAAWISAFgAAAAAAAAAsQkALAAAAAAAAIBGbzaZly5ZZXUam52Z1AQAAAAAAAIBVQoaueGDnCh/f5J77dOnSRXPmzJEkubm5KX/+/Grbtq3efPNNeXl5ObtES9hstkRtNWvW1MaNGy2o5habzaalS5eqZcuWaX4uAloAAAAAAAAgHWvYsKFmzZqlmJgYbd++XZ07d5bNZtOECROsLs1pZs2apYYNG9ofe3h4pPpYMTExcnd3d0ZZDwRLHAAAAAAAAADpmKenp4KCghQcHKyWLVuqXr16+vHHHyVJFy5cUIcOHZQvXz75+PiobNmyWrBggUP/J598Un379tXgwYOVI0cOBQUFafTo0Q77HDp0SE888YS8vLxUqlQp+/Fvt2fPHj311FPy9vZWzpw59eKLL+ry5cv27V26dFHLli01duxYBQYGKlu2bHrzzTd18+ZNDRo0SDly5FD+/Pk1a9asRMfOli2bgoKC7F85cuSQJMXFxenNN99U/vz55enpqQoVKmjVqlX2fuHh4bLZbFq0aJFq164tLy8vzZs3T5L02WefqWTJkvLy8tIjjzyiDz/80N7vxo0b6t27t/LkySMvLy8VLFhQ48aNkySFhIRIklq1aiWbzWZ/nFYIaAEAAAAAAIAM4s8//9TmzZvtM0yvXbumSpUqacWKFfrzzz/14osv6vnnn9dvv/3m0G/OnDnKkiWLtm7dqokTJ+rNN9+0h7BxcXF6+umn5eHhoa1btyosLExDhgxx6B8dHa3Q0FBlz55dv//+u7788kutWbNGvXv3dtjvp59+0j///KOff/5ZkydP1qhRo9S0aVNlz55dW7duVa9evdSzZ0/9/fffKbreqVOnatKkSXr33Xf1xx9/KDQ0VM2bN9ehQ4cc9hs6dKj69eunffv2KTQ0VPPmzdPIkSP19ttva9++fRo7dqxGjBhhXy5i2rRpWr58uRYvXqwDBw5o3rx59iD2999/l3RrVu+pU6fsj9MKSxwAAAAAAAAA6dh3332nrFmz6ubNm7p+/bpcXFz0wQcfSJLy5cun1157zb5vnz59tHr1ai1evFhVq1a1t5crV06jRo2SJBUrVkwffPCB1q5dq/r162vNmjXav3+/Vq9erbx580qSxo4dq0aNGtn7z58/X9euXdPcuXOVJUsWSdIHH3ygZs2aacKECQoMDJQk5ciRQ9OmTZOLi4tKlCihiRMn6sqVKxo+fLgkadiwYRo/frw2btyoZ555xn78Dh06yNXV1f74iy++UMuWLfXuu+9qyJAh9n0nTJigdevWacqUKZo+fbp9/1dffVVPP/20/fGoUaM0adIke1uhQoW0d+9effzxx+rcubOOHz+uYsWKqVatWrLZbCpYsKC9b+7cuSX9b1ZvWiOgBQAAAAAAANKxOnXq6KOPPlJ0dLTee+89ubm5qXXr1pKk2NhYjR07VosXL9bJkyd148YNXb9+XT4+Pg7HKFeunMPjPHny6OzZs5Kkffv2KTg42B7OSlL16tUd9t+3b5/Kly9vD2elWx/kFRcXpwMHDtgD2tKlS8vF5X9/tB8YGKgyZcrYH7u6uipnzpz2c8d77733VK9ePYf6oqKi9M8//6hmzZoO+9asWVO7d+92aKtcubL939HR0Tp8+LC6d++uHj162Ntv3rwpf39/SbeWY6hfv75KlCihhg0bqmnTpmrQoIGsQEALAAAAAAAApGNZsmRR0aJFJUkzZ85U+fLlNWPGDHXv3l3vvPOOpk6dqilTpqhs2bLKkiWLXn31Vd24ccPhGAk/NMtmsykuLs7ptSZ1npScOygoyH6N8aKiolJ83tuD4/h1cT/99FNVq1bNYb/4WboVK1bU0aNH9f3332vNmjVq166d6tWrp6+++irF53QW1qAFAAAAAAAAMggXFxcNHz5cb7zxhq5evapNmzapRYsWeu6551S+fHkVLlxYBw8evKdjlixZUidOnNCpU6fsbb/++muifXbv3q3o6Gh726ZNm+xLGaQFPz8/5c2bV5s2bXJo37Rpk0qVKpVsv8DAQOXNm1dHjhxR0aJFHb4KFSrkcPz27dvr008/1aJFi/T1118rIiJC0q2gOTY2Nk2uKyECWgAAAAAAACADadu2rVxdXTV9+nQVK1ZMP/74ozZv3qx9+/apZ8+eOnPmzD0dr169eipevLg6d+6s3bt365dfftHrr7/usE/Hjh3l5eWlzp07688//9S6devUp08fPf/88/blDdLCoEGDNGHCBC1atEgHDhzQ0KFDtWvXLvXr1++O/caMGaNx48Zp2rRpOnjwoPbs2aNZs2Zp8uTJkqTJkydrwYIF2r9/vw4ePKgvv/xSQUFBypYtmyQpJCREa9eu1enTp/Xvv/+m2fVJLHEAAAAAAAAAZChubm7q3bu3Jk6cqJ07d+rIkSMKDQ2Vj4+PXnzxRbVs2VKRkZEpPp6Li4uWLl2q7t27q2rVqgoJCdG0adPUsGFD+z4+Pj5avXq1+vXrpypVqsjHx0etW7e2B55ppW/fvoqMjNTAgQN19uxZlSpVSsuXL1exYsXu2O+FF16Qj4+P3nnnHQ0aNEhZsmRR2bJl9eqrr0qSfH19NXHiRB06dEiurq6qUqWKVq5caV8/d9KkSRowYIA+/fRT5cuXT+Hh4Wl2jTZjjEmzo+OBi4qKkr+/vyIjI+Xn52d1OalWdk7ZVPXb03mPkytJGyFDV6SqX/j4Jk6u5CE32j+V/VL+TQ4AAAAAYL1r167p6NGjKlSokLy8vKwuB5nEne6re8noWOIAAAAAAAAAACxCQAsAAAAAAAAAFiGgBQAAAAAAAACLENACAAAAAAAAgEUIaAEAAAAAAADAIgS0AAAAAAAAAGARAloAAAAAAAAAsAgBLQAAAAAAAABYhIAWAAAAAAAAACxCQAsAAAAAAABkQDabTcuWLUvx/uvXr5fNZtPFixfTrCbcOzerCwAAAAAAAAAsM9r/AZ4r8p67dOnSRRcvXkwyiD116pSyZ8/uhML+Z/To0Vq2bJl27dqVaNvOnTs1fvx4/fzzz4qIiFBQUJDKli2rnj17qmnTprLZbAoPD1ehQoXsfdzd3VWgQAF16dJFr7/+umw2m/08Y8aMUWhoqFatWuVwnnfeeUeDBw9W7dq1tX79eqdeX3rEDFoAAAAAAAAgAwoKCpKnp+cDOdc333yjxx57TJcvX9acOXO0b98+rVq1Sq1atdIbb7yhyEjH8HnNmjU6deqUDh06pDFjxujtt9/WzJkzHfbJkyeP1q1bp7///tuhfebMmSpQoECaX1N6QUALAAAAAAAAZEAJlzjYvHmzKlSoIC8vL1WuXFnLli2TzWZLNBt2+/btqly5snx8fFSjRg0dOHBAkjR79myNGTNGu3fvls1mk81m0+zZsxUdHa3u3burSZMmWrFihRo0aKDChQurZMmS6t69u3bv3i1/f8eZyDlz5lRQUJAKFiyojh07qmbNmtqxY4fDPgEBAWrQoIHmzJnjcA3nz59XkyZNnDtY6RgBLQAAAAAAAJDBRUVFqVmzZipbtqx27Niht956S0OGDEly39dff12TJk3Stm3b5Obmpm7dukmS2rdvr4EDB6p06dI6deqUTp06pfbt2+uHH37QhQsXNHjw4GTPH790QVK2bdum7du3q1q1aom2devWTbNnz7Y/njlzpjp27CgPD48UXnnGR0ALAAAAAAAAZHDz58+XzWbTp59+qlKlSqlRo0YaNGhQkvu+/fbbql27tkqVKqWhQ4dq8+bNunbtmry9vZU1a1a5ubkpKChIQUFB8vb21sGDByVJJUqUsB/j999/V9asWe1f3333ncM5atSooaxZs8rDw0NVqlRRu3bt1KlTp0S1NG3aVFFRUfr5558VHR2txYsX2wPjhwUfEgYAAAAAAABkcAcOHFC5cuXk5eVlb6tatWqS+5YrV87+7zx58kiSzp49e0/rvpYrV86+dEKxYsV08+ZNh+2LFi1SyZIlFRMToz///FN9+vRR9uzZNX78eIf93N3d9dxzz2nWrFk6cuSIihcv7lDfw4CAFgAAAAAAAHiIuLu72/8dvzRBXFxcsvsXK1ZM0q0Q+LHHHpMkeXp6qmjRosn2CQ4Otm8vWbKkDh8+rBEjRmj06NEOIbJ0a5mDatWq6c8//3zoZs9KLHEAAAAAAAAAZHglSpTQnj17dP36dXvb77//fs/H8fDwUGxsrENbgwYNlCNHDk2YMCHV9bm6uurmzZu6ceNGom2lS5dW6dKl9eeff+rZZ59N9TkyKmbQAgAAAAAAAOlYZGSkfTmBeDlz5nR4/Oyzz+r111/Xiy++qKFDh+r48eN69913Jd35A7wSCgkJ0dGjR7Vr1y7lz59fvr6+ypo1qz777DO1b99eTZo0Ud++fVWsWDFdvnxZq1atknQrgL3dhQsXdPr0ad28eVN79uzR1KlTVadOHfn5+SV53p9++kkxMTHKli1bimvNLAhoAQAAAAAAgHRs/fr1evTRRx3aunfv7vDYz89P3377rV566SVVqFBBZcuW1ciRI/Xss88mWlLgTlq3bq0lS5aoTp06unjxombNmqUuXbqoVatW2rx5syZMmKBOnTopIiJC/v7+qly5shYuXKimTZs6HKdevXqSbgW3efLkUePGjfX2228ne94sWbKkuMbMxmaMMVYXAeeJioqSv7+/IiMjk/2NREZQdk7ZVPXb03mPkytJGyFDV6SqX/j4Jk6u5CE32j+V/SKdWwcAAAAAIE1du3ZNR48eVaFChe4prMzo5s2bp65duyoyMlLe3t5Wl5Pp3Om+upeMjhm0AAAAAAAAQCYwd+5cFS5cWPny5dPu3bs1ZMgQtWvXjnA2nSOgBQAAAAAAADKB06dPa+TIkTp9+rTy5Mmjtm3b3nFZAaQPBLQAAAAAAABAJjB48GANHjzY6jJwj1ysLgAAAAAAAAAAHlYEtAAAAAAAAABgEQJaAAAAAAAAALAIAS0AAAAAAAAAWISAFgAAAAAAAAAsQkALAAAAAAAAABYhoAUAAAAAAAAAi7hZXQAAAAAAAABglbJzyj6wc+3pvOee9o+NjdXjjz+uoKAgLVmyxN4eGRmpMmXKqFOnTnr77bclSV9//bWmT5+unTt36tq1aypQoIBq1qypPn366NFHH5UkzZ49W127drUfJ0uWLCpRooRef/11Pf300064wpR58sknVaFCBU2ZMuWBnTM9YwYtAAAAAAAAkA65urpq9uzZWrVqlebNm2dv79Onj3LkyKFRo0ZJkoYMGaL27durQoUKWr58uQ4cOKD58+ercOHCGjZsmMMx/fz8dOrUKZ06dUo7d+5UaGio2rVrpwMHDjzQa8P/ENACAAAAAAAA6VTx4sU1fvx49enTR6dOndI333yjhQsXau7cufLw8NCvv/6qiRMnavLkyZo8ebIef/xxFShQQJUqVdIbb7yh77//3uF4NptNQUFBCgoKUrFixfR///d/cnFx0R9//GHf599//1WnTp2UPXt2+fj4qFGjRjp06JDDcb7++muVLl1anp6eCgkJ0aRJkxy2f/jhhypWrJi8vLwUGBioNm3aSJK6dOmiDRs2aOrUqbLZbLLZbAoPD0+bwcsgCGgBAAAAAACAdKxPnz4qX768nn/+eb344osaOXKkypcvL0lasGCBsmbNqpdffjnJvjabLdnjxsbGas6cOZKkihUr2tu7dOmibdu2afny5dqyZYuMMWrcuLFiYmIkSdu3b1e7du30zDPPaM+ePRo9erRGjBih2bNnS5K2bdumvn376s0339SBAwe0atUqPfHEE5KkqVOnqnr16urRo4d9Jm9wcPB9j1FGxhq0AAAAAAAAQDpms9n00UcfqWTJkipbtqyGDh1q33bw4EEVLlxYbm7/i/kmT56skSNH2h+fPHlS/v7+km6tX5s1a1ZJ0tWrV+Xu7q5PPvlERYoUkSQdOnRIy5cv16ZNm1SjRg1J0rx58xQcHKxly5apbdu2mjx5surWrasRI0ZIujXLd+/evXrnnXfUpUsXHT9+XFmyZFHTpk3l6+urggUL2tfB9ff3l4eHh3x8fBQUFJSGo5ZxMIMWAAAAAAAASOdmzpwpHx8fHT16VH///fcd9+3WrZt27dqljz/+WNHR0TLG2Lf5+vpq165d2rVrl3bu3KmxY8eqV69e+vbbbyVJ+/btk5ubm6pVq2bvkzNnTpUoUUL79u2z71OzZk2Hc9asWVOHDh1SbGys6tevr4IFC6pw4cJ6/vnnNW/ePF25csVZQ5HpENACAAAAAAAA6djmzZv13nvv6bvvvlPVqlXVvXt3e+harFgxHTlyxL78gCRly5ZNRYsWVb58+RIdy8XFRUWLFlXRokVVrlw5DRgwQE8++aQmTJjgtHp9fX21Y8cOLViwQHny5LEvyXDx4kWnnSMzIaAFAAAAAAAA0qkrV66oS5cueumll1SnTh3NmDFDv/32m8LCwiRJHTp00OXLl/Xhhx+m+hyurq66evWqJKlkyZK6efOmtm7dat9+4cIFHThwQKVKlbLvs2nTJodjbNq0ScWLF5erq6skyc3NTfXq1dPEiRP1xx9/KDw8XD/99JMkycPDQ7GxsamuN7NhDVoAAAAAAAAgnRo2bJiMMRo/frwkKSQkRO+++65ee+01NWrUSNWrV9fAgQM1cOBAHTt2TE8//bSCg4N16tQpzZgxQzabTS4u/5ujaYzR6dOnJd1ag/bHH3/U6tWr7WvWFitWTC1atFCPHj308ccfy9fXV0OHDlW+fPnUokULSdLAgQNVpUoVvfXWW2rfvr22bNmiDz74wB4Sf/fddzpy5IieeOIJZc+eXStXrlRcXJxKlChhv4atW7cqPDxcWbNmVY4cORxqfNg8vFcOAAAAAAAApGMbNmzQ9OnTNWvWLPn4+Njbe/bsqRo1atiXOnj33Xc1f/587dy5U02bNlWxYsXUtm1bxcXFacuWLfLz87P3jYqKUp48eZQnTx6VLFlSkyZN0ptvvqnXX3/dvs+sWbNUqVIlNW3aVNWrV5cxRitXrpS7u7skqWLFilq8eLEWLlyoMmXKaOTIkXrzzTfVpUsXSbeWWFiyZImeeuoplSxZUmFhYVqwYIFKly4tSXrttdfk6uqqUqVKKXfu3Dp+/PgDGM30y2ZuXyUYGV5UVJT8/f0VGRnp8OLLaMrOKZuqfns673FyJWkjZOiKVPULH9/EyZU85Eb7p7JfpHPrAAAAAACkqWvXruno0aMqVKiQvLy8rC4HmcSd7qt7yeiYQQsAAAAAAAAAFiGgBQAAAAAAAACLENACAAAAAAAAgEUIaAEAAAAAAADAIgS0AAAAAAAAeCgYY6wuAZmIs+4nAloAAAAAAABkau7u7pKkK1euWFwJMpMbN25IklxdXe/rOG7OKAYAAAAAAABIr1xdXZUtWzadPXtWkuTj4yObzWZxVcjI4uLidO7cOfn4+MjN7f4iVgJaAAAAAAAAZHpBQUGSZA9pgfvl4uKiAgUK3HfYT0ALAAAAAACATM9msylPnjwKCAhQTEyM1eUgE/Dw8JCLy/2vIEtACwAAAAAAgIeGq6vrfa8ZCjgTHxIGAAAAAAAAABYhoAUAAAAAAAAAixDQAgAAAAAAAIBFCGgBAAAAAAAAwCIEtAAAAAAAAABgEQJaAAAAAAAAALAIAS0AAAAAAAAAWISAFgAAAAAAAAAsQkALAAAAAAAAABYhoAUAAAAAAAAAixDQAgAAAAAAAIBFCGgBAAAAAAAAwCIEtAAAAAAAAABgEQJaAAAAAAAAALAIAW0amz59ukJCQuTl5aVq1arpt99+u+P+U6ZMUYkSJeTt7a3g4GD1799f165de0DVAgAAAAAAAHiQCGjT0KJFizRgwACNGjVKO3bsUPny5RUaGqqzZ88muf/8+fM1dOhQjRo1Svv27dOMGTO0aNEiDR8+/AFXDgAAAAAAAOBBIKBNQ5MnT1aPHj3UtWtXlSpVSmFhYfLx8dHMmTOT3H/z5s2qWbOmnn32WYWEhKhBgwbq0KHDXWfdAgAAAAAAAMiYCGjTyI0bN7R9+3bVq1fP3ubi4qJ69eppy5YtSfapUaOGtm/fbg9kjxw5opUrV6px48bJnuf69euKiopy+AIAAAAAAACQMbhZXUBmdf78ecXGxiowMNChPTAwUPv370+yz7PPPqvz58+rVq1aMsbo5s2b6tWr1x2XOBg3bpzGjBnj1NoBAAAAAAAAPBjMoE1H1q9fr7Fjx+rDDz/Ujh07tGTJEq1YsUJvvfVWsn2GDRumyMhI+9eJEyceYMUAAAAAAAAA7gczaNNIrly55OrqqjNnzji0nzlzRkFBQUn2GTFihJ5//nm98MILkqSyZcsqOjpaL774ol5//XW5uCTO0z09PeXp6en8CwAAAAAAAACQ5phBm0Y8PDxUqVIlrV271t4WFxentWvXqnr16kn2uXLlSqIQ1tXVVZJkjEm7YgEAAAAAAABYghm0aWjAgAHq3LmzKleurKpVq2rKlCmKjo5W165dJUmdOnVSvnz5NG7cOElSs2bNNHnyZD366KOqVq2a/vrrL40YMULNmjWzB7UAAAAAAAAAMg8C2jTUvn17nTt3TiNHjtTp06dVoUIFrVq1yv7BYcePH3eYMfvGG2/IZrPpjTfe0MmTJ5U7d241a9ZMb7/9tlWXAAAAAAAAACAN2Qx/O5+pREVFyd/fX5GRkfLz87O6nFQrO6dsqvrt6bzHyZWkjZChK1LVL3x8EydX8pAb7Z/KfpHOrQMAAAAAAGQq95LRsQYtAAAAAAAAAFiEgBYAAAAAAAAALEJACwAAAAAAAAAWIaAFAAAAAAAAAIsQ0AIAAAAAAACARQhoAQAAAAAAAMAiBLQAAAAAAAAAYBECWgAAAAAAAACwCAEtAAAAAAAAAFiEgBYAAAAAAAAALEJACwAAAAAAAAAWIaAFAAAAAAAAAIsQ0AIAAAAAAACARQhoAQAAAAAAAMAiBLQAAAAAAAAAYBECWgAAAAAAAACwCAEtAAAAAAAAAFiEgBYAAAAAAAAALEJACwAAAAAAAAAWIaAFAAAAAAAAAIsQ0AIAAAAAAACARQhoAQAAAAAAAMAiBLQAAAAAAAAAYBECWgAAAAAAAACwCAEtAAAAAAAAAFiEgBYAAAAAAAAALEJACwAAAAAAAAAWcbO6AABAJjDaP5X9Ip1bBwAAAAAAGQwzaAEAAAAAAADAIgS0AAAAAAAAAGARAloAAAAAAAAAsAgBLQAAAAAAAABYhIAWAAAAAAAAACxCQAsAAAAAAAAAFiGgBQAAAAAAAACLENACAAAAAAAAgEUIaAEAAAAAAADAIgS0AAAAAAAAAGARAloAAAAAAAAAsAgBLQAAAAAAAABYhIA2GX/99ZdWr16tq1evSpKMMRZXBAAAAAAAACCzIaBN4MKFC6pXr56KFy+uxo0b69SpU5Kk7t27a+DAgRZXBwAAAAAAACAzcbO6gPSmf//+cnNz0/Hjx1WyZEl7e/v27TVgwABNmjTJwuqsEzJ0Rar6hY9v4uRKAAAAAAAAgMyDgDaBH374QatXr1b+/Pkd2osVK6Zjx45ZVBUAAAAAAACAzIglDhKIjo6Wj49PovaIiAh5enpaUBEAAAAAAACAzIqANoHHH39cc+fOtT+22WyKi4vTxIkTVadOHQsrAwAAAAAAAJDZsMRBAhMnTlTdunW1bds23bhxQ4MHD9Z//vMfRUREaNOmTVaXBwAAAAAAACATYQZtAmXKlNHBgwdVq1YttWjRQtHR0Xr66ae1c+dOFSlSxOryAAAAAAAAAGQizKBNgr+/v15//XWrywAAAAAAAACQyTGDNoFZs2bpyy+/TNT+5Zdfas6cORZUBAAAAAAAACCzIqBNYNy4ccqVK1ei9oCAAI0dO9aCigAAAAAAAABkVgS0CRw/flyFChVK1F6wYEEdP37cgooAAAAAAAAAZFYEtAkEBATojz/+SNS+e/du5cyZ04KKAAAAAAAAAGRWBLQJdOjQQX379tW6desUGxur2NhY/fTTT+rXr5+eeeYZq8sDAAAAAAAAkIm4WV1AevPWW28pPDxcdevWlZvbreGJi4tTp06dWIMWAAAAAAAAgFMR0Cbg4eGhRYsW6a233tLu3bvl7e2tsmXLqmDBglaXBgAAAAAAACCTIaBNRvHixVW8eHGrywAAAAAAAACQiRHQJhAbG6vZs2dr7dq1Onv2rOLi4hy2//TTTxZVBgAAAAAAACCzIaBNoF+/fpo9e7aaNGmiMmXKyGazWV0SAAAAAAAAgEyKgDaBhQsXavHixWrcuLHVpQAAAAAAAADI5FysLiC98fDwUNGiRa0uAwAAAAAAAMBDgIA2gYEDB2rq1KkyxlhdCgAAAAAAAIBMjiUOEti4caPWrVun77//XqVLl5a7u7vD9iVLllhUGQAAAAAAAIDMhoA2gWzZsqlVq1ZWlwEAAAAAAADgIUBAm8CsWbOsLgEAAAAAAADAQ4I1aAEAAAAAAADAIsygTcJXX32lxYsX6/jx47px44bDth07dlhUFZB6ZeeUTVW/PZ33OLkSAAAAAAAA3I4ZtAlMmzZNXbt2VWBgoHbu3KmqVasqZ86cOnLkiBo1amR1eQAAAAAAAAAyEQLaBD788EN98sknev/99+Xh4aHBgwfrxx9/VN++fRUZGWl1eQAAAAAAAAAyEQLaBI4fP64aNWpIkry9vXXp0iVJ0vPPP68FCxZYWRoAAAAAAACATIaANoGgoCBFRERIkgoUKKBff/1VknT06FEZY6wsDQAAAAAAAEAmQ0CbwFNPPaXly5dLkrp27ar+/furfv36at++vVq1amVxdQAAAAAAAAAyEzerC0hvPvnkE8XFxUmSXnnlFeXMmVObN29W8+bN1bNnT4urAwAAAAAAAJCZENAm8Pfffys4ONj++JlnntEzzzwjY4xOnDihAgUKWFgdAAAAAAAAgMyEJQ4SKFSokM6dO5eoPSIiQoUKFbKgIgAAAAAAAACZFQFtAsYY2Wy2RO2XL1+Wl5eXBRUBAAAAAAAAyKxY4uC/BgwYIEmy2WwaMWKEfHx87NtiY2O1detWVahQwaLqAAAAAAAAAGRGBLT/tXPnTkm3ZtDu2bNHHh4e9m0eHh4qX768XnvtNavKAwAAAAAAAJAJEdD+17p16yRJXbt21bRp0+Tr62txRQAAAAAAAAAyO9agvU1MTIw+//xzHTt2zOpSAAAAAAAAADwECGhv4+7urgIFCig2NtbqUgAAAAAAAAA8BAhoE3j99dc1fPhwRUREWF0KAAAAAAAAgEyOgDaBDz74QD///LPy5s2rEiVKqGLFig5f92r69OkKCQmRl5eXqlWrpt9+++2O+1+8eFGvvPKK8uTJI09PTxUvXlwrV65M7eUAAAAAAAAASMf4kLAEWrZs6bRjLVq0SAMGDFBYWJiqVaumKVOmKDQ0VAcOHFBAQECi/W/cuKH69esrICBAX331lfLly6djx44pW7ZsTqsJAAAAAAAAQPpBQJvAqFGjnHasyZMnq0ePHurataskKSwsTCtWrNDMmTM1dOjQRPvPnDlTERER2rx5s9zd3SVJISEhTqsHAAAAAAAAQPrCEgfJ2L59u7744gt98cUX2rlz5z33v3HjhrZv36569erZ21xcXFSvXj1t2bIlyT7Lly9X9erV9corrygwMFBlypTR2LFj7/ihZdevX1dUVJTDFwAAAAAAAICMgRm0CZw9e1bPPPOM1q9fb19a4OLFi6pTp44WLlyo3Llzp+g458+fV2xsrAIDAx3aAwMDtX///iT7HDlyRD/99JM6duyolStX6q+//tLLL7+smJiYZGf2jhs3TmPGjEn5BQIAAAAAAABIN5hBm0CfPn106dIl/ec//1FERIQiIiL0559/KioqSn379k3Tc8fFxSkgIECffPKJKlWqpPbt2+v1119XWFhYsn2GDRumyMhI+9eJEyfStEYAAAAAAAAAzsMM2gRWrVqlNWvWqGTJkva2UqVKafr06WrQoEGKj5MrVy65urrqzJkzDu1nzpxRUFBQkn3y5Mkjd3d3ubq62ttKliyp06dP68aNG/Lw8EjUx9PTU56enimuCwAAAAAAAED6wQzaBOLi4uwf0HU7d3d3xcXFpfg4Hh4eqlSpktauXetw7LVr16p69epJ9qlZs6b++usvh/McPHhQefLkSTKcBQAAAAAAAJCxEdAm8NRTT6lfv376559/7G0nT55U//79Vbdu3Xs61oABA/Tpp59qzpw52rdvn1566SVFR0era9eukqROnTpp2LBh9v1feuklRUREqF+/fjp48KBWrFihsWPH6pVXXnHOxQEAAAAAAABIV1jiIIEPPvhAzZs3V0hIiIKDgyVJJ06cUJkyZfTFF1/c07Hat2+vc+fOaeTIkTp9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sWPHqn///jp27JjFVWVct4fdO3fu1LBhw/Thhx9q48aNFleWMcWP5e+//64TJ07o22+/ValSpSyuKuO6/ZdY69atU1hYmMqVKycvLy8Lq8q4bv8FwkcffaS3335b0dHRFlf1YPG/F9yXpMKD6tWrq0KFCho4cKBu3rzJf5JTKOEshfhAoW7dusqdO7d+++03h3bcWcJ7M37catasqY0bNyomJkYSs0PuR61atbR//359/vnnVpeS4dx+3/3000+aM2eOZs6cqWHDhilbtmyqUqWKDh06REh7D+K/1wwbNkzjxo1TrVq11K1bN3366adq3bq1rly5YnGFGYvNZtOPP/6ojh076tlnn9WWLVtUrVo1hYWFacWKFVaXl+HYbDZ9//336tChgxo1aqTvvvtO/v7+GjdunH7++Wery8tQ4n94Gz9+vD755BO98847On78uHLkyKH58+fr999/t7jCjOP2H4YHDx6snj176qOPPtJLL72k9u3b2/+vhJSL/140ZMgQffDBB6pWrZo8PDwsripjuv2XByNGjFBYWJgk6YcfftCbb76pdevWWVlehrV06VK9+OKLWr9+vQoVKiSJn4dSK/79MywsTH/++aeGDRumatWqWVxVxhU/nlu3btXOnTv1/vvvP3TjSXKG+xL/TTMyMtLhjf21116Tu7u7vv/+e0m86d/N7f9B/uKLL7Rlyxa5urpKksqXL68SJUpo7NixkmRvx53F35s7duxQVFSUfdxee+01RUVFacyYMZKYHZJSCV/DMTExyp8/vzp06KANGzawru89ir/vPv30U/35558aMmSIQkND1b17d7333nuqXr26qlWrZg9p+cVM8m6/7/78808tX75c8+fP12uvvSZ/f3/5+PioUaNG8vHxse/H96Q7i4uL040bN7R48WL17dtX/fr1k5eXl+bOnWsPbiR+YZhScXFxunr1qmbMmKFBgwZpyJAhCg4O1oYNG/Tss88qNDTUvh/uzhijyMhIbdiwQVOnTtVTTz2lrVu3atmyZZo0aZIee+wxXb9+ndd5CsR/L7pw4YK2b9+ujRs36scff9Tq1au1YcMGtW7dmr84SoVvvvlGc+bM0XfffacePXooT548unz5ssLDwxUZGWl1eRlG/P35/vvva9q0aerUqZNWrVqlZcuW6fTp05oyZQq/4EoFf39/5cuXT+Hh4fbPObHZbLxnptLFixf1ySefqF+/fgoPD5fE/zPvx4oVK9S5c2d99913yp49u6SH6/9HBLRIldvfdL788kvlzZtXw4cPt8/yLF26tLJly6YFCxZIIgS7m/jx2bRpkxYvXqyaNWvq5Zdf1meffSZJGjlypHx9fTV37lwry8xwli1bpg4dOqhmzZr69ttvdfDgQbm7u6tv3776888/derUKatLzDDi79H4pUvc3d3l6empunXr6osvvtCePXuYLX+PTp48qY8//livvvqqoqKiJN16by1atKimTp2qGjVqqEaNGtq3bx+/mEnCCy+8oAMHDjjMMj537pxiYmJUp04dLV++XO3atdO7776rnj17KioqSosWLZLE96Tb3f6havHj6OLiIg8PD124cEHFixfXyZMnVaFCBTVu3Fjvv/++JGn58uVatWqVZXVnJC4uLvL29talS5dUu3ZtnTx5UqVKlVLjxo01bdo0SdJ3332nbdu2WVxpxmCz2eTl5aWoqCiVKFFC3377rVq3bq13331XL7zwgm7cuKEvvvhCv/zyi9WlZggTJ05Uq1atlCtXLhUsWFC5cuXS448/rm+++Ua///672rVrR0h7j86dO6cyZcqoYsWK+uOPPzR27Fg9+uijeuqppzR8+HCdO3fO6hIzlF9//VXNmjVTzZo1FRISosaNG2vy5MnasWOH3nrrLULaO0gq2Hrqqac0ZswY1a1bV1OnTtXy5cslEdKmVrZs2bRw4UI1a9ZMy5Yt019//cVa6Pcg4T0Xv+Tb5cuXtXjxYvuyWg/LvclP07hnp06dcpjOX6NGDQ0fPlx//fWXnnjiCb300kvavHmzJkyYoA0bNmjt2rUWV5x+fffddzp48KAk6Y033tDatWu1dOlSLV++XNevX9eIESPUoEEDLVu2TC4uLtq9e7fFFadvO3fu1I0bNyRJ06dPV0BAgD7++GPVqVNH/fr1U9euXTV58mSVLFlSGzdutP9CAUkzxjjMkFu4cKEaNGigESNG2D8crH379mrevLneffdd/oT8LhL+xyJv3ryaNGmS6tSpo48//lhnz561v7fGh7RFihRR//79rSg3Xft/9s46rqql6+N7q4BKg5SASispBiWKdIodiO01UVRUDLC7E0EUCxUVVOxuxcDuQgwUsVCUhvN7/zjvGfY+56De+zyPwGW+/1z27NnnM647sWbN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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 800x950 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAOsCAYAAADX7yC0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl4Tdfi//F3RmNMSagkVAxVYw0xlgiRlkyEUFVKtObSVumgl9Lqbd2r5ilSs6qY4iQIVY2xpoQOvlpDSUWCCkIihAy/P/xyriNBkkNTfF7P0+dJ9ll77bXXOZX9OWutvS2ysrKyEBERERERMYNlYTdAREREREQefwoWIiIiIiJiNgULERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIiIiIiJmU7AQERERERGzKViIiIiIiIjZFCxERERERMRsChYiIlLo5s2bx61btwq7GSIiYgYFCxERERERMZuChYiIiIiImE3BQkREREREzKZgISIiIiIiZlOwEBERERERsylYiIiIiIiI2RQsRERERETEbAoWIiIiIiJiNgULERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIiIiIiJmU7AQERERERGzKViIiIiIiIjZFCxERERERMRsChYiIiIiImI2BQsRERERETGbgoWIiIiIiJhNwUJERERERMymYCEiIiIiImZTsBAREREREbMpWIiIiIiIiNkULERERERExGwKFiIiIiIiYjYFCxERERERMZuChYiIiIiImM0iKysrq7AbISIiTzeLSemF3QR5yp2fH1HYTZCHaG7fLoXdhH+MsR/8fZf6GrEQERERERGzKViIiIiIiIjZFCxERERERMRsChYiIiIiImI2BQsRERERETGbgoWIiIiIiJhNwUJERERERMymYCFPBD8/PwYMGFDYzfhbBQcH4+bmRkJCQmE3pdCpLx6Op/H/IxEReXgULETkiRQdHU1wcDDJycmF3ZTH2vLly4mI0IPDRETkwawLuwEiIo9CTEwMISEh+Pn5YWdnV9jNeSysWbMGCwsLk23ffvstFStWxM/Pr5BaJSIijwsFCxGRp1h6ejoZGRkUKVIEW1vbwm6OiIg8xhQs5G918+ZNli1bxqZNmzhz5gy2trY0bNiQgQMH8vzzzxvLRUdHM2jQID755BOysrJYtmwZcXFx2Nvb061bN/r0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gyfRyZMnuXDhwn3LlCpVSk+Yfki0xkIKm9ZYPFm0xuJ//s41FhqxEHkCODg4aBrKQ1a1alWqVq1a2M0QERF5bGjxtoiIiIiImE1ToUREpNDNmzePoKAgbGxsCrspIiJSQBqxEBERERERsylYiIiIiIiI2RQsRERERETEbAoWIiIiIiJiNgULERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIiIiIiJmU7AQERERERGzKViIiIiIiIjZFCxERERERMRsFllZWVmF3QgREXm6WUxKL+wmPNbOz48o7CY8teb27VLYTfjHGPuBLimfdhqxEBERERERsylYiIiIiIiI2RQsRERERETEbAoWIiIiIiJiNgULERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIo9cREQEbm5uREdH56m8n58fAwYMeMStkjsFBwfj5uZGQkJCYTdFREQeUwoWIvJUi46OJjg4mOTk5MJuyj+O+kZERPJDwUJEHjlvb292795No0aNCrspOcTExBASEvLUXzy/8cYb7N69m4oVKxq3qW9ERCQ/FCxE5JGzsrKiSJEiWFrqn5x/mmvXrgFgbW1NkSJFsLCwKOQWiYjI48q6sBsgIn+fa9eusXjxYvbt28eZM2dITU2lQoUKeHp60r9/f4oWLWosm5WVxbp161i3bh0nT54EwMnJibZt2zJo0CBjuVu3brF8+XI2b97Mn3/+ibW1NZUrV8bX15dXXnkFuL3GYvz48cydOxc3NzfjvufOnWPq1Kns2bMHgEaNGvHee+/ds/379u1jyZIl/N///R83b96kcuXKBAYGEhgYaFLOz8+PihUrMnr0aKZMmcKhQ4ewsLCgWbNmvP/++zg4OAAwbtw41q9fD4C/v79x//79+zNw4MA89WlaWhqLFi1i8+bNnD9/HhsbGypUqEDLli15++23893+Pn36cPbsWTZu3Ii1tek/0Xv27GHYsGGMGDGCnj17ArffpzVr1rBu3TpOnTqFpaUltWvXpn///iZ9nZCQgL+/P/3798fV1ZUlS5Zw6tQpvLy8GDduHMHBwYSEhBAeHo6Tk9N9+6ZkyZJMmTKFmTNn0rx5c5M23rx5k44dO1KjRg3mzp2bpz4UEZEng4KFyFPkwoULGAwG2rVrR4cOHbCysuLgwYMsWbKEo0ePMnPmTGPZsWPHEhkZSd26denX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Lm3y4DO5P/WriIhI3ilYiDxCd67VuJeKFSsSEWHetIzz58/nuO1tbubOnVughc1PK/WriIhI3ilYiDxCPj4+NGjQ4L5l7n4qdEHY29sza9asB5a710PlJHfqVxERkbxTsBB5hFxcXHI8aOxRKFKkyEN/YJyoX0VERPJDi7dFRERERMRsut2siIgUunnz5hEUFKRF8CIijzGNWIiIiIiIiNkULERERERExGwKFiIiIiIiYjYFCxERERERMZuChYiIiIiImE3BQkREREREzKZgISIiIiIiZlOwEBERERERsylYiIiIiIiI2RQsRERERETEbAoWIiIiIiJiNgULERERERExm0VWVlZWYTdCRESebhaT0h9aXefnRzy0uvJqbt8uDywz9gP9uRWRJ5tGLERERERExGwKFiIiIiIiYjYFCxERERERMZuChYiIiIiImE3BQkREREREzKZgISIiIiIiZlOwEHkKJSQk4ObmRnBwcGE35aFYtWoVXbt2pUWLFri5uZGQkFDYTSo0wcHB+eqDiIgI3NzciI6OfsQtExGRJ511YTdARMQc0dHRTJw4kTZt2tCnTx+sra0pW7ZsYTfrHyU6OpqYmBh69uyJnZ1dYTdHRESeUAoWIvJY27dvHwBjx46ldOnShdyaf6aYmBhCQkLw8/PLESy8vb156aWXsLGxKaTWiYjIk0LBQkQeufT0dDIyMihSpMhDrzsxMRFAoaKArKyssLKyKuxmiIjIE0BrLEQekey56wcOHGDp0qV06tSJFi1a0KVLF9avX28sd7/1DrnNlx83bhxubm4kJSUxbtw4PD09cXd357333jNeZK9du5bAwEBatmxJ165d2bZt2z3buWnTJnr06EHLli3x8fEhODiY9PT0HOUSExP54osv8PHxoXnz5nTo0IHPP/+cS5cu5drmP/74g8mTJ+Pt7U3Lli359ddf89V/27Zto1+/frRq1YrWrVvTr18/k/PI7reIiAgA3NzccHNzY8CAAfk6TkpKCrNmzTL2l6enJ2+88QabN282lomNjeXLL7+ke/fuuLu78+KLL9KrVy/WrVuXo74rV67w1Vdf0alTJ2N9vXr1YsmSJcYy0dHRJm2/U/b7e6fDhw8zbtw4unTpwosvvoi7uzv9+vUjKirqgec3btw4QkJCAPD39zf2U/bn7V5rLG7evMmCBQvo3r07LVu2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g/etx9fXl3Hjxj2iVoqIiDxeFCxEnjAtWrRg1qxZhd2Mf7SIiAfPw3/33Xfve2tWIMctdEVERJ5mChYiTxgHB4eneprTw1KrVq3CboKIiMhjRYu3RURERETEbLrdrIiIFLp58+YRFBSEjY1NYTdFREQKSCMWIiIiIiJiNgULERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIiIiIiJmU7AQERERERGzKViIiIiIiIjZFCxERERERMRsChYiIiIiImI2BQsRERERETGbgoWIiIiIiJhNwUJERERERMxmkZWVlVXYjRARkaebxaT0HNvOz4/Itezcvl0eWTvGfqA/iSIiBaURCxERERERMZuChYiIiIiImE3BQkREREREzKZgISIiIiIiZlOwEBERERERsylYiIiIiIiI2RQsROSpFR0dTd++fXF3d8fNzY2IiNxvb/o0iI6Ofur7QEREzGNd2A0QESkMV69eZdSoUZQvX5533nmHokWLUr9+/cJu1j9KQkICEREReHh4ULNmzcJujoiI/MMpWIjIU+nIkSMkJyczZswY2rVrV9jN+UdKSEggJCQEJycnBQsREXkgTYUSkadSYmIiAKVKlSrkloiIiDwZNGIhIg907do1Fi9ezL59+zhz5gypqalUqFABT09P+vfvT9GiRY1lk5KSmDZtGjt27ODmzZvUqVOHd955h8mTJ3P27Nkcc/iPHDnCggULOHToEKmpqVSsWBEfHx/69OmDtXX+/4k6fvw4wcHBHDp0iOvXr+Ps7Iyvry+9evXCysoKAD8/P86ePQvAoEGDjPtGR0fn+ThZWVmsW7eOdevWcfLkSQCcnJxo27atsc789FtmZiYrVqwgPDychIQELCwssLe3p0GDBowePdrYF25ubvj6+jJu3DiT9kRERDB+/Hjmzp2Lm5sbABcuXGDZsmUcOHCAs2fPkpaWhrOzMz4+PvTu3dvYH7nJrg9g/Pjxxp8bNWrEiBEj6NWrF0FBQQwdOjTHvm+//TY//fQTmzZtolixYnnuUxERebwpWIjIA124cAGDwUC7du3o0KEDVlZWHDx4kCVLlnD06FFmzpwJwM2bNxkyZAjHjh3Dz8+POnXqcPz4cYYOHZrryMCuXbsYNWoUlSpVolevXpQqVYpff/2V4OBgjh07xsSJE/PVziNHjjBgwACsra3p1q0b9vb27Ny5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EJF/PBcXF+OD9x6lIkWK0KxZs0d+HBERkSeRFm+LiIiIiIjZdLtZEREpdPPmzSMoKEiL4kVEHmMasRAREREREbMpWIiIiIiIiNkULERERERExGwKFiIiIiIiYjYFCxERERERMZuChYiIiIiImE3BQkREREREzKZgISIiIiIiZlOwEBERERERsylYiIiIiIiI2RQsRERERETEbAoWIiIiIiJiNousrKyswm6EiIg83Swmpd/39fPzI+752ty+Xe6779gP9GdOROTvoBELERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIiIiIiJmU7AQERERERGzKViIiIiIiIjZFCxERB6CiIgI3NzciI6OLuymiIiIFAoFCxGRR+To0aMEBweTkJDwyI+1bds2goODH/lxRERE7kXBQkTkETl27BghISF/W7AICQl55McRERG5FwULERERERExm3VhN0BEnk63bt1i+fLlbN68mT///BNra2sqV66Mr68vr7zyCgAXLlxg2bJlHDhwgLNnz5KWloazszM+Pj707t0bKysrY31paWksWrSIzZs3c/78eWxsbKhQoQItW7bk7bffBiAhIQF/f3/69+/PwIEDTdoTHBxMSEgI4eHhODk5ARAbG8uKFSs4ePAg586dIyMjA1dXVwIDA+ncufN9zy+7PoBBgwYZt/v6+tKmTRtGjRrFxx9/TEBAQI59u3fvzs2bNwkLC8PCwuKBfTlgwAAOHjwIgJubm3H7J598wtGjR1mxYgVr166lcuXKJvslJibi4+ODt7c3n3zyiXF/X19fOnbsyJw5czh+/DglS5bEy8uLIUOGULx4cZM6UlJSWLBgAT/88APnz5+nRIkSNG3alCFDhuDi4vLAtouIyJNDwUJE/na3bt3irbfeIiYmhubNm9OxY0dsbW05ceIEUVFRxmBx/PhxoqKi8PDwwMXFhfT0dPbs2cPMmTOJj4/n448/NtY5ceJEwsPD8fHx4bXXXiMjI4O4uDgOHDhQ4HZGR0dz8OBBWrVqhZOTEzdu3OD7779nwoQJXL58maCgoHvu265dOxITEwkLCyMoKAhXV1cAXFxcqF27Nvb29oSHh+cIFr/++isnT55kyJAheQoVAP369SMrK4tDhw7x6aefGrfXr1+fWrVqsWLFCsLDw3nrrbdM9lu/fj0ZGRk5QtLvv//O1q1b6dy5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IiIiZlOwEBERERERsylYiIiIiIiI2RQsRERERETEbAoWIiIiIiJiNgULERERERExm4KFiIiIiIiYTcFCRERERETMpmAhIiIiIiJms8jKysoq7EaIiMjTzWJSuvHn8/MjjD/P7dslT/uP/UB/ykRECptGLERERERExGwKFiIiIiIiYjYFCxERERERMZuChYiIiIiImE3BQkREREREzKZgISIiIiIiZlOwEJFHLiIiAjc3N6Kjowvl+MHBwbi5uZGQkPBYH9PNzY1x48Y9tPrycxw/Pz8GDBjwyI8tIiKPLwULESkUR48eJTg4+G+92BcREZFHx7qwGyAiT6djx44REhJC48aNcXJyeqTHeuONN+jbty+2traP9DhPit27d2NlZVXYzRARkceMgoWIPPGsra2xttY/d3lVpEiRwm6CiIg8hvSXVuQf6NatWyxfvpzNmzfz559/Ym1tTeXKlfH19eWVV14B4MKFCyxbtowDBw5w9uxZ0tLScHZ2xsfHh969e5t845yWlsaiRYvYvHkz58+fx8bGhgoVKtCyZUvefvttABISEvD396d///4MHDjQpD3BwcGEhIQQHh5uHF2IjY1lxYoVHDx4kHPnzpGRkYGrqyuBgYF07tz5vueXXR/AoEGDjNt9fX1p06YNo0aN4uOPPyYgICDHvt27d+fmzZuEhYVhYWGRp/7Mrf3Z21auXElYWBjfffcdKSkp1K9fnw8++IAqVarwww8/MH/+fGJjYylXrhxBQUF06dLFpO7MzEwWL15MWFgYiYmJuLi4EBQUlKd23csff/zB1KlTOXToELa2trRs2ZIRI0bcs/x3331HaGgox48fJyMjg+rVq9O7d2/at2+fo2x0dDRLly7l8OHDXL9+HUdHRxo3bszw4cMpU6YMcHuNha+vb57Wcxw5coQFCxZw6NAhUlNTqVixIj4+PvTp00dhTkTkKaN/9UX+YW7dusVbb71FTEwMzZs3p2PHjtja2nLixAmioqKMweL48eNERUXh4eGBi4sL6enp7Nmzh5kzZxIfH8/HH39srHPixImEh4fj4+PDa6+9RkZGBnFxcRw4cKDA7YyOjubgwYO0atUKJycnbty4wffff8+ECRO4fPnyfS+u27VrR2JiImFhYQQFBeHq6gqAi4sLtWvXxt7envDw8BzB4tdff+XkyZMMGTIkz6HiQcaNG0ex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H+fOncPBgwdx9+5dWFpaYtWqVRg2bJhQx8nJCTt27MCOHTsQExODoqIi6OjowNzcHO+//77Mcwzc3NygpKSEn3/+GVu3bkW7du2EB+TNmzdP5tgqKipYt24dDh06hGPHjglJhJGREWxtbWVukidOnIjExETs378f5eXlaNeuHbp16wY/Pz+ZuR9z5sxBSUkJDh48iLKyMkilUkRGRjYrsRg6dCgqKiqwd+9erF+/Htra2nB2dsa8efOE4VgvmomJCUJDQ7FlyxbExMSgrKwMxsbG8PPzw7Rp02SGG+no6GD79u3Ytm0bTp48iZMnT0JTUxNWVlZ47733hHorV67Ehg0bcPr0aRw9ehQWFhaYM2cOVFRUsGLFCpnj9+zZE/Pnz0dYWBhWrVqFmpoazJgxo8HEQktLCyEhIcID8iIjI2FgYIDRo0dj1qxZcs+wICIiepRIyhl2RC+9hp6STPSqEK2RID8kClumyC63u+xT/okiImotOMeCiIiIiIgUxqFQREQNqKioeOqD8pSVlYVldomIiF5nTCyIiBqwa9cuBAcHP7GOiYkJoqKiXlBERERELy8mFkStgJeXl7ASFL04Hh4e6Nmz5xPrqKurv5hgiIiIXnJMLIiIGmBubg5zc/OWDoOIiKhV4ORtIiIiIiJSGBMLIiIiIiJSGIdCERFRiwvS2Qb9v/ywTJXPrSAiaq3YY0FERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERApjYkFERERERAoTSaVSaUsHQURErzfRGgkAID8kCgCwZcooAMCyT/knioiotWCPBRERERERKYyJBRERERERKYyJBRERERERKYyJBRERERERKYyJBRERERERKYyJBRERERERKYyJBRERERERKYyJBRHRKyo1NRVisRhRUVEtHQoREb0GmFgQEbVyGRkZCAoKQl5eXkuHQkRErzGVlg6AiIgUc+XKFQQHB8PBwQGmpqZCub29PRITE6Giwl/1RET0/PGvDRHRK0pJSQnq6uotHQYREb0mmFgQEbViQUFBCA4OBgD4+/sL5Z6envD09IS/vz+WL18OLy8vAA/nXdSVVVVV4ZdffsHt27dhYWGBefPmYcCAAbh27RrWr1+P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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1150x660 with 3 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAAKoCAYAAABN3UqBAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAjXFJREFUeJzs3Xd8E/X/B/BXdvcupRNoKYWWTdmryN4bERUEFZGlP7eiDBUXbhRERJD1VRlS9pK9RwFBNqW0tKV7z4z7/YEEQtJCGXdp+no+Hj5sPrnk3hcuySuf+9znZIIgCCAiIiKix0oudQFEREREVQFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXURUXFRWFqKgoqcugSuDSpUvo1q0bXF1dIZPJsGbNGqlLosdAJpNh+vTp91xu+vTpkMlkj78gG8LQRUQmkpKSMH36dJw8eVLqUsjKjBo1CqdPn8bMmTOxZMkSREZGSl0S2Thb+zxSSl0AEVmXpKQkzJgxAzVr1kTjxo2lLoesRFFREQ4ePIgpU6Zg4sSJUpdDj1FRURGUSuuIB7b2eWQdryoREVm1tLQ0AICbm5u0hdBjZ2dnJ3UJNouHF4kegcTERDz//PPw8/ODRqNBrVq18PLLL6O0tBSZmZl444030KBBAzg5OcHFxQU9e/bEqVOnzJ5n9uzZiIiIgIODA9zd3REZGYnly5cb73/uuedQs2ZNs8dZGluxcOFCPPHEE6hWrRo0Gg3Cw8Mxd+7ccrdj165daN68OQBg9OjRkMlkkMlkWLRoEaZNmwaVSmX88r3T2LFj4ebmhuLi4vt5uaq0vLw8vPrqq6hZsyY0Gg2qVauGrl27IiYmxrjM4cOH0aNHD7i6usLBwQEdO3bE/v37jfefO3cO9vb2GDlypMlz79u3DwqFAm+//XaFajpx4gR69uwJFxcXODk5oXPnzjh06JDx/unTp6NGjRoAgDfffBMymcziflgWg8GA7777Dg0aNICdnR28vb3Ro0cPHDt2rEJ1VkXXrl3D+PHjERYWBnt7e3h6emLo0KGIi4szWzY7Oxv/93//Z9y3AgICMHLkSKSnpxuXKS4uxvTp01GnTh3Y2dnB19cXgwYNwpUrV4zLWBrTtW/fPjRv3hx2dnYICQnBvHnzyqx56dKlaNasGezt7eHh4YHhw4cjISHBZJmoqCjUr18fZ8+eRadOneDg4AB/f3988cUXxmXK+zyqrNjTRfSQkpKS0KJFC2RnZ2Ps2LGoW7cuEhMTsXLlShQWFiI2NhZr1qzB0KFDUatWLaSkpGDevHno2LEjzp49Cz8/PwDA/PnzMXnyZAwZMgSvvPIKiouL8c8//+Dw4cMYMWJEheuaO3cuIiIi0K9fPyiVSqxbtw7jx4+HwWDAhAkTLD6mXr16+PDDDzF16lSMHTsW7du3BwC0adMG7dq1w4cffog//vjD5PBSaWkpVq5cicGDB/MX8n0YN24cVq5ciYkTJyI8PBwZGRnYt28fzp07h6ZNm2LHjh3o2bMnmjVrhmnTpkEulxsD9N69e9GiRQvUq1cPH330Ed58800MGTIE/fr1Q0FBAZ577jnUrVsXH3744X3X8++//6J9+/ZwcXHBW2+9BZVKhXnz5iEqKgq7d+9Gy5YtMWjQILi5ueH//u//8NRTT6FXr15wcnK673U8//zzWLRoEXr27IkXXngBOp0Oe/fuxaFDhzgu7B6OHj2KAwcOYPjw4QgICEBcXBzmzp2LqKgonD17Fg4ODgCA/Px8tG/fHufOncOYMWPQtGlTpKenY+3atbh+/Tq8vLyg1+vRp08f/P333xg+fDheeeUV5OXlYdu2bThz5gxCQkIs1nD69Gl069YN3t7emD59OnQ6HaZNmwYfHx+zZWfOnIkPPvgAw4YNwwsvvIC0tDTMnj0bHTp0wIkTJ0x6SrOystCjRw8MGjQIw4YNw8qVK/H222+jQYMG6NmzZ7mfR5WWQEQPZeTIkYJcLheOHj1qdp/BYBCKi4sFvV5v0n716lVBo9EIH374obGtf//+QkRERLnrGjVqlFCjRg2z9mnTpgl3v50LCwvNluvevbsQHBxs0taxY0ehY8eOxttHjx4VAAgLFy40e3zr1q2Fli1bmrStXr1aACDs3Lmz3NrpJldXV2HChAkW7zMYDEJoaKjQvXt3wWAwGNsLCwuFWrVqCV27djW26fV6oV27doKPj4+Qnp4uTJgwQVAqlRb3w/IMGDBAUKvVwpUrV4xtSUlJgrOzs9ChQwdj29WrVwUAwqxZsyr0/Dt27BAACJMnTza7785tJMssvY8PHjwoABAWL15sbJs6daoAQFi9erXZ8rde519//VUAIHz99ddlLiMIggBAmDZtmvH2gAEDBDs7O+HatWvGtrNnzwoKhcLkcycuLk5QKBTCzJkzTZ779OnTglKpNGnv2LGj2TaUlJQI1atXFwYPHmxsK+/zqDLi4UWih2AwGLBmzRr07dvX4i92mUwGjUYDufzmW02v1yMjIwNOTk4ICwszOaTk5uaG69ev4+jRo4+kNnt7e+PfOTk5SE9PR8eOHREbG4ucnJwHes6RI0fi8OHDJocili1bhsDAQHTs2PGha64K3NzccPjwYSQlJZndd/LkSVy6dAkjRoxARkYG0tPTkZ6ejoKCAnTu3Bl79uyBwWAAAMjlcixatAj5+fno2bMn5syZg3fffbdCPUd6vR5bt27FgAEDEBwcbGz39fXFiBEjsG/fPuTm5j7U9q5atQoymQzTpk0zu4/TDdzbne9jrVaLjIwM1K5dG25ubiafH6tWrUKjRo0wcOBAs+e49TqvWrUKXl5emDRpUpnL3E2v12PLli0YMGAAgoKCjO316tVD9+7dTZZdvXo1DAYDhg0bZtx309PTUb16dYSGhmLnzp0myzs5OeGZZ54x3lar1WjRogViY2PLe0kqNYYuooeQlpaG3Nxc1K9fv8xlDAYDvvnmG4SGhkKj0cDLywve3t74559/TMLP22+/DScnJ7Ro0QKhoaGYMGGCyTieitq/fz+6dOkCR0dHuLm5wdvbG++99x4APHDoevLJJ6HRaLBs2TLj86xfvx5PP/00v0Dv0xdffIEzZ84gMDAQLVq0wPTp041fMpcuXQJwc2oGb29vk/9++eUXlJSUmPzbhYSEYPr06Th69CgiIiLwwQcfVKiWtLQ0FBYWIiwszOy+evXqwWAwmI3FqagrV67Az88PHh4eD/U8VVVRURGmTp2KwMBAk8+P7Oxsk33hypUr5X4O3VomLCysQmcmpqWloaioCKGhoWb33b3fXLp0CYIgIDQ01Gz/PXfuHFJTU02WDwgIMPvccHd3R1ZW1n3XV9lwTBfRY/bJJ5/ggw8+wJgxY/DRRx/Bw8MDcrkcr776qrHXArj5JXfhwgWsX78emzdvxqpVqzBnzhxMnToVM2bMAFD+r9E7XblyBZ07d0bdunXx9ddfIzAwEGq1Ghs3bsQ333xjst6KcHd3R58+fbBs2TJMnToVK1euRElJicmvVSrfsGHD0L59e/z111/YunUrZs2ahc8//9zYSwAAs2bNKvP0+LvHUm3duhXAzbGFGRkZqF69+mOtn8Q1adIkLFy4EK+++ipat25tnJh2+PDhD/w+flwMBgNkMhk2bdoEhUJhdv/d+66lZQBAEITHUp81YOgiegje3t5wcXHBmTNnylxm5cqV6NSpExYsWGDSnp2dDS8vL5M2R0dHPPnkk3jyySdRWlqKQYMGYebMmXj33XdhZ2cHd3d3ZGdnm63j2rVrJrfXrVuHkpISrF271uSQwN3d+5bcq8dq5MiR6N+/P44ePYply5ahSZMmiIiIuOfz0m2+vr4YP348xo8fj9TUVDRt2hQzZ87EN998AwBwcXFBly5d7vk8P/30E7Zt24aZM2fi008/xUsvvYTo6Oj7rsPb2xsODg64cOGC2X3nz5+HXC5HYGDg/W+YBSEhIdiyZQsyMzPZ2/UAVq5ciVGjRuGrr74ythUXF5t9DoSEhJT7OXRrmcOHD0Or1UKlUt3X+r29vWFvb2/shb3T3ftNSEgIBEFArVq1UKdOnft6/nuxtR50Hl4keghyuRwDBgzAunXrLJ7+LggCFAqF2S+3FStWIDEx0aQtIyPD5LZarUZ4eDgEQYBWqwVw80MtJycH//zzj3G55ORk/PXXXyaPvfUL8s715uTkYOHChffcJkdHRwCwGO4AoGfPnvDy8sLnn3+O3bt3m/RynT9/HvHx8SbLx8fH4/z58yZt6enpOH/+PAoLC+9Zjy3R6/Vmh3arVasGPz8/lJSUoFmzZggJCcGXX36J/Px8s8ffOV3H1atX8eabb2Lw4MF477338OWXX2Lt2rVYvHjxfdejUCjQrVs3REdHm0xBkJKSguXLl6Ndu3ZwcXGp+IbeYfDgwRAEwdhbe6c798/73U8KCwtx/vx5k2kQbJmlz4/Zs2eb9W4PHjwYp06dMvssAG6/zoMHD0Z6ejp++OGHMpextP7u3btjzZo1Ju/tc+fOYcuWLSbLDho0CAqFAjNmzDB7PkEQzD7j7kd5n0cV2T8sfTZJQorR+0S25Pr160L16tUFBwcH4dVXXxXmzZsnTJ8+XYiIiBCysrKMZxU999xzws8//yxMmjRJ8PDwEIKDg03OGmzatKnQq1cvYebMmcIvv/wivP7664JGoxH69u1rXCY9PV1wdHQUgoODhW+//Vb45JNPhMDAQKFp06YmZxGdP39eUKvVQoMGDYQffvhB+Oyzz4SQkBChUaNGAgDh6tWrxmXvPnuxtLRUcHNzE8LCwoRffvlF+N///ifExsaabPPEiRMFAIJCoRCSkpKM7QBMnuvW89/9UXPrbMuqdsZjVlaW4OjoKIwaNUr4+uuvhZ9//lkYNmyYAED46quvBEEQhJ07dwp2dnZCUFCQMG3aNOHnn38Wpk2bJnTo0EHo06ePIAg3zzSLiooSvL29hdTUVOPzd+3aVXBzcxMSExPvu6YzZ84Ijo6Ogr+/vzBz5kzh888/F4KDgwWNRiMcOnTIuNyDnr0oCILw7LPPCgCEnj17Ct99953wzTffCIMGDRJmz55tXOZ+95OdO3eanV1ny0aOHCkoFArhlVdeEebNmyc899xzQkBAgODp6SmMGjXKuFxeXp4QHh4uKBQK4cUXXxR++ukn4ZNPPhFatWolnDx5UhAEQdDpdEJUVJQAQBg+fLjw448/Cl988YXQrVs3Yc2aNcbnuvv1PXXqlHGf/Oyzz4SPP/5Y8PHxERo2bGj2b/bpp58KAIQ2bdoIX3zxhTB37lzhrbfeEkJDQ032nY4dO1o8W/vuM7TL+zyqyP5h6bNJCgxdRI/AtWvXhJEjRwre3t6CRqMRgoODhQkTJgglJSVCcXGx8Prrrwu+vr6Cvb290LZtW+HgwYNmYWfevHlChw4dBE9PT0Gj0QghISHCm2++KeTk5Jisa+vWrUL9+vUFtVothIWFCUuXLrU4ZcTatWuFhg0bCnZ2dkLNmjWFzz//3HjKeHmhSxAEITo6WggPDxeUSqXF07WPHDkiABC6detm0s7QVb6SkhLhzTffFBo1aiQ4OzsLjo6OQqNGjYQ5c+aYLHfixAlh0KBBxn2hRo0awrBhw4S///5bEARB+O677wQAwqpVq0weFx8fL7i4uAi9evWqUF0xMTFC9+7dBScnJ8HBwUHo1KmTcODAAZNlHiZ06XQ6YdasWULdunUFtVoteHt7Cz179hSOHz9uXIahy7KsrCxh9OjRgpeXl+Dk5CR0795dOH/+vFCjRg2T0CUIgpCRkSFMnDhR8Pf3F9RqtRAQECCMGjVKSE9PNy5TWFgoTJkyRahVq5agUqmE6tWrC0OGDDGZMsTS67t7926hWbNmglqtFoKDg4WffvrJ4ueOIAjCqlWrhHbt2gmOjo6Co6OjULduXWHChAnChQsXjMvcb+gShLI/jypj6JIJgg2PWCOix+LUqVNo3LgxFi9ejGeffVbqcoiIKgWO6SKiCps/fz6cnJwwaNAgqUshIqo0ePYiEd23devW4ezZs/j5558xceJE4yBXsj75+fkWB+Pfydvbu8zT9u9Fr9dbvA7nnZycnCp0uSAiW8fDi0R032rWrImUlBR0794dS5YsgbOzs9QlURmmT59u8YzBO129erVCF66+U1xcHGrVqlXuMtOmTTO7cDJRVcbQRURkg2JjY+95OZV27do98EXKi4uLsW/fvnKXCQ4ONrm8EFFVx9BFREREJAIOpCciIiISAUMXERERkQh49iKRjdJqtcbL/owePfq+r7VGVRf3Gaoo7jMVw54uIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQgYuoiIiIhEwNBFREREJAKGLiIiIiIRMHQRERERiYChi4iIiEgEDF1EREREImDoIiIiIhIBQxcRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQgYuoiIiIhEwNBFREREJAKGLiIiIiIRMHQRERERiYChi4iIiEgEDF1EREREImDoIiIiIhIBQxcRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQgYuoiIiIhEwNBFREREJAKGLiIiIiIRMHQRERERiYChi4iIiEgEDF1EREREImDoIiIiIhIBQxcRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMX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ZdESaGQ6jB49GioVz1+k8mm1WixcuBAAEN5jNCK85XC3V0hcFVkzrVYL9+8yUAQNil9x4ufMPfDnC5GNUsoBjYzTXdKDaekLqFQMXHRvX7us/e+v0ZLWURnw8CIRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQgYuoiIiIhEwNBFREREJAKGLiIiIiIRMHQRERERiYChi4iIiEgEDF1EREREImDoIiIiIhIBQxcRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQgYuoiIiIhEwNBFREREJAKGLiIiIiIRMHQRERERiYChi4iIiEgEDF1EREREImDoIiIiIhIBQxcRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQgYuoiIiIhEwNBFREREJAKGLiIiIiIRMHQRERERiYChi4iIiEgEDF1EREREImDoIiIiIhIBQxcRERGRCBi6iIiIiETA0EVEREQkAoYuIiIiIhEwdBERERGJgKGLiIiISAQMXUREREQiYOgiIiIiEgFDFxEREZEIGLqIiIiIRMDQRURERCQChi4iIiIiETB0EREREYmAoYuIiIhIBAxdRERERCJg6CIiIiISAUMXERERkQiUUhdA9DgJgoC8vDypy5CEVqtFUVERACA3NxcqlUriiqTj7OwMmUx2X8tyn+E+A3CfuV/cZ267n31GJgiCIFI9RKLLzc2Fq6ur1GWQxHJycuDi4nJfy3KfIYD7DFXc/ewzDF1k0yryCzQ/Px+9e/fGhg0b4OTk9JgrEwe36abH1WvB17dy4D7zeHGbbrqffYaHF8mmyWSy+/61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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<div align='center'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAWCAYAAAA1vze2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdxJREFUeNq0Vt1Rg0AQJjcpgBJiBWIFkgoMFYhPPAIVECogPuYpdJBYgXQQrMCUkA50V7+d2ZwXuXPGm9khHLu3f9+3l1nkWNvtNqfHLgpfQ1EUS3tz5nAQ0+NIsiAZSc6eDlI8M3J00B/mDuUKDk6kfOebAgW3pkdD0pFcODGW4gKKvOrAUm04MA4QDt1OEIXU9hDigfS5rC1eS5T90gltck1Xrizo257kgySZcNRzgCSxCvgiE9nckPJo2b/B2AcEkk2OwL8bD8gmOKR1GPbaCUqxEgTq0tLvgb6zfo7+DgYGkkWL2tqLDV4RSITfbHPPfJKIrWz4nJQTMPAWA7IbD6imcNaDeDfgk+4No+wZr40BL3g9eQJJCFqRQ54KiSt72lsLpE3o3MCBSxDuq4yOckU2hKXRuwBH3OyMR4g1UpyTYw6mlmBqNdUXRM1NfyF5EPI6JkcpIDBIX8jX6DR/6ckAZJ0wEAdLR8DEk6OfC1Pp8BKo6TQIwPJbvJ6toK5lmuvJoRtfK6Ym1iRYIarRo2UyYHvRN5qpakR3yoizWrouoyuXXQqI185LCw07op5ZyCRGL99h24InP0e9xdQukEKVmhzrqZuRIfwISB//cP3Wk3f8f/yR+BRgAHu00HjLcEQBAAAAAElFTkSuQmCC' /></div><script charset='utf-8'>/*! For license information please see bundle.js.LICENSE.txt */\n",
              "(()=>{var e,t,n={221:(e,t,n)=>{\"use strict\";var r=n(540);function a(e){var t=\"https://react.dev/errors/\"+e;if(1<arguments.length){t+=\"?args[]=\"+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n])}return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}function i(){}var o={d:{f:i,r:function(){throw Error(a(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},u=Symbol.for(\"react.portal\"),l=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function s(e,t){return\"font\"===e?\"\":\"string\"==typeof t?\"use-credentials\"===t?t:\"\":void 0}t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=o,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(a(299));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:u,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.flushSync=function(e){var t=l.T,n=o.p;try{if(l.T=null,o.p=2,e)return e()}finally{l.T=t,o.p=n,o.d.f()}},t.preconnect=function(e,t){\"string\"==typeof e&&(t=t?\"string\"==typeof(t=t.crossOrigin)?\"use-credentials\"===t?t:\"\":void 0:null,o.d.C(e,t))},t.prefetchDNS=function(e){\"string\"==typeof e&&o.d.D(e)},t.preinit=function(e,t){if(\"string\"==typeof e&&t&&\"string\"==typeof t.as){var n=t.as,r=s(n,t.crossOrigin),a=\"string\"==typeof t.integrity?t.integrity:void 0,i=\"string\"==typeof t.fetchPriority?t.fetchPriority:void 0;\"style\"===n?o.d.S(e,\"string\"==typeof t.precedence?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:i}):\"script\"===n&&o.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:i,nonce:\"string\"==typeof t.nonce?t.nonce:void 0})}},t.preinitModule=function(e,t){if(\"string\"==typeof e)if(\"object\"==typeof t&&null!==t){if(null==t.as||\"script\"===t.as){var n=s(t.as,t.crossOrigin);o.d.M(e,{crossOrigin:n,integrity:\"string\"==typeof t.integrity?t.integrity:void 0,nonce:\"string\"==typeof t.nonce?t.nonce:void 0})}}else null==t&&o.d.M(e)},t.preload=function(e,t){if(\"string\"==typeof e&&\"object\"==typeof t&&null!==t&&\"string\"==typeof t.as){var n=t.as,r=s(n,t.crossOrigin);o.d.L(e,n,{crossOrigin:r,integrity:\"string\"==typeof t.integrity?t.integrity:void 0,nonce:\"string\"==typeof t.nonce?t.nonce:void 0,type:\"string\"==typeof t.type?t.type:void 0,fetchPriority:\"string\"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:\"string\"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:\"string\"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:\"string\"==typeof t.imageSizes?t.imageSizes:void 0,media:\"string\"==typeof t.media?t.media:void 0})}},t.preloadModule=function(e,t){if(\"string\"==typeof e)if(t){var n=s(t.as,t.crossOrigin);o.d.m(e,{as:\"string\"==typeof t.as&&\"script\"!==t.as?t.as:void 0,crossOrigin:n,integrity:\"string\"==typeof t.integrity?t.integrity:void 0})}else o.d.m(e)},t.requestFormReset=function(e){o.d.r(e)},t.unstable_batchedUpdates=function(e,t){return e(t)},t.useFormState=function(e,t,n){return l.H.useFormState(e,t,n)},t.useFormStatus=function(){return l.H.useHostTransitionStatus()},t.version=\"19.1.0\"},247:(e,t,n)=>{\"use strict\";var r=n(982),a=n(540),i=n(961);function o(e){var t=\"https://react.dev/errors/\"+e;if(1<arguments.length){t+=\"?args[]=\"+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n])}return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}function u(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function l(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function s(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function c(e){if(l(e)!==e)throw Error(o(188))}function f(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e;for(e=e.child;null!==e;){if(null!==(t=f(e)))return t;e=e.sibling}return null}var d=Object.assign,p=Symbol.for(\"react.element\"),h=Symbol.for(\"react.transitional.element\"),g=Symbol.for(\"react.portal\"),v=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),y=Symbol.for(\"react.profiler\"),b=Symbol.for(\"react.provider\"),w=Symbol.for(\"react.consumer\"),_=Symbol.for(\"react.context\"),k=Symbol.for(\"react.forward_ref\"),x=Symbol.for(\"react.suspense\"),S=Symbol.for(\"react.suspense_list\"),E=Symbol.for(\"react.memo\"),C=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");var T=Symbol.for(\"react.activity\");Symbol.for(\"react.legacy_hidden\"),Symbol.for(\"react.tracing_marker\");var P=Symbol.for(\"react.memo_cache_sentinel\");Symbol.for(\"react.view_transition\");var z=Symbol.iterator;function M(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=z&&e[z]||e[\"@@iterator\"])?e:null}var N=Symbol.for(\"react.client.reference\");function A(e){if(null==e)return null;if(\"function\"==typeof e)return e.$$typeof===N?null:e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case v:return\"Fragment\";case y:return\"Profiler\";case m:return\"StrictMode\";case x:return\"Suspense\";case S:return\"SuspenseList\";case T:return\"Activity\"}if(\"object\"==typeof e)switch(e.$$typeof){case g:return\"Portal\";case _:return(e.displayName||\"Context\")+\".Provider\";case w:return(e._context.displayName||\"Context\")+\".Consumer\";case k:var t=e.render;return(e=e.displayName)||(e=\"\"!==(e=t.displayName||t.name||\"\")?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case E:return null!==(t=e.displayName||null)?t:A(e.type)||\"Memo\";case C:t=e._payload,e=e._init;try{return A(e(t))}catch(e){}}return null}var O=Array.isArray,L=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D={pending:!1,data:null,method:null,action:null},R=[],j=-1;function U(e){return{current:e}}function I(e){0>j||(e.current=R[j],R[j]=null,j--)}function $(e,t){j++,R[j]=e.current,e.current=t}var B=U(null),H=U(null),W=U(null),V=U(null);function q(e,t){switch($(W,t),$(H,e),$(B,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?af(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=of(t=af(t),e);else switch(e){case\"svg\":e=1;break;case\"math\":e=2;break;default:e=0}}I(B),$(B,e)}function Q(){I(B),I(H),I(W)}function Y(e){null!==e.memoizedState&&$(V,e);var t=B.current,n=of(t,e.type);t!==n&&($(H,e),$(B,n))}function G(e){H.current===e&&(I(B),I(H)),V.current===e&&(I(V),Gf._currentValue=D)}var K=Object.prototype.hasOwnProperty,X=r.unstable_scheduleCallback,Z=r.unstable_cancelCallback,J=r.unstable_shouldYield,ee=r.unstable_requestPaint,te=r.unstable_now,ne=r.unstable_getCurrentPriorityLevel,re=r.unstable_ImmediatePriority,ae=r.unstable_UserBlockingPriority,ie=r.unstable_NormalPriority,oe=r.unstable_LowPriority,ue=r.unstable_IdlePriority,le=r.log,se=r.unstable_setDisableYieldValue,ce=null,fe=null;function de(e){if(\"function\"==typeof le&&se(e),fe&&\"function\"==typeof fe.setStrictMode)try{fe.setStrictMode(ce,e)}catch(e){}}var pe=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(he(e)/ge|0)|0},he=Math.log,ge=Math.LN2,ve=256,me=4194304;function ye(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194048&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function be(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var a=0,i=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var u=134217727&r;return 0!==u?0!=(r=u&~i)?a=ye(r):0!=(o&=u)?a=ye(o):n||0!=(n=u&~e)&&(a=ye(n)):0!=(u=r&~i)?a=ye(u):0!==o?a=ye(o):n||0!=(n=r&~e)&&(a=ye(n)),0===a?0:0===t||t===a||t&i||!((i=a&-a)>=(n=t&-t)||32===i&&4194048&n)?a:t}function we(e,t){return!(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function _e(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ke(){var e=ve;return!(4194048&(ve<<=1))&&(ve=256),e}function xe(){var e=me;return!(62914560&(me<<=1))&&(me=4194304),e}function Se(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ee(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ce(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-pe(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194090&n}function Te(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-pe(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}function Pe(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ze(e){return 2<(e&=-e)?8<e?134217727&e?32:268435456:8:2}function Me(){var e=F.p;return 0!==e?e:void 0===(e=window.event)?32:cd(e.type)}var Ne=Math.random().toString(36).slice(2),Ae=\"__reactFiber$\"+Ne,Oe=\"__reactProps$\"+Ne,Le=\"__reactContainer$\"+Ne,Fe=\"__reactEvents$\"+Ne,De=\"__reactListeners$\"+Ne,Re=\"__reactHandles$\"+Ne,je=\"__reactResources$\"+Ne,Ue=\"__reactMarker$\"+Ne;function Ie(e){delete e[Ae],delete e[Oe],delete e[Fe],delete e[De],delete e[Re]}function $e(e){var t=e[Ae];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Le]||n[Ae]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=wf(e);null!==e;){if(n=e[Ae])return n;e=wf(e)}return t}n=(e=n).parentNode}return null}function Be(e){if(e=e[Ae]||e[Le]){var t=e.tag;if(5===t||6===t||13===t||26===t||27===t||3===t)return e}return null}function He(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e.stateNode;throw Error(o(33))}function We(e){var t=e[je];return t||(t=e[je]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Ve(e){e[Ue]=!0}var qe=new Set,Qe={};function Ye(e,t){Ge(e,t),Ge(e+\"Capture\",t)}function Ge(e,t){for(Qe[e]=t,e=0;e<t.length;e++)qe.add(t[e])}var Ke,Xe,Ze=RegExp(\"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"),Je={},et={};function tt(e,t,n){if(a=t,K.call(et,a)||!K.call(Je,a)&&(Ze.test(a)?et[a]=!0:(Je[a]=!0,0)))if(null===n)e.removeAttribute(t);else{switch(typeof n){case\"undefined\":case\"function\":case\"symbol\":return void e.removeAttribute(t);case\"boolean\":var r=t.toLowerCase().slice(0,5);if(\"data-\"!==r&&\"aria-\"!==r)return void e.removeAttribute(t)}e.setAttribute(t,\"\"+n)}var a}function nt(e,t,n){if(null===n)e.removeAttribute(t);else{switch(typeof n){case\"undefined\":case\"function\":case\"symbol\":case\"boolean\":return void e.removeAttribute(t)}e.setAttribute(t,\"\"+n)}}function rt(e,t,n,r){if(null===r)e.removeAttribute(n);else{switch(typeof r){case\"undefined\":case\"function\":case\"symbol\":case\"boolean\":return void e.removeAttribute(n)}e.setAttributeNS(t,n,\"\"+r)}}function at(e){if(void 0===Ke)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\n( *(at )?)/);Ke=t&&t[1]||\"\",Xe=-1<e.stack.indexOf(\"\\n    at\")?\" (<anonymous>)\":-1<e.stack.indexOf(\"@\")?\"@unknown:0:0\":\"\"}return\"\\n\"+Ke+e+Xe}var it=!1;function ot(e,t){if(!e||it)return\"\";it=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,\"props\",{set:function(){throw Error()}}),\"object\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&\"function\"==typeof n.catch&&n.catch((function(){}))}}catch(e){if(e&&r&&\"string\"==typeof e.stack)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=\"DetermineComponentFrameRoot\";var a=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,\"name\");a&&a.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,\"name\",{value:\"DetermineComponentFrameRoot\"});var i=r.DetermineComponentFrameRoot(),o=i[0],u=i[1];if(o&&u){var l=o.split(\"\\n\"),s=u.split(\"\\n\");for(a=r=0;r<l.length&&!l[r].includes(\"DetermineComponentFrameRoot\");)r++;for(;a<s.length&&!s[a].includes(\"DetermineComponentFrameRoot\");)a++;if(r===l.length||a===s.length)for(r=l.length-1,a=s.length-1;1<=r&&0<=a&&l[r]!==s[a];)a--;for(;1<=r&&0<=a;r--,a--)if(l[r]!==s[a]){if(1!==r||1!==a)do{if(r--,0>--a||l[r]!==s[a]){var c=\"\\n\"+l[r].replace(\" at new \",\" at \");return e.displayName&&c.includes(\"<anonymous>\")&&(c=c.replace(\"<anonymous>\",e.displayName)),c}}while(1<=r&&0<=a);break}}}finally{it=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:\"\")?at(n):\"\"}function ut(e){switch(e.tag){case 26:case 27:case 5:return at(e.type);case 16:return at(\"Lazy\");case 13:return at(\"Suspense\");case 19:return at(\"SuspenseList\");case 0:case 15:return ot(e.type,!1);case 11:return ot(e.type.render,!1);case 1:return ot(e.type,!0);case 31:return at(\"Activity\");default:return\"\"}}function lt(e){try{var t=\"\";do{t+=ut(e),e=e.return}while(e);return t}catch(e){return\"\\nError generating stack: \"+e.message+\"\\n\"+e.stack}}function st(e){switch(typeof e){case\"bigint\":case\"boolean\":case\"number\":case\"string\":case\"undefined\":case\"object\":return e;default:return\"\"}}function ct(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function ft(e){e._valueTracker||(e._valueTracker=function(e){var t=ct(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\"function\"==typeof n.get&&\"function\"==typeof n.set){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=\"\"+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function dt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=ct(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function pt(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var ht=/[\\n\"\\\\]/g;function gt(e){return e.replace(ht,(function(e){return\"\\\\\"+e.charCodeAt(0).toString(16)+\" \"}))}function vt(e,t,n,r,a,i,o,u){e.name=\"\",null!=o&&\"function\"!=typeof o&&\"symbol\"!=typeof o&&\"boolean\"!=typeof o?e.type=o:e.removeAttribute(\"type\"),null!=t?\"number\"===o?(0===t&&\"\"===e.value||e.value!=t)&&(e.value=\"\"+st(t)):e.value!==\"\"+st(t)&&(e.value=\"\"+st(t)):\"submit\"!==o&&\"reset\"!==o||e.removeAttribute(\"value\"),null!=t?yt(e,o,st(t)):null!=n?yt(e,o,st(n)):null!=r&&e.removeAttribute(\"value\"),null==a&&null!=i&&(e.defaultChecked=!!i),null!=a&&(e.checked=a&&\"function\"!=typeof a&&\"symbol\"!=typeof a),null!=u&&\"function\"!=typeof u&&\"symbol\"!=typeof u&&\"boolean\"!=typeof u?e.name=\"\"+st(u):e.removeAttribute(\"name\")}function mt(e,t,n,r,a,i,o,u){if(null!=i&&\"function\"!=typeof i&&\"symbol\"!=typeof i&&\"boolean\"!=typeof i&&(e.type=i),null!=t||null!=n){if((\"submit\"===i||\"reset\"===i)&&null==t)return;n=null!=n?\"\"+st(n):\"\",t=null!=t?\"\"+st(t):n,u||t===e.value||(e.value=t),e.defaultValue=t}r=\"function\"!=typeof(r=null!=r?r:a)&&\"symbol\"!=typeof r&&!!r,e.checked=u?e.checked:!!r,e.defaultChecked=!!r,null!=o&&\"function\"!=typeof o&&\"symbol\"!=typeof o&&\"boolean\"!=typeof o&&(e.name=o)}function yt(e,t,n){\"number\"===t&&pt(e.ownerDocument)===e||e.defaultValue===\"\"+n||(e.defaultValue=\"\"+n)}function bt(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t[\"$\"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+st(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function wt(e,t,n){null==t||((t=\"\"+st(t))!==e.value&&(e.value=t),null!=n)?e.defaultValue=null!=n?\"\"+st(n):\"\":e.defaultValue!==t&&(e.defaultValue=t)}function _t(e,t,n,r){if(null==t){if(null!=r){if(null!=n)throw Error(o(92));if(O(r)){if(1<r.length)throw Error(o(93));r=r[0]}n=r}null==n&&(n=\"\"),t=n}n=st(t),e.defaultValue=n,(r=e.textContent)===n&&\"\"!==r&&null!==r&&(e.value=r)}function kt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var xt=new Set(\"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\" \"));function St(e,t,n){var r=0===t.indexOf(\"--\");null==n||\"boolean\"==typeof n||\"\"===n?r?e.setProperty(t,\"\"):\"float\"===t?e.cssFloat=\"\":e[t]=\"\":r?e.setProperty(t,n):\"number\"!=typeof n||0===n||xt.has(t)?\"float\"===t?e.cssFloat=n:e[t]=(\"\"+n).trim():e[t]=n+\"px\"}function Et(e,t,n){if(null!=t&&\"object\"!=typeof t)throw Error(o(62));if(e=e.style,null!=n){for(var r in n)!n.hasOwnProperty(r)||null!=t&&t.hasOwnProperty(r)||(0===r.indexOf(\"--\")?e.setProperty(r,\"\"):\"float\"===r?e.cssFloat=\"\":e[r]=\"\");for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&St(e,a,r)}else for(var i in t)t.hasOwnProperty(i)&&St(e,i,t[i])}function Ct(e){if(-1===e.indexOf(\"-\"))return!1;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var Tt=new Map([[\"acceptCharset\",\"accept-charset\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"],[\"crossOrigin\",\"crossorigin\"],[\"accentHeight\",\"accent-height\"],[\"alignmentBaseline\",\"alignment-baseline\"],[\"arabicForm\",\"arabic-form\"],[\"baselineShift\",\"baseline-shift\"],[\"capHeight\",\"cap-height\"],[\"clipPath\",\"clip-path\"],[\"clipRule\",\"clip-rule\"],[\"colorInterpolation\",\"color-interpolation\"],[\"colorInterpolationFilters\",\"color-interpolation-filters\"],[\"colorProfile\",\"color-profile\"],[\"colorRendering\",\"color-rendering\"],[\"dominantBaseline\",\"dominant-baseline\"],[\"enableBackground\",\"enable-background\"],[\"fillOpacity\",\"fill-opacity\"],[\"fillRule\",\"fill-rule\"],[\"floodColor\",\"flood-color\"],[\"floodOpacity\",\"flood-opacity\"],[\"fontFamily\",\"font-family\"],[\"fontSize\",\"font-size\"],[\"fontSizeAdjust\",\"font-size-adjust\"],[\"fontStretch\",\"font-stretch\"],[\"fontStyle\",\"font-style\"],[\"fontVariant\",\"font-variant\"],[\"fontWeight\",\"font-weight\"],[\"glyphName\",\"glyph-name\"],[\"glyphOrientationHorizontal\",\"glyph-orientation-horizontal\"],[\"glyphOrientationVertical\",\"glyph-orientation-vertical\"],[\"horizAdvX\",\"horiz-adv-x\"],[\"horizOriginX\",\"horiz-origin-x\"],[\"imageRendering\",\"image-rendering\"],[\"letterSpacing\",\"letter-spacing\"],[\"lightingColor\",\"lighting-color\"],[\"markerEnd\",\"marker-end\"],[\"markerMid\",\"marker-mid\"],[\"markerStart\",\"marker-start\"],[\"overlinePosition\",\"overline-position\"],[\"overlineThickness\",\"overline-thickness\"],[\"paintOrder\",\"paint-order\"],[\"panose-1\",\"panose-1\"],[\"pointerEvents\",\"pointer-events\"],[\"renderingIntent\",\"rendering-intent\"],[\"shapeRendering\",\"shape-rendering\"],[\"stopColor\",\"stop-color\"],[\"stopOpacity\",\"stop-opacity\"],[\"strikethroughPosition\",\"strikethrough-position\"],[\"strikethroughThickness\",\"strikethrough-thickness\"],[\"strokeDasharray\",\"stroke-dasharray\"],[\"strokeDashoffset\",\"stroke-dashoffset\"],[\"strokeLinecap\",\"stroke-linecap\"],[\"strokeLinejoin\",\"stroke-linejoin\"],[\"strokeMiterlimit\",\"stroke-miterlimit\"],[\"strokeOpacity\",\"stroke-opacity\"],[\"strokeWidth\",\"stroke-width\"],[\"textAnchor\",\"text-anchor\"],[\"textDecoration\",\"text-decoration\"],[\"textRendering\",\"text-rendering\"],[\"transformOrigin\",\"transform-origin\"],[\"underlinePosition\",\"underline-position\"],[\"underlineThickness\",\"underline-thickness\"],[\"unicodeBidi\",\"unicode-bidi\"],[\"unicodeRange\",\"unicode-range\"],[\"unitsPerEm\",\"units-per-em\"],[\"vAlphabetic\",\"v-alphabetic\"],[\"vHanging\",\"v-hanging\"],[\"vIdeographic\",\"v-ideographic\"],[\"vMathematical\",\"v-mathematical\"],[\"vectorEffect\",\"vector-effect\"],[\"vertAdvY\",\"vert-adv-y\"],[\"vertOriginX\",\"vert-origin-x\"],[\"vertOriginY\",\"vert-origin-y\"],[\"wordSpacing\",\"word-spacing\"],[\"writingMode\",\"writing-mode\"],[\"xmlnsXlink\",\"xmlns:xlink\"],[\"xHeight\",\"x-height\"]]),Pt=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;function zt(e){return Pt.test(\"\"+e)?\"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\":e}var Mt=null;function Nt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var At=null,Ot=null;function Lt(e){var t=Be(e);if(t&&(e=t.stateNode)){var n=e[Oe]||null;e:switch(e=t.stateNode,t.type){case\"input\":if(vt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name=\"'+gt(\"\"+t)+'\"][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[Oe]||null;if(!a)throw Error(o(90));vt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)(r=n[t]).form===e.form&&dt(r)}break e;case\"textarea\":wt(e,n.value,n.defaultValue);break e;case\"select\":null!=(t=n.value)&&bt(e,!!n.multiple,t,!1)}}}var Ft=!1;function Dt(e,t,n){if(Ft)return e(t,n);Ft=!0;try{return e(t)}finally{if(Ft=!1,(null!==At||null!==Ot)&&($s(),At&&(t=At,e=Ot,Ot=At=null,Lt(t),e)))for(t=0;t<e.length;t++)Lt(e[t])}}function Rt(e,t){var n=e.stateNode;if(null===n)return null;var r=n[Oe]||null;if(null===r)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(r=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&\"function\"!=typeof n)throw Error(o(231,t,typeof n));return n}var jt=!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement),Ut=!1;if(jt)try{var It={};Object.defineProperty(It,\"passive\",{get:function(){Ut=!0}}),window.addEventListener(\"test\",It,It),window.removeEventListener(\"test\",It,It)}catch(e){Ut=!1}var $t=null,Bt=null,Ht=null;function Wt(){if(Ht)return Ht;var e,t,n=Bt,r=n.length,a=\"value\"in $t?$t.value:$t.textContent,i=a.length;for(e=0;e<r&&n[e]===a[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===a[i-t];t++);return Ht=a.slice(e,1<t?1-t:void 0)}function Vt(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function qt(){return!0}function Qt(){return!1}function Yt(e){function t(t,n,r,a,i){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?qt:Qt,this.isPropagationStopped=Qt,this}return d(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=qt)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=qt)},persist:function(){},isPersistent:qt}),t}var Gt,Kt,Xt,Zt={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Jt=Yt(Zt),en=d({},Zt,{view:0,detail:0}),tn=Yt(en),nn=d({},en,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:hn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==Xt&&(Xt&&\"mousemove\"===e.type?(Gt=e.screenX-Xt.screenX,Kt=e.screenY-Xt.screenY):Kt=Gt=0,Xt=e),Gt)},movementY:function(e){return\"movementY\"in e?e.movementY:Kt}}),rn=Yt(nn),an=Yt(d({},nn,{dataTransfer:0})),on=Yt(d({},en,{relatedTarget:0})),un=Yt(d({},Zt,{animationName:0,elapsedTime:0,pseudoElement:0})),ln=Yt(d({},Zt,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}})),sn=Yt(d({},Zt,{data:0})),cn={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},fn={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},dn={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function pn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=dn[e])&&!!t[e]}function hn(){return pn}var gn=Yt(d({},en,{key:function(e){if(e.key){var t=cn[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=Vt(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?fn[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:hn,charCode:function(e){return\"keypress\"===e.type?Vt(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?Vt(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}})),vn=Yt(d({},nn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),mn=Yt(d({},en,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:hn})),yn=Yt(d({},Zt,{propertyName:0,elapsedTime:0,pseudoElement:0})),bn=Yt(d({},nn,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),wn=Yt(d({},Zt,{newState:0,oldState:0})),_n=[9,13,27,32],kn=jt&&\"CompositionEvent\"in window,xn=null;jt&&\"documentMode\"in document&&(xn=document.documentMode);var Sn=jt&&\"TextEvent\"in window&&!xn,En=jt&&(!kn||xn&&8<xn&&11>=xn),Cn=String.fromCharCode(32),Tn=!1;function Pn(e,t){switch(e){case\"keyup\":return-1!==_n.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function zn(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var Mn=!1,Nn={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function An(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!Nn[e.type]:\"textarea\"===t}function On(e,t,n,r){At?Ot?Ot.push(r):Ot=[r]:At=r,0<(t=Wc(t,\"onChange\")).length&&(n=new Jt(\"onChange\",\"change\",null,n,r),e.push({event:n,listeners:t}))}var Ln=null,Fn=null;function Dn(e){Dc(e,0)}function Rn(e){if(dt(He(e)))return e}function jn(e,t){if(\"change\"===e)return t}var Un=!1;if(jt){var In;if(jt){var $n=\"oninput\"in document;if(!$n){var Bn=document.createElement(\"div\");Bn.setAttribute(\"oninput\",\"return;\"),$n=\"function\"==typeof Bn.oninput}In=$n}else In=!1;Un=In&&(!document.documentMode||9<document.documentMode)}function Hn(){Ln&&(Ln.detachEvent(\"onpropertychange\",Wn),Fn=Ln=null)}function Wn(e){if(\"value\"===e.propertyName&&Rn(Fn)){var t=[];On(t,Fn,e,Nt(e)),Dt(Dn,t)}}function Vn(e,t,n){\"focusin\"===e?(Hn(),Fn=n,(Ln=t).attachEvent(\"onpropertychange\",Wn)):\"focusout\"===e&&Hn()}function qn(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return Rn(Fn)}function Qn(e,t){if(\"click\"===e)return Rn(t)}function Yn(e,t){if(\"input\"===e||\"change\"===e)return Rn(t)}var Gn=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Kn(e,t){if(Gn(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!K.call(t,a)||!Gn(e[a],t[a]))return!1}return!0}function Xn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Zn(e,t){var n,r=Xn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Xn(r)}}function Jn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Jn(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function er(e){for(var t=pt((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n=\"string\"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=pt((e=t.contentWindow).document)}return t}function tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var nr=jt&&\"documentMode\"in document&&11>=document.documentMode,rr=null,ar=null,ir=null,or=!1;function ur(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;or||null==rr||rr!==pt(r)||(r=\"selectionStart\"in(r=rr)&&tr(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},ir&&Kn(ir,r)||(ir=r,0<(r=Wc(ar,\"onSelect\")).length&&(t=new Jt(\"onSelect\",\"select\",null,t,n),e.push({event:t,listeners:r}),t.target=rr)))}function lr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var sr={animationend:lr(\"Animation\",\"AnimationEnd\"),animationiteration:lr(\"Animation\",\"AnimationIteration\"),animationstart:lr(\"Animation\",\"AnimationStart\"),transitionrun:lr(\"Transition\",\"TransitionRun\"),transitionstart:lr(\"Transition\",\"TransitionStart\"),transitioncancel:lr(\"Transition\",\"TransitionCancel\"),transitionend:lr(\"Transition\",\"TransitionEnd\")},cr={},fr={};function dr(e){if(cr[e])return cr[e];if(!sr[e])return e;var t,n=sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in fr)return cr[e]=n[t];return e}jt&&(fr=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete sr.animationend.animation,delete sr.animationiteration.animation,delete sr.animationstart.animation),\"TransitionEvent\"in window||delete sr.transitionend.transition);var pr=dr(\"animationend\"),hr=dr(\"animationiteration\"),gr=dr(\"animationstart\"),vr=dr(\"transitionrun\"),mr=dr(\"transitionstart\"),yr=dr(\"transitioncancel\"),br=dr(\"transitionend\"),wr=new Map,_r=\"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function kr(e,t){wr.set(e,t),Ye(t,[e])}_r.push(\"scrollEnd\");var xr=new WeakMap;function Sr(e,t){if(\"object\"==typeof e&&null!==e){var n=xr.get(e);return void 0!==n?n:(t={value:e,source:t,stack:lt(t)},xr.set(e,t),t)}return{value:e,source:t,stack:lt(t)}}var Er=[],Cr=0,Tr=0;function Pr(){for(var e=Cr,t=Tr=Cr=0;t<e;){var n=Er[t];Er[t++]=null;var r=Er[t];Er[t++]=null;var a=Er[t];Er[t++]=null;var i=Er[t];if(Er[t++]=null,null!==r&&null!==a){var o=r.pending;null===o?a.next=a:(a.next=o.next,o.next=a),r.pending=a}0!==i&&Ar(n,a,i)}}function zr(e,t,n,r){Er[Cr++]=e,Er[Cr++]=t,Er[Cr++]=n,Er[Cr++]=r,Tr|=r,e.lanes|=r,null!==(e=e.alternate)&&(e.lanes|=r)}function Mr(e,t,n,r){return zr(e,t,n,r),Or(e)}function Nr(e,t){return zr(e,null,null,t),Or(e)}function Ar(e,t,n){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n);for(var a=!1,i=e.return;null!==i;)i.childLanes|=n,null!==(r=i.alternate)&&(r.childLanes|=n),22===i.tag&&(null===(e=i.stateNode)||1&e._visibility||(a=!0)),e=i,i=i.return;return 3===e.tag?(i=e.stateNode,a&&null!==t&&(a=31-pe(n),null===(r=(e=i.hiddenUpdates)[a])?e[a]=[t]:r.push(t),t.lane=536870912|n),i):null}function Or(e){if(50<As)throw As=0,Os=null,Error(o(185));for(var t=e.return;null!==t;)t=(e=t).return;return 3===e.tag?e.stateNode:null}var Lr={};function Fr(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dr(e,t,n,r){return new Fr(e,t,n,r)}function Rr(e){return!(!(e=e.prototype)||!e.isReactComponent)}function jr(e,t){var n=e.alternate;return null===n?((n=Dr(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=65011712&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Ur(e,t){e.flags&=65011714;var n=e.alternate;return null===n?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ir(e,t,n,r,a,i){var u=0;if(r=e,\"function\"==typeof e)Rr(e)&&(u=1);else if(\"string\"==typeof e)u=function(e,t,n){if(1===n||null!=t.itemProp)return!1;switch(e){case\"meta\":case\"title\":return!0;case\"style\":if(\"string\"!=typeof t.precedence||\"string\"!=typeof t.href||\"\"===t.href)break;return!0;case\"link\":if(\"string\"!=typeof t.rel||\"string\"!=typeof t.href||\"\"===t.href||t.onLoad||t.onError)break;return\"stylesheet\"!==t.rel||(e=t.disabled,\"string\"==typeof t.precedence&&null==e);case\"script\":if(t.async&&\"function\"!=typeof t.async&&\"symbol\"!=typeof t.async&&!t.onLoad&&!t.onError&&t.src&&\"string\"==typeof t.src)return!0}return!1}(e,n,B.current)?26:\"html\"===e||\"head\"===e||\"body\"===e?27:5;else e:switch(e){case T:return(e=Dr(31,n,t,a)).elementType=T,e.lanes=i,e;case v:return $r(n.children,a,i,t);case m:u=8,a|=24;break;case y:return(e=Dr(12,n,t,2|a)).elementType=y,e.lanes=i,e;case x:return(e=Dr(13,n,t,a)).elementType=x,e.lanes=i,e;case S:return(e=Dr(19,n,t,a)).elementType=S,e.lanes=i,e;default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case b:case _:u=10;break e;case w:u=9;break e;case k:u=11;break e;case E:u=14;break e;case C:u=16,r=null;break e}u=29,n=Error(o(130,null===e?\"null\":typeof e,\"\")),r=null}return(t=Dr(u,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function $r(e,t,n,r){return(e=Dr(7,e,r,t)).lanes=n,e}function Br(e,t,n){return(e=Dr(6,e,null,t)).lanes=n,e}function Hr(e,t,n){return(t=Dr(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Wr=[],Vr=0,qr=null,Qr=0,Yr=[],Gr=0,Kr=null,Xr=1,Zr=\"\";function Jr(e,t){Wr[Vr++]=Qr,Wr[Vr++]=qr,qr=e,Qr=t}function ea(e,t,n){Yr[Gr++]=Xr,Yr[Gr++]=Zr,Yr[Gr++]=Kr,Kr=e;var r=Xr;e=Zr;var a=32-pe(r)-1;r&=~(1<<a),n+=1;var i=32-pe(t)+a;if(30<i){var o=a-a%5;i=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Xr=1<<32-pe(t)+a|n<<a|r,Zr=i+e}else Xr=1<<i|n<<a|r,Zr=e}function ta(e){null!==e.return&&(Jr(e,1),ea(e,1,0))}function na(e){for(;e===qr;)qr=Wr[--Vr],Wr[Vr]=null,Qr=Wr[--Vr],Wr[Vr]=null;for(;e===Kr;)Kr=Yr[--Gr],Yr[Gr]=null,Zr=Yr[--Gr],Yr[Gr]=null,Xr=Yr[--Gr],Yr[Gr]=null}var ra=null,aa=null,ia=!1,oa=null,ua=!1,la=Error(o(519));function sa(e){throw ga(Sr(Error(o(418,\"\")),e)),la}function ca(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Ae]=e,t[Oe]=r,n){case\"dialog\":Rc(\"cancel\",t),Rc(\"close\",t);break;case\"iframe\":case\"object\":case\"embed\":Rc(\"load\",t);break;case\"video\":case\"audio\":for(n=0;n<Lc.length;n++)Rc(Lc[n],t);break;case\"source\":Rc(\"error\",t);break;case\"img\":case\"image\":case\"link\":Rc(\"error\",t),Rc(\"load\",t);break;case\"details\":Rc(\"toggle\",t);break;case\"input\":Rc(\"invalid\",t),mt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0),ft(t);break;case\"select\":Rc(\"invalid\",t);break;case\"textarea\":Rc(\"invalid\",t),_t(t,r.value,r.defaultValue,r.children),ft(t)}\"string\"!=typeof(n=r.children)&&\"number\"!=typeof n&&\"bigint\"!=typeof n||t.textContent===\"\"+n||!0===r.suppressHydrationWarning||Kc(t.textContent,n)?(null!=r.popover&&(Rc(\"beforetoggle\",t),Rc(\"toggle\",t)),null!=r.onScroll&&Rc(\"scroll\",t),null!=r.onScrollEnd&&Rc(\"scrollend\",t),null!=r.onClick&&(t.onclick=Xc),t=!0):t=!1,t||sa(e)}function fa(e){for(ra=e.return;ra;)switch(ra.tag){case 5:case 13:return void(ua=!1);case 27:case 3:return void(ua=!0);default:ra=ra.return}}function da(e){if(e!==ra)return!1;if(!ia)return fa(e),ia=!0,!1;var t,n=e.tag;if((t=3!==n&&27!==n)&&((t=5===n)&&(t=!(\"form\"!==(t=e.type)&&\"button\"!==t)||uf(e.type,e.memoizedProps)),t=!t),t&&aa&&sa(e),fa(e),13===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,n=0;e;){if(8===e.nodeType)if(\"/$\"===(t=e.data)){if(0===n){aa=yf(e.nextSibling);break e}n--}else\"$\"!==t&&\"$!\"!==t&&\"$?\"!==t||n++;e=e.nextSibling}aa=null}}else 27===n?(n=aa,hf(e.type)?(e=bf,bf=null,aa=e):aa=n):aa=ra?yf(e.stateNode.nextSibling):null;return!0}function pa(){aa=ra=null,ia=!1}function ha(){var e=oa;return null!==e&&(null===bs?bs=e:bs.push.apply(bs,e),oa=null),e}function ga(e){null===oa?oa=[e]:oa.push(e)}var va=U(null),ma=null,ya=null;function ba(e,t,n){$(va,t._currentValue),t._currentValue=n}function wa(e){e._currentValue=va.current,I(va)}function _a(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ka(e,t,n,r){var a=e.child;for(null!==a&&(a.return=e);null!==a;){var i=a.dependencies;if(null!==i){var u=a.child;i=i.firstContext;e:for(;null!==i;){var l=i;i=a;for(var s=0;s<t.length;s++)if(l.context===t[s]){i.lanes|=n,null!==(l=i.alternate)&&(l.lanes|=n),_a(i.return,n,e),r||(u=null);break e}i=l.next}}else if(18===a.tag){if(null===(u=a.return))throw Error(o(341));u.lanes|=n,null!==(i=u.alternate)&&(i.lanes|=n),_a(u,n,e),u=null}else u=a.child;if(null!==u)u.return=a;else for(u=a;null!==u;){if(u===e){u=null;break}if(null!==(a=u.sibling)){a.return=u.return,u=a;break}u=u.return}a=u}}function xa(e,t,n,r){e=null;for(var a=t,i=!1;null!==a;){if(!i)if(524288&a.flags)i=!0;else if(262144&a.flags)break;if(10===a.tag){var u=a.alternate;if(null===u)throw Error(o(387));if(null!==(u=u.memoizedProps)){var l=a.type;Gn(a.pendingProps.value,u.value)||(null!==e?e.push(l):e=[l])}}else if(a===V.current){if(null===(u=a.alternate))throw Error(o(387));u.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(null!==e?e.push(Gf):e=[Gf])}a=a.return}null!==e&&ka(t,e,n,r),t.flags|=262144}function Sa(e){for(e=e.firstContext;null!==e;){if(!Gn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ea(e){ma=e,ya=null,null!==(e=e.dependencies)&&(e.firstContext=null)}function Ca(e){return Pa(ma,e)}function Ta(e,t){return null===ma&&Ea(e),Pa(e,t)}function Pa(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},null===ya){if(null===e)throw Error(o(308));ya=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ya=ya.next=t;return n}var za=\"undefined\"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach((function(e){return e()}))}},Ma=r.unstable_scheduleCallback,Na=r.unstable_NormalPriority,Aa={$$typeof:_,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Oa(){return{controller:new za,data:new Map,refCount:0}}function La(e){e.refCount--,0===e.refCount&&Ma(Na,(function(){e.controller.abort()}))}var Fa=null,Da=0,Ra=0,ja=null;function Ua(){if(0==--Da&&null!==Fa){null!==ja&&(ja.status=\"fulfilled\");var e=Fa;Fa=null,Ra=0,ja=null;for(var t=0;t<e.length;t++)(0,e[t])()}}var Ia=L.S;L.S=function(e,t){\"object\"==typeof t&&null!==t&&\"function\"==typeof t.then&&function(e,t){if(null===Fa){var n=Fa=[];Da=0,Ra=zc(),ja={status:\"pending\",value:void 0,then:function(e){n.push(e)}}}Da++,t.then(Ua,Ua)}(0,t),null!==Ia&&Ia(e,t)};var $a=U(null);function Ba(){var e=$a.current;return null!==e?e:rs.pooledCache}function Ha(e,t){$($a,null===t?$a.current:t.pool)}function Wa(){var e=Ba();return null===e?null:{parent:Aa._currentValue,pool:e}}var Va=Error(o(460)),qa=Error(o(474)),Qa=Error(o(542)),Ya={then:function(){}};function Ga(e){return\"fulfilled\"===(e=e.status)||\"rejected\"===e}function Ka(){}function Xa(e,t,n){switch(void 0===(n=e[n])?e.push(t):n!==t&&(t.then(Ka,Ka),t=n),t.status){case\"fulfilled\":return t.value;case\"rejected\":throw ei(e=t.reason),e;default:if(\"string\"==typeof t.status)t.then(Ka,Ka);else{if(null!==(e=rs)&&100<e.shellSuspendCounter)throw Error(o(482));(e=t).status=\"pending\",e.then((function(e){if(\"pending\"===t.status){var n=t;n.status=\"fulfilled\",n.value=e}}),(function(e){if(\"pending\"===t.status){var n=t;n.status=\"rejected\",n.reason=e}}))}switch(t.status){case\"fulfilled\":return t.value;case\"rejected\":throw ei(e=t.reason),e}throw Za=t,Va}}var Za=null;function Ja(){if(null===Za)throw Error(o(459));var e=Za;return Za=null,e}function ei(e){if(e===Va||e===Qa)throw Error(o(483))}var ti=!1;function ni(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ri(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ai(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ii(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&ns){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,t=Or(e),Ar(e,null,n),t}return zr(e,r,t,n),Or(e)}function oi(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194048&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Te(e,n)}}function ui(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===i?a=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?a=i=t:i=i.next=t}else a=i=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,callbacks:r.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var li=!1;function si(){if(li&&null!==ja)throw ja}function ci(e,t,n,r){li=!1;var a=e.updateQueue;ti=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,u=a.shared.pending;if(null!==u){a.shared.pending=null;var l=u,s=l.next;l.next=null,null===o?i=s:o.next=s,o=l;var c=e.alternate;null!==c&&(u=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===u?c.firstBaseUpdate=s:u.next=s,c.lastBaseUpdate=l)}if(null!==i){var f=a.baseState;for(o=0,c=s=l=null,u=i;;){var p=-536870913&u.lane,h=p!==u.lane;if(h?(is&p)===p:(r&p)===p){0!==p&&p===Ra&&(li=!0),null!==c&&(c=c.next={lane:0,tag:u.tag,payload:u.payload,callback:null,next:null});e:{var g=e,v=u;p=t;var m=n;switch(v.tag){case 1:if(\"function\"==typeof(g=v.payload)){f=g.call(m,f,p);break e}f=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(p=\"function\"==typeof(g=v.payload)?g.call(m,f,p):g))break e;f=d({},f,p);break e;case 2:ti=!0}}null!==(p=u.callback)&&(e.flags|=64,h&&(e.flags|=8192),null===(h=a.callbacks)?a.callbacks=[p]:h.push(p))}else h={lane:p,tag:u.tag,payload:u.payload,callback:u.callback,next:null},null===c?(s=c=h,l=f):c=c.next=h,o|=p;if(null===(u=u.next)){if(null===(u=a.shared.pending))break;u=(h=u).next,h.next=null,a.lastBaseUpdate=h,a.shared.pending=null}}null===c&&(l=f),a.baseState=l,a.firstBaseUpdate=s,a.lastBaseUpdate=c,null===i&&(a.shared.lanes=0),ps|=o,e.lanes=o,e.memoizedState=f}}function fi(e,t){if(\"function\"!=typeof e)throw Error(o(191,e));e.call(t)}function di(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e<n.length;e++)fi(n[e],t)}var pi=U(null),hi=U(0);function gi(e,t){$(hi,e=fs),$(pi,t),fs=e|t.baseLanes}function vi(){$(hi,fs),$(pi,pi.current)}function mi(){fs=hi.current,I(pi),I(hi)}var yi=0,bi=null,wi=null,_i=null,ki=!1,xi=!1,Si=!1,Ei=0,Ci=0,Ti=null,Pi=0;function zi(){throw Error(o(321))}function Mi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Gn(e[n],t[n]))return!1;return!0}function Ni(e,t,n,r,a,i){return yi=i,bi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=null===e||null===e.memoizedState?qo:Qo,Si=!1,i=n(r,a),Si=!1,xi&&(i=Oi(t,n,r,a)),Ai(e),i}function Ai(e){L.H=Vo;var t=null!==wi&&null!==wi.next;if(yi=0,_i=wi=bi=null,ki=!1,Ci=0,Ti=null,t)throw Error(o(300));null===e||Tu||null!==(e=e.dependencies)&&Sa(e)&&(Tu=!0)}function Oi(e,t,n,r){bi=e;var a=0;do{if(xi&&(Ti=null),Ci=0,xi=!1,25<=a)throw Error(o(301));if(a+=1,_i=wi=null,null!=e.updateQueue){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,null!=i.memoCache&&(i.memoCache.index=0)}L.H=Yo,i=t(n,r)}while(xi);return i}function Li(){var e=L.H,t=e.useState()[0];return t=\"function\"==typeof t.then?Ii(t):t,e=e.useState()[0],(null!==wi?wi.memoizedState:null)!==e&&(bi.flags|=1024),t}function Fi(){var e=0!==Ei;return Ei=0,e}function Di(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ri(e){if(ki){for(e=e.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}ki=!1}yi=0,_i=wi=bi=null,xi=!1,Ci=Ei=0,Ti=null}function ji(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===_i?bi.memoizedState=_i=e:_i=_i.next=e,_i}function Ui(){if(null===wi){var e=bi.alternate;e=null!==e?e.memoizedState:null}else e=wi.next;var t=null===_i?bi.memoizedState:_i.next;if(null!==t)_i=t,wi=e;else{if(null===e){if(null===bi.alternate)throw Error(o(467));throw Error(o(310))}e={memoizedState:(wi=e).memoizedState,baseState:wi.baseState,baseQueue:wi.baseQueue,queue:wi.queue,next:null},null===_i?bi.memoizedState=_i=e:_i=_i.next=e}return _i}function Ii(e){var t=Ci;return Ci+=1,null===Ti&&(Ti=[]),e=Xa(Ti,e,t),t=bi,null===(null===_i?t.memoizedState:_i.next)&&(t=t.alternate,L.H=null===t||null===t.memoizedState?qo:Qo),e}function $i(e){if(null!==e&&\"object\"==typeof e){if(\"function\"==typeof e.then)return Ii(e);if(e.$$typeof===_)return Ca(e)}throw Error(o(438,String(e)))}function Bi(e){var t=null,n=bi.updateQueue;if(null!==n&&(t=n.memoCache),null==t){var r=bi.alternate;null!==r&&null!==(r=r.updateQueue)&&null!=(r=r.memoCache)&&(t={data:r.data.map((function(e){return e.slice()})),index:0})}if(null==t&&(t={data:[],index:0}),null===n&&(n={lastEffect:null,events:null,stores:null,memoCache:null},bi.updateQueue=n),n.memoCache=t,void 0===(n=t.data[t.index]))for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=P;return t.index++,n}function Hi(e,t){return\"function\"==typeof t?t(e):t}function Wi(e){return Vi(Ui(),wi,e)}function Vi(e,t,n){var r=e.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=n;var a=e.baseQueue,i=r.pending;if(null!==i){if(null!==a){var u=a.next;a.next=i.next,i.next=u}t.baseQueue=a=i,r.pending=null}if(i=e.baseState,null===a)e.memoizedState=i;else{var l=u=null,s=null,c=t=a.next,f=!1;do{var d=-536870913&c.lane;if(d!==c.lane?(is&d)===d:(yi&d)===d){var p=c.revertLane;if(0===p)null!==s&&(s=s.next={lane:0,revertLane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),d===Ra&&(f=!0);else{if((yi&p)===p){c=c.next,p===Ra&&(f=!0);continue}d={lane:0,revertLane:c.revertLane,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},null===s?(l=s=d,u=i):s=s.next=d,bi.lanes|=p,ps|=p}d=c.action,Si&&n(i,d),i=c.hasEagerState?c.eagerState:n(i,d)}else p={lane:d,revertLane:c.revertLane,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},null===s?(l=s=p,u=i):s=s.next=p,bi.lanes|=d,ps|=d;c=c.next}while(null!==c&&c!==t);if(null===s?u=i:s.next=l,!Gn(i,e.memoizedState)&&(Tu=!0,f&&null!==(n=ja)))throw n;e.memoizedState=i,e.baseState=u,e.baseQueue=s,r.lastRenderedState=i}return null===a&&(r.lanes=0),[e.memoizedState,r.dispatch]}function qi(e){var t=Ui(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var u=a=a.next;do{i=e(i,u.action),u=u.next}while(u!==a);Gn(i,t.memoizedState)||(Tu=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Qi(e,t,n){var r=bi,a=Ui(),i=ia;if(i){if(void 0===n)throw Error(o(407));n=n()}else n=t();var u=!Gn((wi||a).memoizedState,n);if(u&&(a.memoizedState=n,Tu=!0),a=a.queue,mo(2048,8,Ki.bind(null,r,a,e),[e]),a.getSnapshot!==t||u||null!==_i&&1&_i.memoizedState.tag){if(r.flags|=2048,ho(9,{destroy:void 0,resource:void 0},Gi.bind(null,r,a,n,t),null),null===rs)throw Error(o(349));i||124&yi||Yi(r,t,n)}return n}function Yi(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=bi.updateQueue)?(t={lastEffect:null,events:null,stores:null,memoCache:null},bi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Gi(e,t,n,r){t.value=n,t.getSnapshot=r,Xi(t)&&Zi(e)}function Ki(e,t,n){return n((function(){Xi(t)&&Zi(e)}))}function Xi(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Gn(e,n)}catch(e){return!0}}function Zi(e){var t=Nr(e,2);null!==t&&Ds(t,0,2)}function Ji(e){var t=ji();if(\"function\"==typeof e){var n=e;if(e=n(),Si){de(!0);try{n()}finally{de(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hi,lastRenderedState:e},t}function eo(e,t,n,r){return e.baseState=n,Vi(e,wi,\"function\"==typeof r?r:Hi)}function to(e,t,n,r,a){if(Bo(e))throw Error(o(485));if(null!==(e=t.action)){var i={payload:a,action:e,next:null,isTransition:!0,status:\"pending\",value:null,reason:null,listeners:[],then:function(e){i.listeners.push(e)}};null!==L.T?n(!0):i.isTransition=!1,r(i),null===(n=t.pending)?(i.next=t.pending=i,no(t,i)):(i.next=n.next,t.pending=n.next=i)}}function no(e,t){var n=t.action,r=t.payload,a=e.state;if(t.isTransition){var i=L.T,o={};L.T=o;try{var u=n(a,r),l=L.S;null!==l&&l(o,u),ro(e,t,u)}catch(n){io(e,t,n)}finally{L.T=i}}else try{ro(e,t,i=n(a,r))}catch(n){io(e,t,n)}}function ro(e,t,n){null!==n&&\"object\"==typeof n&&\"function\"==typeof n.then?n.then((function(n){ao(e,t,n)}),(function(n){return io(e,t,n)})):ao(e,t,n)}function ao(e,t,n){t.status=\"fulfilled\",t.value=n,oo(t),e.state=n,null!==(t=e.pending)&&((n=t.next)===t?e.pending=null:(n=n.next,t.next=n,no(e,n)))}function io(e,t,n){var r=e.pending;if(e.pending=null,null!==r){r=r.next;do{t.status=\"rejected\",t.reason=n,oo(t),t=t.next}while(t!==r)}e.action=null}function oo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function uo(e,t){return t}function lo(e,t){if(ia){var n=rs.formState;if(null!==n){e:{var r=bi;if(ia){if(aa){t:{for(var a=aa,i=ua;8!==a.nodeType;){if(!i){a=null;break t}if(null===(a=yf(a.nextSibling))){a=null;break t}}a=\"F!\"===(i=a.data)||\"F\"===i?a:null}if(a){aa=yf(a.nextSibling),r=\"F!\"===a.data;break e}}sa(r)}r=!1}r&&(t=n[0])}}return(n=ji()).memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:uo,lastRenderedState:t},n.queue=r,n=Uo.bind(null,bi,r),r.dispatch=n,r=Ji(!1),i=$o.bind(null,bi,!1,r.queue),a={state:t,dispatch:null,action:e,pending:null},(r=ji()).queue=a,n=to.bind(null,bi,a,i,n),a.dispatch=n,r.memoizedState=e,[t,n,!1]}function so(e){return co(Ui(),wi,e)}function co(e,t,n){if(t=Vi(e,t,uo)[0],e=Wi(Hi)[0],\"object\"==typeof t&&null!==t&&\"function\"==typeof t.then)try{var r=Ii(t)}catch(e){if(e===Va)throw Qa;throw e}else r=t;var a=(t=Ui()).queue,i=a.dispatch;return n!==t.memoizedState&&(bi.flags|=2048,ho(9,{destroy:void 0,resource:void 0},fo.bind(null,a,n),null)),[r,i,e]}function fo(e,t){e.action=t}function po(e){var t=Ui(),n=wi;if(null!==n)return co(t,n,e);Ui(),t=t.memoizedState;var r=(n=Ui()).queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ho(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},null===(t=bi.updateQueue)&&(t={lastEffect:null,events:null,stores:null,memoCache:null},bi.updateQueue=t),null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function go(){return Ui().memoizedState}function vo(e,t,n,r){var a=ji();r=void 0===r?null:r,bi.flags|=e,a.memoizedState=ho(1|t,{destroy:void 0,resource:void 0},n,r)}function mo(e,t,n,r){var a=Ui();r=void 0===r?null:r;var i=a.memoizedState.inst;null!==wi&&null!==r&&Mi(r,wi.memoizedState.deps)?a.memoizedState=ho(t,i,n,r):(bi.flags|=e,a.memoizedState=ho(1|t,i,n,r))}function yo(e,t){vo(8390656,8,e,t)}function bo(e,t){mo(2048,8,e,t)}function wo(e,t){return mo(4,2,e,t)}function _o(e,t){return mo(4,4,e,t)}function ko(e,t){if(\"function\"==typeof t){e=e();var n=t(e);return function(){\"function\"==typeof n?n():t(null)}}if(null!=t)return e=e(),t.current=e,function(){t.current=null}}function xo(e,t,n){n=null!=n?n.concat([e]):null,mo(4,4,ko.bind(null,t,e),n)}function So(){}function Eo(e,t){var n=Ui();t=void 0===t?null:t;var r=n.memoizedState;return null!==t&&Mi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Co(e,t){var n=Ui();t=void 0===t?null:t;var r=n.memoizedState;if(null!==t&&Mi(t,r[1]))return r[0];if(r=e(),Si){de(!0);try{e()}finally{de(!1)}}return n.memoizedState=[r,t],r}function To(e,t,n){return void 0===n||1073741824&yi?e.memoizedState=t:(e.memoizedState=n,e=Fs(),bi.lanes|=e,ps|=e,n)}function Po(e,t,n,r){return Gn(n,t)?n:null!==pi.current?(e=To(e,n,r),Gn(e,t)||(Tu=!0),e):42&yi?(e=Fs(),bi.lanes|=e,ps|=e,t):(Tu=!0,e.memoizedState=n)}function zo(e,t,n,r,a){var i=F.p;F.p=0!==i&&8>i?i:8;var o,u,l,s=L.T,c={};L.T=c,$o(e,!1,t,n);try{var f=a(),d=L.S;null!==d&&d(c,f),null!==f&&\"object\"==typeof f&&\"function\"==typeof f.then?Io(e,t,(o=r,u=[],l={status:\"pending\",value:null,reason:null,then:function(e){u.push(e)}},f.then((function(){l.status=\"fulfilled\",l.value=o;for(var e=0;e<u.length;e++)(0,u[e])(o)}),(function(e){for(l.status=\"rejected\",l.reason=e,e=0;e<u.length;e++)(0,u[e])(void 0)})),l),Ls()):Io(e,t,r,Ls())}catch(n){Io(e,t,{then:function(){},status:\"rejected\",reason:n},Ls())}finally{F.p=i,L.T=s}}function Mo(){}function No(e,t,n,r){if(5!==e.tag)throw Error(o(476));var a=Ao(e).queue;zo(e,a,t,D,null===n?Mo:function(){return Oo(e),n(r)})}function Ao(e){var t=e.memoizedState;if(null!==t)return t;var n={};return(t={memoizedState:D,baseState:D,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hi,lastRenderedState:D},next:null}).next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Hi,lastRenderedState:n},next:null},e.memoizedState=t,null!==(e=e.alternate)&&(e.memoizedState=t),t}function Oo(e){Io(e,Ao(e).next.queue,{},Ls())}function Lo(){return Ca(Gf)}function Fo(){return Ui().memoizedState}function Do(){return Ui().memoizedState}function Ro(e){for(var t=e.return;null!==t;){switch(t.tag){case 24:case 3:var n=Ls(),r=ii(t,e=ai(n),n);return null!==r&&(Ds(r,0,n),oi(r,t,n)),t={cache:Oa()},void(e.payload=t)}t=t.return}}function jo(e,t,n){var r=Ls();n={lane:r,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null},Bo(e)?Ho(t,n):null!==(n=Mr(e,t,n,r))&&(Ds(n,0,r),Wo(n,t,r))}function Uo(e,t,n){Io(e,t,n,Ls())}function Io(e,t,n,r){var a={lane:r,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bo(e))Ho(t,a);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,u=i(o,n);if(a.hasEagerState=!0,a.eagerState=u,Gn(u,o))return zr(e,t,a,0),null===rs&&Pr(),!1}catch(e){}if(null!==(n=Mr(e,t,a,r)))return Ds(n,0,r),Wo(n,t,r),!0}return!1}function $o(e,t,n,r){if(r={lane:2,revertLane:zc(),action:r,hasEagerState:!1,eagerState:null,next:null},Bo(e)){if(t)throw Error(o(479))}else null!==(t=Mr(e,n,r,2))&&Ds(t,0,2)}function Bo(e){var t=e.alternate;return e===bi||null!==t&&t===bi}function Ho(e,t){xi=ki=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Wo(e,t,n){if(4194048&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Te(e,n)}}var Vo={readContext:Ca,use:$i,useCallback:zi,useContext:zi,useEffect:zi,useImperativeHandle:zi,useLayoutEffect:zi,useInsertionEffect:zi,useMemo:zi,useReducer:zi,useRef:zi,useState:zi,useDebugValue:zi,useDeferredValue:zi,useTransition:zi,useSyncExternalStore:zi,useId:zi,useHostTransitionStatus:zi,useFormState:zi,useActionState:zi,useOptimistic:zi,useMemoCache:zi,useCacheRefresh:zi},qo={readContext:Ca,use:$i,useCallback:function(e,t){return ji().memoizedState=[e,void 0===t?null:t],e},useContext:Ca,useEffect:yo,useImperativeHandle:function(e,t,n){n=null!=n?n.concat([e]):null,vo(4194308,4,ko.bind(null,t,e),n)},useLayoutEffect:function(e,t){return vo(4194308,4,e,t)},useInsertionEffect:function(e,t){vo(4,2,e,t)},useMemo:function(e,t){var n=ji();t=void 0===t?null:t;var r=e();if(Si){de(!0);try{e()}finally{de(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ji();if(void 0!==n){var a=n(t);if(Si){de(!0);try{n(t)}finally{de(!1)}}}else a=t;return r.memoizedState=r.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},r.queue=e,e=e.dispatch=jo.bind(null,bi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},ji().memoizedState=e},useState:function(e){var t=(e=Ji(e)).queue,n=Uo.bind(null,bi,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:So,useDeferredValue:function(e,t){return To(ji(),e,t)},useTransition:function(){var e=Ji(!1);return e=zo.bind(null,bi,e.queue,!0,!1),ji().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=bi,a=ji();if(ia){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===rs)throw Error(o(349));124&is||Yi(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,yo(Ki.bind(null,r,i,e),[e]),r.flags|=2048,ho(9,{destroy:void 0,resource:void 0},Gi.bind(null,r,i,n,t),null),n},useId:function(){var e=ji(),t=rs.identifierPrefix;if(ia){var n=Zr;t=\"«\"+t+\"R\"+(n=(Xr&~(1<<32-pe(Xr)-1)).toString(32)+n),0<(n=Ei++)&&(t+=\"H\"+n.toString(32)),t+=\"»\"}else t=\"«\"+t+\"r\"+(n=Pi++).toString(32)+\"»\";return e.memoizedState=t},useHostTransitionStatus:Lo,useFormState:lo,useActionState:lo,useOptimistic:function(e){var t=ji();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=$o.bind(null,bi,!0,n),n.dispatch=t,[e,t]},useMemoCache:Bi,useCacheRefresh:function(){return ji().memoizedState=Ro.bind(null,bi)}},Qo={readContext:Ca,use:$i,useCallback:Eo,useContext:Ca,useEffect:bo,useImperativeHandle:xo,useInsertionEffect:wo,useLayoutEffect:_o,useMemo:Co,useReducer:Wi,useRef:go,useState:function(){return Wi(Hi)},useDebugValue:So,useDeferredValue:function(e,t){return Po(Ui(),wi.memoizedState,e,t)},useTransition:function(){var e=Wi(Hi)[0],t=Ui().memoizedState;return[\"boolean\"==typeof e?e:Ii(e),t]},useSyncExternalStore:Qi,useId:Fo,useHostTransitionStatus:Lo,useFormState:so,useActionState:so,useOptimistic:function(e,t){return eo(Ui(),0,e,t)},useMemoCache:Bi,useCacheRefresh:Do},Yo={readContext:Ca,use:$i,useCallback:Eo,useContext:Ca,useEffect:bo,useImperativeHandle:xo,useInsertionEffect:wo,useLayoutEffect:_o,useMemo:Co,useReducer:qi,useRef:go,useState:function(){return qi(Hi)},useDebugValue:So,useDeferredValue:function(e,t){var n=Ui();return null===wi?To(n,e,t):Po(n,wi.memoizedState,e,t)},useTransition:function(){var e=qi(Hi)[0],t=Ui().memoizedState;return[\"boolean\"==typeof e?e:Ii(e),t]},useSyncExternalStore:Qi,useId:Fo,useHostTransitionStatus:Lo,useFormState:po,useActionState:po,useOptimistic:function(e,t){var n=Ui();return null!==wi?eo(n,0,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Bi,useCacheRefresh:Do},Go=null,Ko=0;function Xo(e){var t=Ko;return Ko+=1,null===Go&&(Go=[]),Xa(Go,e,t)}function Zo(e,t){t=t.props.ref,e.ref=void 0!==t?t:null}function Jo(e,t){if(t.$$typeof===p)throw Error(o(525));throw e=Object.prototype.toString.call(t),Error(o(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":e))}function eu(e){return(0,e._init)(e._payload)}function tu(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;null!==e;)null!==e.key?t.set(e.key,e):t.set(e.index,e),e=e.sibling;return t}function a(e,t){return(e=jr(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=67108866,n):r:(t.flags|=67108866,n):(t.flags|=1048576,n)}function u(t){return e&&null===t.alternate&&(t.flags|=67108866),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Br(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function s(e,t,n,r){var i=n.type;return i===v?f(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===i||\"object\"==typeof i&&null!==i&&i.$$typeof===C&&eu(i)===t.type)?(Zo(t=a(t,n.props),n),t.return=e,t):(Zo(t=Ir(n.type,n.key,n.props,null,e.mode,r),n),t.return=e,t)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Hr(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function f(e,t,n,r,i){return null===t||7!==t.tag?((t=$r(n,e.mode,r,i)).return=e,t):((t=a(t,n)).return=e,t)}function d(e,t,n){if(\"string\"==typeof t&&\"\"!==t||\"number\"==typeof t||\"bigint\"==typeof t)return(t=Br(\"\"+t,e.mode,n)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case h:return Zo(n=Ir(t.type,t.key,t.props,null,e.mode,n),t),n.return=e,n;case g:return(t=Hr(t,e.mode,n)).return=e,t;case C:return d(e,t=(0,t._init)(t._payload),n)}if(O(t)||M(t))return(t=$r(t,e.mode,n,null)).return=e,t;if(\"function\"==typeof t.then)return d(e,Xo(t),n);if(t.$$typeof===_)return d(e,Ta(e,t),n);Jo(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if(\"string\"==typeof n&&\"\"!==n||\"number\"==typeof n||\"bigint\"==typeof n)return null!==a?null:l(e,t,\"\"+n,r);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case h:return n.key===a?s(e,t,n,r):null;case g:return n.key===a?c(e,t,n,r):null;case C:return p(e,t,n=(a=n._init)(n._payload),r)}if(O(n)||M(n))return null!==a?null:f(e,t,n,r,null);if(\"function\"==typeof n.then)return p(e,t,Xo(n),r);if(n.$$typeof===_)return p(e,t,Ta(e,n),r);Jo(e,n)}return null}function m(e,t,n,r,a){if(\"string\"==typeof r&&\"\"!==r||\"number\"==typeof r||\"bigint\"==typeof r)return l(t,e=e.get(n)||null,\"\"+r,a);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case h:return s(t,e=e.get(null===r.key?n:r.key)||null,r,a);case g:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case C:return m(e,t,n,r=(0,r._init)(r._payload),a)}if(O(r)||M(r))return f(t,e=e.get(n)||null,r,a,null);if(\"function\"==typeof r.then)return m(e,t,n,Xo(r),a);if(r.$$typeof===_)return m(e,t,n,Ta(t,r),a);Jo(t,r)}return null}function y(l,s,c,f){if(\"object\"==typeof c&&null!==c&&c.type===v&&null===c.key&&(c=c.props.children),\"object\"==typeof c&&null!==c){switch(c.$$typeof){case h:e:{for(var b=c.key;null!==s;){if(s.key===b){if((b=c.type)===v){if(7===s.tag){n(l,s.sibling),(f=a(s,c.props.children)).return=l,l=f;break e}}else if(s.elementType===b||\"object\"==typeof b&&null!==b&&b.$$typeof===C&&eu(b)===s.type){n(l,s.sibling),Zo(f=a(s,c.props),c),f.return=l,l=f;break e}n(l,s);break}t(l,s),s=s.sibling}c.type===v?((f=$r(c.props.children,l.mode,f,c.key)).return=l,l=f):(Zo(f=Ir(c.type,c.key,c.props,null,l.mode,f),c),f.return=l,l=f)}return u(l);case g:e:{for(b=c.key;null!==s;){if(s.key===b){if(4===s.tag&&s.stateNode.containerInfo===c.containerInfo&&s.stateNode.implementation===c.implementation){n(l,s.sibling),(f=a(s,c.children||[])).return=l,l=f;break e}n(l,s);break}t(l,s),s=s.sibling}(f=Hr(c,l.mode,f)).return=l,l=f}return u(l);case C:return y(l,s,c=(b=c._init)(c._payload),f)}if(O(c))return function(a,o,u,l){for(var s=null,c=null,f=o,h=o=0,g=null;null!==f&&h<u.length;h++){f.index>h?(g=f,f=null):g=f.sibling;var v=p(a,f,u[h],l);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&t(a,f),o=i(v,o,h),null===c?s=v:c.sibling=v,c=v,f=g}if(h===u.length)return n(a,f),ia&&Jr(a,h),s;if(null===f){for(;h<u.length;h++)null!==(f=d(a,u[h],l))&&(o=i(f,o,h),null===c?s=f:c.sibling=f,c=f);return ia&&Jr(a,h),s}for(f=r(f);h<u.length;h++)null!==(g=m(f,a,h,u[h],l))&&(e&&null!==g.alternate&&f.delete(null===g.key?h:g.key),o=i(g,o,h),null===c?s=g:c.sibling=g,c=g);return e&&f.forEach((function(e){return t(a,e)})),ia&&Jr(a,h),s}(l,s,c,f);if(M(c)){if(\"function\"!=typeof(b=M(c)))throw Error(o(150));return function(a,u,l,s){if(null==l)throw Error(o(151));for(var c=null,f=null,h=u,g=u=0,v=null,y=l.next();null!==h&&!y.done;g++,y=l.next()){h.index>g?(v=h,h=null):v=h.sibling;var b=p(a,h,y.value,s);if(null===b){null===h&&(h=v);break}e&&h&&null===b.alternate&&t(a,h),u=i(b,u,g),null===f?c=b:f.sibling=b,f=b,h=v}if(y.done)return n(a,h),ia&&Jr(a,g),c;if(null===h){for(;!y.done;g++,y=l.next())null!==(y=d(a,y.value,s))&&(u=i(y,u,g),null===f?c=y:f.sibling=y,f=y);return ia&&Jr(a,g),c}for(h=r(h);!y.done;g++,y=l.next())null!==(y=m(h,a,g,y.value,s))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),u=i(y,u,g),null===f?c=y:f.sibling=y,f=y);return e&&h.forEach((function(e){return t(a,e)})),ia&&Jr(a,g),c}(l,s,c=b.call(c),f)}if(\"function\"==typeof c.then)return y(l,s,Xo(c),f);if(c.$$typeof===_)return y(l,s,Ta(l,c),f);Jo(l,c)}return\"string\"==typeof c&&\"\"!==c||\"number\"==typeof c||\"bigint\"==typeof c?(c=\"\"+c,null!==s&&6===s.tag?(n(l,s.sibling),(f=a(s,c)).return=l,l=f):(n(l,s),(f=Br(c,l.mode,f)).return=l,l=f),u(l)):n(l,s)}return function(e,t,n,r){try{Ko=0;var a=y(e,t,n,r);return Go=null,a}catch(t){if(t===Va||t===Qa)throw t;var i=Dr(29,t,null,e.mode);return i.lanes=r,i.return=e,i}}}var nu=tu(!0),ru=tu(!1),au=U(null),iu=null;function ou(e){var t=e.alternate;$(cu,1&cu.current),$(au,e),null===iu&&(null===t||null!==pi.current||null!==t.memoizedState)&&(iu=e)}function uu(e){if(22===e.tag){if($(cu,cu.current),$(au,e),null===iu){var t=e.alternate;null!==t&&null!==t.memoizedState&&(iu=e)}}else lu()}function lu(){$(cu,cu.current),$(au,au.current)}function su(e){I(au),iu===e&&(iu=null),I(cu)}var cu=U(0);function fu(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||\"$?\"===n.data||mf(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function du(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:d({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var pu={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Ls(),a=ai(r);a.payload=t,null!=n&&(a.callback=n),null!==(t=ii(e,a,r))&&(Ds(t,0,r),oi(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ls(),a=ai(r);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=ii(e,a,r))&&(Ds(t,0,r),oi(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ls(),r=ai(n);r.tag=2,null!=t&&(r.callback=t),null!==(t=ii(e,r,n))&&(Ds(t,0,n),oi(t,e,n))}};function hu(e,t,n,r,a,i,o){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,o):!(t.prototype&&t.prototype.isPureReactComponent&&Kn(n,r)&&Kn(a,i))}function gu(e,t,n,r){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&pu.enqueueReplaceState(t,t.state,null)}function vu(e,t){var n=t;if(\"ref\"in t)for(var r in n={},t)\"ref\"!==r&&(n[r]=t[r]);if(e=e.defaultProps)for(var a in n===t&&(n=d({},n)),e)void 0===n[a]&&(n[a]=e[a]);return n}var mu=\"function\"==typeof reportError?reportError:function(e){if(\"object\"==typeof window&&\"function\"==typeof window.ErrorEvent){var t=new window.ErrorEvent(\"error\",{bubbles:!0,cancelable:!0,message:\"object\"==typeof e&&null!==e&&\"string\"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(\"object\"==typeof process&&\"function\"==typeof process.emit)return void process.emit(\"uncaughtException\",e);console.error(e)};function yu(e){mu(e)}function bu(e){console.error(e)}function wu(e){mu(e)}function _u(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(e){setTimeout((function(){throw e}))}}function ku(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout((function(){throw e}))}}function xu(e,t,n){return(n=ai(n)).tag=3,n.payload={element:null},n.callback=function(){_u(e,t)},n}function Su(e){return(e=ai(e)).tag=3,e}function Eu(e,t,n,r){var a=n.type.getDerivedStateFromError;if(\"function\"==typeof a){var i=r.value;e.payload=function(){return a(i)},e.callback=function(){ku(t,n,r)}}var o=n.stateNode;null!==o&&\"function\"==typeof o.componentDidCatch&&(e.callback=function(){ku(t,n,r),\"function\"!=typeof a&&(null===Ss?Ss=new Set([this]):Ss.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:\"\"})})}var Cu=Error(o(461)),Tu=!1;function Pu(e,t,n,r){t.child=null===e?ru(t,null,n,r):nu(t,e.child,n,r)}function zu(e,t,n,r,a){n=n.render;var i=t.ref;if(\"ref\"in r){var o={};for(var u in r)\"ref\"!==u&&(o[u]=r[u])}else o=r;return Ea(t),r=Ni(e,t,n,o,i,a),u=Fi(),null===e||Tu?(ia&&u&&ta(t),t.flags|=1,Pu(e,t,r,a),t.child):(Di(e,t,a),Gu(e,t,a))}function Mu(e,t,n,r,a){if(null===e){var i=n.type;return\"function\"!=typeof i||Rr(i)||void 0!==i.defaultProps||null!==n.compare?((e=Ir(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Nu(e,t,i,r,a))}if(i=e.child,!Ku(e,a)){var o=i.memoizedProps;if((n=null!==(n=n.compare)?n:Kn)(o,r)&&e.ref===t.ref)return Gu(e,t,a)}return t.flags|=1,(e=jr(i,r)).ref=t.ref,e.return=t,t.child=e}function Nu(e,t,n,r,a){if(null!==e){var i=e.memoizedProps;if(Kn(i,r)&&e.ref===t.ref){if(Tu=!1,t.pendingProps=r=i,!Ku(e,a))return t.lanes=e.lanes,Gu(e,t,a);131072&e.flags&&(Tu=!0)}}return Fu(e,t,n,r,a)}function Au(e,t,n){var r=t.pendingProps,a=r.children,i=null!==e?e.memoizedState:null;if(\"hidden\"===r.mode){if(128&t.flags){if(r=null!==i?i.baseLanes|n:n,null!==e){for(a=t.child=e.child,i=0;null!==a;)i=i|a.lanes|a.childLanes,a=a.sibling;t.childLanes=i&~r}else t.childLanes=0,t.child=null;return Ou(e,t,r,n)}if(!(536870912&n))return t.lanes=t.childLanes=536870912,Ou(e,t,null!==i?i.baseLanes|n:n,n);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&Ha(0,null!==i?i.cachePool:null),null!==i?gi(t,i):vi(),uu(t)}else null!==i?(Ha(0,i.cachePool),gi(t,i),lu(),t.memoizedState=null):(null!==e&&Ha(0,null),vi(),lu());return Pu(e,t,a,n),t.child}function Ou(e,t,n,r){var a=Ba();return a=null===a?null:{parent:Aa._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},null!==e&&Ha(0,null),vi(),uu(t),null!==e&&xa(e,t,r,!0),null}function Lu(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if(\"function\"!=typeof n&&\"object\"!=typeof n)throw Error(o(284));null!==e&&e.ref===n||(t.flags|=4194816)}}function Fu(e,t,n,r,a){return Ea(t),n=Ni(e,t,n,r,void 0,a),r=Fi(),null===e||Tu?(ia&&r&&ta(t),t.flags|=1,Pu(e,t,n,a),t.child):(Di(e,t,a),Gu(e,t,a))}function Du(e,t,n,r,a,i){return Ea(t),t.updateQueue=null,n=Oi(t,r,n,a),Ai(e),r=Fi(),null===e||Tu?(ia&&r&&ta(t),t.flags|=1,Pu(e,t,n,i),t.child):(Di(e,t,i),Gu(e,t,i))}function Ru(e,t,n,r,a){if(Ea(t),null===t.stateNode){var i=Lr,o=n.contextType;\"object\"==typeof o&&null!==o&&(i=Ca(o)),i=new n(r,i),t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,i.updater=pu,t.stateNode=i,i._reactInternals=t,(i=t.stateNode).props=r,i.state=t.memoizedState,i.refs={},ni(t),o=n.contextType,i.context=\"object\"==typeof o&&null!==o?Ca(o):Lr,i.state=t.memoizedState,\"function\"==typeof(o=n.getDerivedStateFromProps)&&(du(t,n,o,r),i.state=t.memoizedState),\"function\"==typeof n.getDerivedStateFromProps||\"function\"==typeof i.getSnapshotBeforeUpdate||\"function\"!=typeof i.UNSAFE_componentWillMount&&\"function\"!=typeof i.componentWillMount||(o=i.state,\"function\"==typeof i.componentWillMount&&i.componentWillMount(),\"function\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),o!==i.state&&pu.enqueueReplaceState(i,i.state,null),ci(t,r,i,a),si(),i.state=t.memoizedState),\"function\"==typeof i.componentDidMount&&(t.flags|=4194308),r=!0}else if(null===e){i=t.stateNode;var u=t.memoizedProps,l=vu(n,u);i.props=l;var s=i.context,c=n.contextType;o=Lr,\"object\"==typeof c&&null!==c&&(o=Ca(c));var f=n.getDerivedStateFromProps;c=\"function\"==typeof f||\"function\"==typeof i.getSnapshotBeforeUpdate,u=t.pendingProps!==u,c||\"function\"!=typeof i.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof i.componentWillReceiveProps||(u||s!==o)&&gu(t,i,r,o),ti=!1;var d=t.memoizedState;i.state=d,ci(t,r,i,a),si(),s=t.memoizedState,u||d!==s||ti?(\"function\"==typeof f&&(du(t,n,f,r),s=t.memoizedState),(l=ti||hu(t,n,l,r,d,s,o))?(c||\"function\"!=typeof i.UNSAFE_componentWillMount&&\"function\"!=typeof i.componentWillMount||(\"function\"==typeof i.componentWillMount&&i.componentWillMount(),\"function\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),\"function\"==typeof i.componentDidMount&&(t.flags|=4194308)):(\"function\"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=o,r=l):(\"function\"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,ri(e,t),c=vu(n,o=t.memoizedProps),i.props=c,f=t.pendingProps,d=i.context,s=n.contextType,l=Lr,\"object\"==typeof s&&null!==s&&(l=Ca(s)),(s=\"function\"==typeof(u=n.getDerivedStateFromProps)||\"function\"==typeof i.getSnapshotBeforeUpdate)||\"function\"!=typeof i.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof i.componentWillReceiveProps||(o!==f||d!==l)&&gu(t,i,r,l),ti=!1,d=t.memoizedState,i.state=d,ci(t,r,i,a),si();var p=t.memoizedState;o!==f||d!==p||ti||null!==e&&null!==e.dependencies&&Sa(e.dependencies)?(\"function\"==typeof u&&(du(t,n,u,r),p=t.memoizedState),(c=ti||hu(t,n,c,r,d,p,l)||null!==e&&null!==e.dependencies&&Sa(e.dependencies))?(s||\"function\"!=typeof i.UNSAFE_componentWillUpdate&&\"function\"!=typeof i.componentWillUpdate||(\"function\"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,p,l),\"function\"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,p,l)),\"function\"==typeof i.componentDidUpdate&&(t.flags|=4),\"function\"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):(\"function\"!=typeof i.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!=typeof i.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),i.props=r,i.state=p,i.context=l,r=c):(\"function\"!=typeof i.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!=typeof i.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return i=r,Lu(e,t),r=!!(128&t.flags),i||r?(i=t.stateNode,n=r&&\"function\"!=typeof n.getDerivedStateFromError?null:i.render(),t.flags|=1,null!==e&&r?(t.child=nu(t,e.child,null,a),t.child=nu(t,null,n,a)):Pu(e,t,n,a),t.memoizedState=i.state,e=t.child):e=Gu(e,t,a),e}function ju(e,t,n,r){return pa(),t.flags|=256,Pu(e,t,n,r),t.child}var Uu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Iu(e){return{baseLanes:e,cachePool:Wa()}}function $u(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=vs),e}function Bu(e,t,n){var r,a=t.pendingProps,i=!1,u=!!(128&t.flags);if((r=u)||(r=(null===e||null!==e.memoizedState)&&!!(2&cu.current)),r&&(i=!0,t.flags&=-129),r=!!(32&t.flags),t.flags&=-33,null===e){if(ia){if(i?ou(t):lu(),ia){var l,s=aa;if(l=s){e:{for(l=s,s=ua;8!==l.nodeType;){if(!s){s=null;break e}if(null===(l=yf(l.nextSibling))){s=null;break e}}s=l}null!==s?(t.memoizedState={dehydrated:s,treeContext:null!==Kr?{id:Xr,overflow:Zr}:null,retryLane:536870912,hydrationErrors:null},(l=Dr(18,null,null,0)).stateNode=s,l.return=t,t.child=l,ra=t,aa=null,l=!0):l=!1}l||sa(t)}if(null!==(s=t.memoizedState)&&null!==(s=s.dehydrated))return mf(s)?t.lanes=32:t.lanes=536870912,null;su(t)}return s=a.children,a=a.fallback,i?(lu(),s=Wu({mode:\"hidden\",children:s},i=t.mode),a=$r(a,i,n,null),s.return=t,a.return=t,s.sibling=a,t.child=s,(i=t.child).memoizedState=Iu(n),i.childLanes=$u(e,r,n),t.memoizedState=Uu,a):(ou(t),Hu(t,s))}if(null!==(l=e.memoizedState)&&null!==(s=l.dehydrated)){if(u)256&t.flags?(ou(t),t.flags&=-257,t=Vu(e,t,n)):null!==t.memoizedState?(lu(),t.child=e.child,t.flags|=128,t=null):(lu(),i=a.fallback,s=t.mode,a=Wu({mode:\"visible\",children:a.children},s),(i=$r(i,s,n,null)).flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,nu(t,e.child,null,n),(a=t.child).memoizedState=Iu(n),a.childLanes=$u(e,r,n),t.memoizedState=Uu,t=i);else if(ou(t),mf(s)){if(r=s.nextSibling&&s.nextSibling.dataset)var c=r.dgst;r=c,(a=Error(o(419))).stack=\"\",a.digest=r,ga({value:a,source:null,stack:null}),t=Vu(e,t,n)}else if(Tu||xa(e,t,n,!1),r=!!(n&e.childLanes),Tu||r){if(null!==(r=rs)&&0!==(a=(a=42&(a=n&-n)?1:Pe(a))&(r.suspendedLanes|n)?0:a)&&a!==l.retryLane)throw l.retryLane=a,Nr(e,a),Ds(r,0,a),Cu;\"$?\"===s.data||Qs(),t=Vu(e,t,n)}else\"$?\"===s.data?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,aa=yf(s.nextSibling),ra=t,ia=!0,oa=null,ua=!1,null!==e&&(Yr[Gr++]=Xr,Yr[Gr++]=Zr,Yr[Gr++]=Kr,Xr=e.id,Zr=e.overflow,Kr=t),(t=Hu(t,a.children)).flags|=4096);return t}return i?(lu(),i=a.fallback,s=t.mode,c=(l=e.child).sibling,(a=jr(l,{mode:\"hidden\",children:a.children})).subtreeFlags=65011712&l.subtreeFlags,null!==c?i=jr(c,i):(i=$r(i,s,n,null)).flags|=2,i.return=t,a.return=t,a.sibling=i,t.child=a,a=i,i=t.child,null===(s=e.child.memoizedState)?s=Iu(n):(null!==(l=s.cachePool)?(c=Aa._currentValue,l=l.parent!==c?{parent:c,pool:c}:l):l=Wa(),s={baseLanes:s.baseLanes|n,cachePool:l}),i.memoizedState=s,i.childLanes=$u(e,r,n),t.memoizedState=Uu,a):(ou(t),e=(n=e.child).sibling,(n=jr(n,{mode:\"visible\",children:a.children})).return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Hu(e,t){return(t=Wu({mode:\"visible\",children:t},e.mode)).return=e,e.child=t}function Wu(e,t){return(e=Dr(22,e,null,t)).lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function Vu(e,t,n){return nu(t,e.child,null,n),(e=Hu(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function qu(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),_a(e.return,t,n)}function Qu(e,t,n,r,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a)}function Yu(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(Pu(e,t,r.children,n),2&(r=cu.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&qu(e,n,t);else if(19===e.tag)qu(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}switch($(cu,r),a){case\"forwards\":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===fu(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Qu(t,!1,a,n,i);break;case\"backwards\":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===fu(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Qu(t,!0,n,null,i);break;case\"together\":Qu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Gu(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),ps|=t.lanes,!(n&t.childLanes)){if(null===e)return null;if(xa(e,t,n,!1),!(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=jr(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=jr(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ku(e,t){return!!(e.lanes&t)||!(null===(e=e.dependencies)||!Sa(e))}function Xu(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)Tu=!0;else{if(!(Ku(e,n)||128&t.flags))return Tu=!1,function(e,t,n){switch(t.tag){case 3:q(t,t.stateNode.containerInfo),ba(0,Aa,e.memoizedState.cache),pa();break;case 27:case 5:Y(t);break;case 4:q(t,t.stateNode.containerInfo);break;case 10:ba(0,t.type,t.memoizedProps.value);break;case 13:var r=t.memoizedState;if(null!==r)return null!==r.dehydrated?(ou(t),t.flags|=128,null):n&t.child.childLanes?Bu(e,t,n):(ou(t),null!==(e=Gu(e,t,n))?e.sibling:null);ou(t);break;case 19:var a=!!(128&e.flags);if((r=!!(n&t.childLanes))||(xa(e,t,n,!1),r=!!(n&t.childLanes)),a){if(r)return Yu(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),$(cu,cu.current),r)break;return null;case 22:case 23:return t.lanes=0,Au(e,t,n);case 24:ba(0,Aa,e.memoizedState.cache)}return Gu(e,t,n)}(e,t,n);Tu=!!(131072&e.flags)}else Tu=!1,ia&&1048576&t.flags&&ea(t,Qr,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var r=t.elementType,a=r._init;if(r=a(r._payload),t.type=r,\"function\"!=typeof r){if(null!=r){if((a=r.$$typeof)===k){t.tag=11,t=zu(null,t,r,e,n);break e}if(a===E){t.tag=14,t=Mu(null,t,r,e,n);break e}}throw t=A(r)||r,Error(o(306,t,\"\"))}Rr(r)?(e=vu(r,e),t.tag=1,t=Ru(null,t,r,e,n)):(t.tag=0,t=Fu(null,t,r,e,n))}return t;case 0:return Fu(e,t,t.type,t.pendingProps,n);case 1:return Ru(e,t,r=t.type,a=vu(r,t.pendingProps),n);case 3:e:{if(q(t,t.stateNode.containerInfo),null===e)throw Error(o(387));r=t.pendingProps;var i=t.memoizedState;a=i.element,ri(e,t),ci(t,r,null,n);var u=t.memoizedState;if(r=u.cache,ba(0,Aa,r),r!==i.cache&&ka(t,[Aa],n,!0),si(),r=u.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=ju(e,t,r,n);break e}if(r!==a){ga(a=Sr(Error(o(424)),t)),t=ju(e,t,r,n);break e}for(e=9===(e=t.stateNode.containerInfo).nodeType?e.body:\"HTML\"===e.nodeName?e.ownerDocument.body:e,aa=yf(e.firstChild),ra=t,ia=!0,oa=null,ua=!0,n=ru(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(pa(),r===a){t=Gu(e,t,n);break e}Pu(e,t,r,n)}t=t.child}return t;case 26:return Lu(e,t),null===e?(n=zf(t.type,null,t.pendingProps,null))?t.memoizedState=n:ia||(n=t.type,e=t.pendingProps,(r=rf(W.current).createElement(n))[Ae]=t,r[Oe]=e,ef(r,n,e),Ve(r),t.stateNode=r):t.memoizedState=zf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Y(t),null===e&&ia&&(r=t.stateNode=_f(t.type,t.pendingProps,W.current),ra=t,ua=!0,a=aa,hf(t.type)?(bf=a,aa=yf(r.firstChild)):aa=a),Pu(e,t,t.pendingProps.children,n),Lu(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&ia&&((a=r=aa)&&(null!==(r=function(e,t,n,r){for(;1===e.nodeType;){var a=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(\"INPUT\"!==e.nodeName||\"hidden\"!==e.type))break}else if(r){if(!e[Ue])switch(t){case\"meta\":if(!e.hasAttribute(\"itemprop\"))break;return e;case\"link\":if(\"stylesheet\"===(i=e.getAttribute(\"rel\"))&&e.hasAttribute(\"data-precedence\"))break;if(i!==a.rel||e.getAttribute(\"href\")!==(null==a.href||\"\"===a.href?null:a.href)||e.getAttribute(\"crossorigin\")!==(null==a.crossOrigin?null:a.crossOrigin)||e.getAttribute(\"title\")!==(null==a.title?null:a.title))break;return e;case\"style\":if(e.hasAttribute(\"data-precedence\"))break;return e;case\"script\":if(((i=e.getAttribute(\"src\"))!==(null==a.src?null:a.src)||e.getAttribute(\"type\")!==(null==a.type?null:a.type)||e.getAttribute(\"crossorigin\")!==(null==a.crossOrigin?null:a.crossOrigin))&&i&&e.hasAttribute(\"async\")&&!e.hasAttribute(\"itemprop\"))break;return e;default:return e}}else{if(\"input\"!==t||\"hidden\"!==e.type)return e;var i=null==a.name?null:\"\"+a.name;if(\"hidden\"===a.type&&e.getAttribute(\"name\")===i)return e}if(null===(e=yf(e.nextSibling)))break}return null}(r,t.type,t.pendingProps,ua))?(t.stateNode=r,ra=t,aa=yf(r.firstChild),ua=!1,a=!0):a=!1),a||sa(t)),Y(t),a=t.type,i=t.pendingProps,u=null!==e?e.memoizedProps:null,r=i.children,uf(a,i)?r=null:null!==u&&uf(a,u)&&(t.flags|=32),null!==t.memoizedState&&(a=Ni(e,t,Li,null,null,n),Gf._currentValue=a),Lu(e,t),Pu(e,t,r,n),t.child;case 6:return null===e&&ia&&((e=n=aa)&&(null!==(n=function(e,t,n){if(\"\"===t)return null;for(;3!==e.nodeType;){if((1!==e.nodeType||\"INPUT\"!==e.nodeName||\"hidden\"!==e.type)&&!n)return null;if(null===(e=yf(e.nextSibling)))return null}return e}(n,t.pendingProps,ua))?(t.stateNode=n,ra=t,aa=null,e=!0):e=!1),e||sa(t)),null;case 13:return Bu(e,t,n);case 4:return q(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=nu(t,null,r,n):Pu(e,t,r,n),t.child;case 11:return zu(e,t,t.type,t.pendingProps,n);case 7:return Pu(e,t,t.pendingProps,n),t.child;case 8:case 12:return Pu(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,ba(0,t.type,r.value),Pu(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Ea(t),r=r(a=Ca(a)),t.flags|=1,Pu(e,t,r,n),t.child;case 14:return Mu(e,t,t.type,t.pendingProps,n);case 15:return Nu(e,t,t.type,t.pendingProps,n);case 19:return Yu(e,t,n);case 31:return r=t.pendingProps,n=t.mode,r={mode:r.mode,children:r.children},null===e?((n=Wu(r,n)).ref=t.ref,t.child=n,n.return=t,t=n):((n=jr(e.child,r)).ref=t.ref,t.child=n,n.return=t,t=n),t;case 22:return Au(e,t,n);case 24:return Ea(t),r=Ca(Aa),null===e?(null===(a=Ba())&&(a=rs,i=Oa(),a.pooledCache=i,i.refCount++,null!==i&&(a.pooledCacheLanes|=n),a=i),t.memoizedState={parent:r,cache:a},ni(t),ba(0,Aa,a)):(!!(e.lanes&n)&&(ri(e,t),ci(t,null,null,n),si()),a=e.memoizedState,i=t.memoizedState,a.parent!==r?(a={parent:r,cache:r},t.memoizedState=a,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=a),ba(0,Aa,r)):(r=i.cache,ba(0,Aa,r),r!==a.cache&&ka(t,[Aa],n,!0))),Pu(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function Zu(e){e.flags|=4}function Ju(e,t){if(\"stylesheet\"!==t.type||4&t.state.loading)e.flags&=-16777217;else if(e.flags|=16777216,!Bf(t)){if(null!==(t=au.current)&&((4194048&is)===is?null!==iu:(62914560&is)!==is&&!(536870912&is)||t!==iu))throw Za=Ya,qa;e.flags|=8192}}function el(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?xe():536870912,e.lanes|=t,ms|=t)}function tl(e,t){if(!ia)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function nl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=65011712&a.subtreeFlags,r|=65011712&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function rl(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return nl(t),null;case 3:return n=t.stateNode,r=null,null!==e&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),wa(Aa),Q(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(da(t)?Zu(t):null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,ha())),nl(t),null;case 26:return n=t.memoizedState,null===e?(Zu(t),null!==n?(nl(t),Ju(t,n)):(nl(t),t.flags&=-16777217)):n?n!==e.memoizedState?(Zu(t),nl(t),Ju(t,n)):(nl(t),t.flags&=-16777217):(e.memoizedProps!==r&&Zu(t),nl(t),t.flags&=-16777217),null;case 27:G(t),n=W.current;var a=t.type;if(null!==e&&null!=t.stateNode)e.memoizedProps!==r&&Zu(t);else{if(!r){if(null===t.stateNode)throw Error(o(166));return nl(t),null}e=B.current,da(t)?ca(t):(e=_f(a,r,n),t.stateNode=e,Zu(t))}return nl(t),null;case 5:if(G(t),n=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&Zu(t);else{if(!r){if(null===t.stateNode)throw Error(o(166));return nl(t),null}if(e=B.current,da(t))ca(t);else{switch(a=rf(W.current),e){case 1:e=a.createElementNS(\"http://www.w3.org/2000/svg\",n);break;case 2:e=a.createElementNS(\"http://www.w3.org/1998/Math/MathML\",n);break;default:switch(n){case\"svg\":e=a.createElementNS(\"http://www.w3.org/2000/svg\",n);break;case\"math\":e=a.createElementNS(\"http://www.w3.org/1998/Math/MathML\",n);break;case\"script\":(e=a.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild);break;case\"select\":e=\"string\"==typeof r.is?a.createElement(\"select\",{is:r.is}):a.createElement(\"select\"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e=\"string\"==typeof r.is?a.createElement(n,{is:r.is}):a.createElement(n)}}e[Ae]=t,e[Oe]=r;e:for(a=t.child;null!==a;){if(5===a.tag||6===a.tag)e.appendChild(a.stateNode);else if(4!==a.tag&&27!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;null===a.sibling;){if(null===a.return||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=e;e:switch(ef(e,n,r),n){case\"button\":case\"input\":case\"select\":case\"textarea\":e=!!r.autoFocus;break e;case\"img\":e=!0;break e;default:e=!1}e&&Zu(t)}}return nl(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&Zu(t);else{if(\"string\"!=typeof r&&null===t.stateNode)throw Error(o(166));if(e=W.current,da(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=ra))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Ae]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||Kc(e.nodeValue,n)))||sa(t)}else(e=rf(e).createTextNode(r))[Ae]=t,t.stateNode=e}return nl(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=da(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(o(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(o(317));a[Ae]=t}else pa(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;nl(t),a=!1}else a=ha(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return 256&t.flags?(su(t),t):(su(t),null)}if(su(t),128&t.flags)return t.lanes=n,t;if(n=null!==r,e=null!==e&&null!==e.memoizedState,n){a=null,null!==(r=t.child).alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool);var i=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(i=r.memoizedState.cachePool.pool),i!==a&&(r.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),el(t,t.updateQueue),nl(t),null;case 4:return Q(),null===e&&Ic(t.stateNode.containerInfo),nl(t),null;case 10:return wa(t.type),nl(t),null;case 19:if(I(cu),null===(a=t.memoizedState))return nl(t),null;if(r=!!(128&t.flags),null===(i=a.rendering))if(r)tl(a,!1);else{if(0!==ds||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(i=fu(e))){for(t.flags|=128,tl(a,!1),e=i.updateQueue,t.updateQueue=e,el(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)Ur(n,e),n=n.sibling;return $(cu,1&cu.current|2),t.child}e=e.sibling}null!==a.tail&&te()>ks&&(t.flags|=128,r=!0,tl(a,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=fu(i))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,el(t,e),tl(a,!0),null===a.tail&&\"hidden\"===a.tailMode&&!i.alternate&&!ia)return nl(t),null}else 2*te()-a.renderingStartTime>ks&&536870912!==n&&(t.flags|=128,r=!0,tl(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(null!==(e=a.last)?e.sibling=i:t.child=i,a.last=i)}return null!==a.tail?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=te(),t.sibling=null,e=cu.current,$(cu,r?1&e|2:1&e),t):(nl(t),null);case 22:case 23:return su(t),mi(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?!!(536870912&n)&&!(128&t.flags)&&(nl(t),6&t.subtreeFlags&&(t.flags|=8192)):nl(t),null!==(n=t.updateQueue)&&el(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&I($a),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),wa(Aa),nl(t),null;case 25:case 30:return null}throw Error(o(156,t.tag))}function al(e,t){switch(na(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return wa(Aa),Q(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return G(t),null;case 13:if(su(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));pa()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return I(cu),null;case 4:return Q(),null;case 10:return wa(t.type),null;case 22:case 23:return su(t),mi(),null!==e&&I($a),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return wa(Aa),null;default:return null}}function il(e,t){switch(na(t),t.tag){case 3:wa(Aa),Q();break;case 26:case 27:case 5:G(t);break;case 4:Q();break;case 13:su(t);break;case 19:I(cu);break;case 10:wa(t.type);break;case 22:case 23:su(t),mi(),null!==e&&I($a);break;case 24:wa(Aa)}}function ol(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var a=r.next;n=a;do{if((n.tag&e)===e){r=void 0;var i=n.create,o=n.inst;r=i(),o.destroy=r}n=n.next}while(n!==a)}}catch(e){cc(t,t.return,e)}}function ul(e,t,n){try{var r=t.updateQueue,a=null!==r?r.lastEffect:null;if(null!==a){var i=a.next;r=i;do{if((r.tag&e)===e){var o=r.inst,u=o.destroy;if(void 0!==u){o.destroy=void 0,a=t;var l=n,s=u;try{s()}catch(e){cc(a,l,e)}}}r=r.next}while(r!==i)}}catch(e){cc(t,t.return,e)}}function ll(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{di(t,n)}catch(t){cc(e,e.return,t)}}}function sl(e,t,n){n.props=vu(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){cc(e,t,n)}}function cl(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;default:r=e.stateNode}\"function\"==typeof n?e.refCleanup=n(r):n.current=r}}catch(n){cc(e,t,n)}}function fl(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if(\"function\"==typeof r)try{r()}catch(n){cc(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if(\"function\"==typeof n)try{n(null)}catch(n){cc(e,t,n)}else n.current=null}function dl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case\"button\":case\"input\":case\"select\":case\"textarea\":n.autoFocus&&r.focus();break e;case\"img\":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){cc(e,e.return,t)}}function pl(e,t,n){try{var r=e.stateNode;!function(e,t,n,r){switch(t){case\"div\":case\"span\":case\"svg\":case\"path\":case\"a\":case\"g\":case\"p\":case\"li\":break;case\"input\":var a=null,i=null,u=null,l=null,s=null,c=null,f=null;for(h in n){var d=n[h];if(n.hasOwnProperty(h)&&null!=d)switch(h){case\"checked\":case\"value\":break;case\"defaultValue\":s=d;default:r.hasOwnProperty(h)||Zc(e,t,h,null,r,d)}}for(var p in r){var h=r[p];if(d=n[p],r.hasOwnProperty(p)&&(null!=h||null!=d))switch(p){case\"type\":i=h;break;case\"name\":a=h;break;case\"checked\":c=h;break;case\"defaultChecked\":f=h;break;case\"value\":u=h;break;case\"defaultValue\":l=h;break;case\"children\":case\"dangerouslySetInnerHTML\":if(null!=h)throw Error(o(137,t));break;default:h!==d&&Zc(e,t,p,h,r,d)}}return void vt(e,u,l,s,c,f,i,a);case\"select\":for(i in h=u=l=p=null,n)if(s=n[i],n.hasOwnProperty(i)&&null!=s)switch(i){case\"value\":break;case\"multiple\":h=s;default:r.hasOwnProperty(i)||Zc(e,t,i,null,r,s)}for(a in r)if(i=r[a],s=n[a],r.hasOwnProperty(a)&&(null!=i||null!=s))switch(a){case\"value\":p=i;break;case\"defaultValue\":l=i;break;case\"multiple\":u=i;default:i!==s&&Zc(e,t,a,i,r,s)}return t=l,n=u,r=h,void(null!=p?bt(e,!!n,p,!1):!!r!=!!n&&(null!=t?bt(e,!!n,t,!0):bt(e,!!n,n?[]:\"\",!1)));case\"textarea\":for(l in h=p=null,n)if(a=n[l],n.hasOwnProperty(l)&&null!=a&&!r.hasOwnProperty(l))switch(l){case\"value\":case\"children\":break;default:Zc(e,t,l,null,r,a)}for(u in r)if(a=r[u],i=n[u],r.hasOwnProperty(u)&&(null!=a||null!=i))switch(u){case\"value\":p=a;break;case\"defaultValue\":h=a;break;case\"children\":break;case\"dangerouslySetInnerHTML\":if(null!=a)throw Error(o(91));break;default:a!==i&&Zc(e,t,u,a,r,i)}return void wt(e,p,h);case\"option\":for(var g in n)p=n[g],n.hasOwnProperty(g)&&null!=p&&!r.hasOwnProperty(g)&&(\"selected\"===g?e.selected=!1:Zc(e,t,g,null,r,p));for(s in r)p=r[s],h=n[s],!r.hasOwnProperty(s)||p===h||null==p&&null==h||(\"selected\"===s?e.selected=p&&\"function\"!=typeof p&&\"symbol\"!=typeof p:Zc(e,t,s,p,r,h));return;case\"img\":case\"link\":case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"keygen\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":case\"menuitem\":for(var v in n)p=n[v],n.hasOwnProperty(v)&&null!=p&&!r.hasOwnProperty(v)&&Zc(e,t,v,null,r,p);for(c in r)if(p=r[c],h=n[c],r.hasOwnProperty(c)&&p!==h&&(null!=p||null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":if(null!=p)throw Error(o(137,t));break;default:Zc(e,t,c,p,r,h)}return;default:if(Ct(t)){for(var m in n)p=n[m],n.hasOwnProperty(m)&&void 0!==p&&!r.hasOwnProperty(m)&&Jc(e,t,m,void 0,r,p);for(f in r)p=r[f],h=n[f],!r.hasOwnProperty(f)||p===h||void 0===p&&void 0===h||Jc(e,t,f,p,r,h);return}}for(var y in n)p=n[y],n.hasOwnProperty(y)&&null!=p&&!r.hasOwnProperty(y)&&Zc(e,t,y,null,r,p);for(d in r)p=r[d],h=n[d],!r.hasOwnProperty(d)||p===h||null==p&&null==h||Zc(e,t,d,p,r,h)}(r,e.type,n,t),r[Oe]=t}catch(t){cc(e,e.return,t)}}function hl(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&hf(e.type)||4===e.tag}function gl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||hl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&hf(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function vl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?(9===n.nodeType?n.body:\"HTML\"===n.nodeName?n.ownerDocument.body:n).insertBefore(e,t):((t=9===n.nodeType?n.body:\"HTML\"===n.nodeName?n.ownerDocument.body:n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Xc));else if(4!==r&&(27===r&&hf(e.type)&&(n=e.stateNode,t=null),null!==(e=e.child)))for(vl(e,t,n),e=e.sibling;null!==e;)vl(e,t,n),e=e.sibling}function ml(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&(27===r&&hf(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(ml(e,t,n),e=e.sibling;null!==e;)ml(e,t,n),e=e.sibling}function yl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);ef(t,r,n),t[Ae]=e,t[Oe]=n}catch(t){cc(e,e.return,t)}}var bl=!1,wl=!1,_l=!1,kl=\"function\"==typeof WeakSet?WeakSet:Set,xl=null;function Sl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Rl(e,n),4&r&&ol(5,n);break;case 1:if(Rl(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(e){cc(n,n.return,e)}else{var a=vu(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){cc(n,n.return,e)}}64&r&&ll(n),512&r&&cl(n,n.return);break;case 3:if(Rl(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{di(e,t)}catch(e){cc(n,n.return,e)}}break;case 27:null===t&&4&r&&yl(n);case 26:case 5:Rl(e,n),null===t&&4&r&&dl(n),512&r&&cl(n,n.return);break;case 12:Rl(e,n);break;case 13:Rl(e,n),4&r&&Ml(e,n),64&r&&null!==(e=n.memoizedState)&&null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if(\"$?\"!==e.data||\"complete\"===n.readyState)t();else{var r=function(){t(),n.removeEventListener(\"DOMContentLoaded\",r)};n.addEventListener(\"DOMContentLoaded\",r),e._reactRetry=r}}(e,n=hc.bind(null,n));break;case 22:if(!(r=null!==n.memoizedState||bl)){t=null!==t&&null!==t.memoizedState||wl,a=bl;var i=wl;bl=r,(wl=t)&&!i?Ul(e,n,!!(8772&n.subtreeFlags)):Rl(e,n),bl=a,wl=i}break;case 30:break;default:Rl(e,n)}}function El(e){var t=e.alternate;null!==t&&(e.alternate=null,El(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&Ie(t),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Cl=null,Tl=!1;function Pl(e,t,n){for(n=n.child;null!==n;)zl(e,t,n),n=n.sibling}function zl(e,t,n){if(fe&&\"function\"==typeof fe.onCommitFiberUnmount)try{fe.onCommitFiberUnmount(ce,n)}catch(e){}switch(n.tag){case 26:wl||fl(n,t),Pl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:wl||fl(n,t);var r=Cl,a=Tl;hf(n.type)&&(Cl=n.stateNode,Tl=!1),Pl(e,t,n),kf(n.stateNode),Cl=r,Tl=a;break;case 5:wl||fl(n,t);case 6:if(r=Cl,a=Tl,Cl=null,Pl(e,t,n),Tl=a,null!==(Cl=r))if(Tl)try{(9===Cl.nodeType?Cl.body:\"HTML\"===Cl.nodeName?Cl.ownerDocument.body:Cl).removeChild(n.stateNode)}catch(e){cc(n,t,e)}else try{Cl.removeChild(n.stateNode)}catch(e){cc(n,t,e)}break;case 18:null!==Cl&&(Tl?(gf(9===(e=Cl).nodeType?e.body:\"HTML\"===e.nodeName?e.ownerDocument.body:e,n.stateNode),Pd(e)):gf(Cl,n.stateNode));break;case 4:r=Cl,a=Tl,Cl=n.stateNode.containerInfo,Tl=!0,Pl(e,t,n),Cl=r,Tl=a;break;case 0:case 11:case 14:case 15:wl||ul(2,n,t),wl||ul(4,n,t),Pl(e,t,n);break;case 1:wl||(fl(n,t),\"function\"==typeof(r=n.stateNode).componentWillUnmount&&sl(n,t,r)),Pl(e,t,n);break;case 21:Pl(e,t,n);break;case 22:wl=(r=wl)||null!==n.memoizedState,Pl(e,t,n),wl=r;break;default:Pl(e,t,n)}}function Ml(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))try{Pd(e)}catch(e){cc(t,t.return,e)}}function Nl(e,t){var n=function(e){switch(e.tag){case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new kl),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new kl),t;default:throw Error(o(435,e.tag))}}(e);t.forEach((function(t){var r=gc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}function Al(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r],i=e,u=t,l=u;e:for(;null!==l;){switch(l.tag){case 27:if(hf(l.type)){Cl=l.stateNode,Tl=!1;break e}break;case 5:Cl=l.stateNode,Tl=!1;break e;case 3:case 4:Cl=l.stateNode.containerInfo,Tl=!0;break e}l=l.return}if(null===Cl)throw Error(o(160));zl(i,u,a),Cl=null,Tl=!1,null!==(i=a.alternate)&&(i.return=null),a.return=null}if(13878&t.subtreeFlags)for(t=t.child;null!==t;)Ll(t,e),t=t.sibling}var Ol=null;function Ll(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Al(t,e),Fl(e),4&r&&(ul(3,e,e.return),ol(3,e),ul(5,e,e.return));break;case 1:Al(t,e),Fl(e),512&r&&(wl||null===n||fl(n,n.return)),64&r&&bl&&null!==(e=e.updateQueue)&&null!==(r=e.callbacks)&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=null===n?r:n.concat(r));break;case 26:var a=Ol;if(Al(t,e),Fl(e),512&r&&(wl||null===n||fl(n,n.return)),4&r){var i=null!==n?n.memoizedState:null;if(r=e.memoizedState,null===n)if(null===r)if(null===e.stateNode){e:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;t:switch(r){case\"title\":(!(i=a.getElementsByTagName(\"title\")[0])||i[Ue]||i[Ae]||\"http://www.w3.org/2000/svg\"===i.namespaceURI||i.hasAttribute(\"itemprop\"))&&(i=a.createElement(r),a.head.insertBefore(i,a.querySelector(\"head > title\"))),ef(i,r,n),i[Ae]=e,Ve(i),r=i;break e;case\"link\":var u=If(\"link\",\"href\",a).get(r+(n.href||\"\"));if(u)for(var l=0;l<u.length;l++)if((i=u[l]).getAttribute(\"href\")===(null==n.href||\"\"===n.href?null:n.href)&&i.getAttribute(\"rel\")===(null==n.rel?null:n.rel)&&i.getAttribute(\"title\")===(null==n.title?null:n.title)&&i.getAttribute(\"crossorigin\")===(null==n.crossOrigin?null:n.crossOrigin)){u.splice(l,1);break t}ef(i=a.createElement(r),r,n),a.head.appendChild(i);break;case\"meta\":if(u=If(\"meta\",\"content\",a).get(r+(n.content||\"\")))for(l=0;l<u.length;l++)if((i=u[l]).getAttribute(\"content\")===(null==n.content?null:\"\"+n.content)&&i.getAttribute(\"name\")===(null==n.name?null:n.name)&&i.getAttribute(\"property\")===(null==n.property?null:n.property)&&i.getAttribute(\"http-equiv\")===(null==n.httpEquiv?null:n.httpEquiv)&&i.getAttribute(\"charset\")===(null==n.charSet?null:n.charSet)){u.splice(l,1);break t}ef(i=a.createElement(r),r,n),a.head.appendChild(i);break;default:throw Error(o(468,r))}i[Ae]=e,Ve(i),r=i}e.stateNode=r}else $f(a,e.type,e.stateNode);else e.stateNode=Ff(a,r,e.memoizedProps);else i!==r?(null===i?null!==n.stateNode&&(n=n.stateNode).parentNode.removeChild(n):i.count--,null===r?$f(a,e.type,e.stateNode):Ff(a,r,e.memoizedProps)):null===r&&null!==e.stateNode&&pl(e,e.memoizedProps,n.memoizedProps)}break;case 27:Al(t,e),Fl(e),512&r&&(wl||null===n||fl(n,n.return)),null!==n&&4&r&&pl(e,e.memoizedProps,n.memoizedProps);break;case 5:if(Al(t,e),Fl(e),512&r&&(wl||null===n||fl(n,n.return)),32&e.flags){a=e.stateNode;try{kt(a,\"\")}catch(t){cc(e,e.return,t)}}4&r&&null!=e.stateNode&&pl(e,a=e.memoizedProps,null!==n?n.memoizedProps:a),1024&r&&(_l=!0);break;case 6:if(Al(t,e),Fl(e),4&r){if(null===e.stateNode)throw Error(o(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){cc(e,e.return,t)}}break;case 3:if(Uf=null,a=Ol,Ol=Ef(t.containerInfo),Al(t,e),Ol=a,Fl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Pd(t.containerInfo)}catch(t){cc(e,e.return,t)}_l&&(_l=!1,Dl(e));break;case 4:r=Ol,Ol=Ef(e.stateNode.containerInfo),Al(t,e),Fl(e),Ol=r;break;case 12:default:Al(t,e),Fl(e);break;case 13:Al(t,e),Fl(e),8192&e.child.flags&&null!==e.memoizedState!=(null!==n&&null!==n.memoizedState)&&(_s=te()),4&r&&null!==(r=e.updateQueue)&&(e.updateQueue=null,Nl(e,r));break;case 22:a=null!==e.memoizedState;var s=null!==n&&null!==n.memoizedState,c=bl,f=wl;if(bl=c||a,wl=f||s,Al(t,e),wl=f,bl=c,Fl(e),8192&r)e:for(t=e.stateNode,t._visibility=a?-2&t._visibility:1|t._visibility,a&&(null===n||s||bl||wl||jl(e)),n=null,t=e;;){if(5===t.tag||26===t.tag){if(null===n){s=n=t;try{if(i=s.stateNode,a)\"function\"==typeof(u=i.style).setProperty?u.setProperty(\"display\",\"none\",\"important\"):u.display=\"none\";else{l=s.stateNode;var d=s.memoizedProps.style,p=null!=d&&d.hasOwnProperty(\"display\")?d.display:null;l.style.display=null==p||\"boolean\"==typeof p?\"\":(\"\"+p).trim()}}catch(e){cc(s,s.return,e)}}}else if(6===t.tag){if(null===n){s=t;try{s.stateNode.nodeValue=a?\"\":s.memoizedProps}catch(e){cc(s,s.return,e)}}}else if((22!==t.tag&&23!==t.tag||null===t.memoizedState||t===e)&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;null===t.sibling;){if(null===t.return||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}4&r&&null!==(r=e.updateQueue)&&null!==(n=r.retryQueue)&&(r.retryQueue=null,Nl(e,n));break;case 19:Al(t,e),Fl(e),4&r&&null!==(r=e.updateQueue)&&(e.updateQueue=null,Nl(e,r));case 30:case 21:}}function Fl(e){var t=e.flags;if(2&t){try{for(var n,r=e.return;null!==r;){if(hl(r)){n=r;break}r=r.return}if(null==n)throw Error(o(160));switch(n.tag){case 27:var a=n.stateNode;ml(e,gl(e),a);break;case 5:var i=n.stateNode;32&n.flags&&(kt(i,\"\"),n.flags&=-33),ml(e,gl(e),i);break;case 3:case 4:var u=n.stateNode.containerInfo;vl(e,gl(e),u);break;default:throw Error(o(161))}}catch(t){cc(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function Dl(e){if(1024&e.subtreeFlags)for(e=e.child;null!==e;){var t=e;Dl(t),5===t.tag&&1024&t.flags&&t.stateNode.reset(),e=e.sibling}}function Rl(e,t){if(8772&t.subtreeFlags)for(t=t.child;null!==t;)Sl(e,t.alternate,t),t=t.sibling}function jl(e){for(e=e.child;null!==e;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ul(4,t,t.return),jl(t);break;case 1:fl(t,t.return);var n=t.stateNode;\"function\"==typeof n.componentWillUnmount&&sl(t,t.return,n),jl(t);break;case 27:kf(t.stateNode);case 26:case 5:fl(t,t.return),jl(t);break;case 22:null===t.memoizedState&&jl(t);break;default:jl(t)}e=e.sibling}}function Ul(e,t,n){for(n=n&&!!(8772&t.subtreeFlags),t=t.child;null!==t;){var r=t.alternate,a=e,i=t,o=i.flags;switch(i.tag){case 0:case 11:case 15:Ul(a,i,n),ol(4,i);break;case 1:if(Ul(a,i,n),\"function\"==typeof(a=(r=i).stateNode).componentDidMount)try{a.componentDidMount()}catch(e){cc(r,r.return,e)}if(null!==(a=(r=i).updateQueue)){var u=r.stateNode;try{var l=a.shared.hiddenCallbacks;if(null!==l)for(a.shared.hiddenCallbacks=null,a=0;a<l.length;a++)fi(l[a],u)}catch(e){cc(r,r.return,e)}}n&&64&o&&ll(i),cl(i,i.return);break;case 27:yl(i);case 26:case 5:Ul(a,i,n),n&&null===r&&4&o&&dl(i),cl(i,i.return);break;case 12:Ul(a,i,n);break;case 13:Ul(a,i,n),n&&4&o&&Ml(a,i);break;case 22:null===i.memoizedState&&Ul(a,i,n),cl(i,i.return);break;case 30:break;default:Ul(a,i,n)}t=t.sibling}}function Il(e,t){var n=null;null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),e=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(e=t.memoizedState.cachePool.pool),e!==n&&(null!=e&&e.refCount++,null!=n&&La(n))}function $l(e,t){e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&La(e))}function Bl(e,t,n,r){if(10256&t.subtreeFlags)for(t=t.child;null!==t;)Hl(e,t,n,r),t=t.sibling}function Hl(e,t,n,r){var a=t.flags;switch(t.tag){case 0:case 11:case 15:Bl(e,t,n,r),2048&a&&ol(9,t);break;case 1:case 13:default:Bl(e,t,n,r);break;case 3:Bl(e,t,n,r),2048&a&&(e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&La(e)));break;case 12:if(2048&a){Bl(e,t,n,r),e=t.stateNode;try{var i=t.memoizedProps,o=i.id,u=i.onPostCommit;\"function\"==typeof u&&u(o,null===t.alternate?\"mount\":\"update\",e.passiveEffectDuration,-0)}catch(e){cc(t,t.return,e)}}else Bl(e,t,n,r);break;case 23:break;case 22:i=t.stateNode,o=t.alternate,null!==t.memoizedState?2&i._visibility?Bl(e,t,n,r):Vl(e,t):2&i._visibility?Bl(e,t,n,r):(i._visibility|=2,Wl(e,t,n,r,!!(10256&t.subtreeFlags))),2048&a&&Il(o,t);break;case 24:Bl(e,t,n,r),2048&a&&$l(t.alternate,t)}}function Wl(e,t,n,r,a){for(a=a&&!!(10256&t.subtreeFlags),t=t.child;null!==t;){var i=e,o=t,u=n,l=r,s=o.flags;switch(o.tag){case 0:case 11:case 15:Wl(i,o,u,l,a),ol(8,o);break;case 23:break;case 22:var c=o.stateNode;null!==o.memoizedState?2&c._visibility?Wl(i,o,u,l,a):Vl(i,o):(c._visibility|=2,Wl(i,o,u,l,a)),a&&2048&s&&Il(o.alternate,o);break;case 24:Wl(i,o,u,l,a),a&&2048&s&&$l(o.alternate,o);break;default:Wl(i,o,u,l,a)}t=t.sibling}}function Vl(e,t){if(10256&t.subtreeFlags)for(t=t.child;null!==t;){var n=e,r=t,a=r.flags;switch(r.tag){case 22:Vl(n,r),2048&a&&Il(r.alternate,r);break;case 24:Vl(n,r),2048&a&&$l(r.alternate,r);break;default:Vl(n,r)}t=t.sibling}}var ql=8192;function Ql(e){if(e.subtreeFlags&ql)for(e=e.child;null!==e;)Yl(e),e=e.sibling}function Yl(e){switch(e.tag){case 26:Ql(e),e.flags&ql&&null!==e.memoizedState&&function(e,t,n){if(null===Hf)throw Error(o(475));var r=Hf;if(!(\"stylesheet\"!==t.type||\"string\"==typeof n.media&&!1===matchMedia(n.media).matches||4&t.state.loading)){if(null===t.instance){var a=Mf(n.href),i=e.querySelector(Nf(a));if(i)return null!==(e=i._p)&&\"object\"==typeof e&&\"function\"==typeof e.then&&(r.count++,r=Vf.bind(r),e.then(r,r)),t.state.loading|=4,t.instance=i,void Ve(i);i=e.ownerDocument||e,n=Af(n),(a=xf.get(a))&&Rf(n,a),Ve(i=i.createElement(\"link\"));var u=i;u._p=new Promise((function(e,t){u.onload=e,u.onerror=t})),ef(i,\"link\",n),t.instance=i}null===r.stylesheets&&(r.stylesheets=new Map),r.stylesheets.set(t,e),(e=t.state.preload)&&!(3&t.state.loading)&&(r.count++,t=Vf.bind(r),e.addEventListener(\"load\",t),e.addEventListener(\"error\",t))}}(Ol,e.memoizedState,e.memoizedProps);break;case 5:default:Ql(e);break;case 3:case 4:var t=Ol;Ol=Ef(e.stateNode.containerInfo),Ql(e),Ol=t;break;case 22:null===e.memoizedState&&(null!==(t=e.alternate)&&null!==t.memoizedState?(t=ql,ql=16777216,Ql(e),ql=t):Ql(e))}}function Gl(e){var t=e.alternate;if(null!==t&&null!==(e=t.child)){t.child=null;do{t=e.sibling,e.sibling=null,e=t}while(null!==e)}}function Kl(e){var t=e.deletions;if(16&e.flags){if(null!==t)for(var n=0;n<t.length;n++){var r=t[n];xl=r,Jl(r,e)}Gl(e)}if(10256&e.subtreeFlags)for(e=e.child;null!==e;)Xl(e),e=e.sibling}function Xl(e){switch(e.tag){case 0:case 11:case 15:Kl(e),2048&e.flags&&ul(9,e,e.return);break;case 3:case 12:default:Kl(e);break;case 22:var t=e.stateNode;null!==e.memoizedState&&2&t._visibility&&(null===e.return||13!==e.return.tag)?(t._visibility&=-3,Zl(e)):Kl(e)}}function Zl(e){var t=e.deletions;if(16&e.flags){if(null!==t)for(var n=0;n<t.length;n++){var r=t[n];xl=r,Jl(r,e)}Gl(e)}for(e=e.child;null!==e;){switch((t=e).tag){case 0:case 11:case 15:ul(8,t,t.return),Zl(t);break;case 22:2&(n=t.stateNode)._visibility&&(n._visibility&=-3,Zl(t));break;default:Zl(t)}e=e.sibling}}function Jl(e,t){for(;null!==xl;){var n=xl;switch(n.tag){case 0:case 11:case 15:ul(8,n,t);break;case 23:case 22:if(null!==n.memoizedState&&null!==n.memoizedState.cachePool){var r=n.memoizedState.cachePool.pool;null!=r&&r.refCount++}break;case 24:La(n.memoizedState.cache)}if(null!==(r=n.child))r.return=n,xl=r;else e:for(n=e;null!==xl;){var a=(r=xl).sibling,i=r.return;if(El(r),r===n){xl=null;break e}if(null!==a){a.return=i,xl=a;break e}xl=i}}}var es={getCacheForType:function(e){var t=Ca(Aa),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n}},ts=\"function\"==typeof WeakMap?WeakMap:Map,ns=0,rs=null,as=null,is=0,os=0,us=null,ls=!1,ss=!1,cs=!1,fs=0,ds=0,ps=0,hs=0,gs=0,vs=0,ms=0,ys=null,bs=null,ws=!1,_s=0,ks=1/0,xs=null,Ss=null,Es=0,Cs=null,Ts=null,Ps=0,zs=0,Ms=null,Ns=null,As=0,Os=null;function Ls(){return 2&ns&&0!==is?is&-is:null!==L.T?0!==Ra?Ra:zc():Me()}function Fs(){0===vs&&(vs=536870912&is&&!ia?536870912:ke());var e=au.current;return null!==e&&(e.flags|=32),vs}function Ds(e,t,n){(e!==rs||2!==os&&9!==os)&&null===e.cancelPendingCommit||(Hs(e,0),Is(e,is,vs,!1)),Ee(e,n),2&ns&&e===rs||(e===rs&&(!(2&ns)&&(hs|=n),4===ds&&Is(e,is,vs,!1)),kc(e))}function Rs(e,t,n){if(6&ns)throw Error(o(327));for(var r=!n&&!(124&t)&&!(t&e.expiredLanes)||we(e,t),a=r?function(e,t){var n=ns;ns|=2;var r=Vs(),a=qs();rs!==e||is!==t?(xs=null,ks=te()+500,Hs(e,t)):ss=we(e,t);e:for(;;)try{if(0!==os&&null!==as){t=as;var i=us;t:switch(os){case 1:os=0,us=null,Js(e,t,i,1);break;case 2:case 9:if(Ga(i)){os=0,us=null,Zs(t);break}t=function(){2!==os&&9!==os||rs!==e||(os=7),kc(e)},i.then(t,t);break e;case 3:os=7;break e;case 4:os=5;break e;case 7:Ga(i)?(os=0,us=null,Zs(t)):(os=0,us=null,Js(e,t,i,7));break;case 5:var u=null;switch(as.tag){case 26:u=as.memoizedState;case 5:case 27:var l=as;if(!u||Bf(u)){os=0,us=null;var s=l.sibling;if(null!==s)as=s;else{var c=l.return;null!==c?(as=c,ec(c)):as=null}break t}}os=0,us=null,Js(e,t,i,5);break;case 6:os=0,us=null,Js(e,t,i,6);break;case 8:Bs(),ds=6;break e;default:throw Error(o(462))}}Ks();break}catch(t){Ws(e,t)}return ya=ma=null,L.H=r,L.A=a,ns=n,null!==as?0:(rs=null,is=0,Pr(),ds)}(e,t):Ys(e,t,!0),i=r;;){if(0===a){ss&&!r&&Is(e,t,0,!1);break}if(n=e.current.alternate,!i||Us(n)){if(2===a){if(i=t,e.errorRecoveryDisabledLanes&i)var u=0;else u=0!=(u=-536870913&e.pendingLanes)?u:536870912&u?536870912:0;if(0!==u){t=u;e:{var l=e;a=ys;var s=l.current.memoizedState.isDehydrated;if(s&&(Hs(l,u).flags|=256),2!==(u=Ys(l,u,!1))){if(cs&&!s){l.errorRecoveryDisabledLanes|=i,hs|=i,a=4;break e}i=bs,bs=a,null!==i&&(null===bs?bs=i:bs.push.apply(bs,i))}a=u}if(i=!1,2!==a)continue}}if(1===a){Hs(e,0),Is(e,t,0,!0);break}e:{switch(r=e,i=a){case 0:case 1:throw Error(o(345));case 4:if((4194048&t)!==t)break;case 6:Is(r,t,vs,!ls);break e;case 2:bs=null;break;case 3:case 5:break;default:throw Error(o(329))}if((62914560&t)===t&&10<(a=_s+300-te())){if(Is(r,t,vs,!ls),0!==be(r,0,!0))break e;r.timeoutHandle=sf(js.bind(null,r,n,bs,xs,ws,t,vs,hs,ms,ls,i,2,-0,0),a)}else js(r,n,bs,xs,ws,t,vs,hs,ms,ls,i,0,-0,0)}break}a=Ys(e,t,!1),i=!1}kc(e)}function js(e,t,n,r,a,i,u,l,s,c,f,d,p,h){if(e.timeoutHandle=-1,(8192&(d=t.subtreeFlags)||!(16785408&~d))&&(Hf={stylesheets:null,count:0,unsuspend:Wf},Yl(t),null!==(d=function(){if(null===Hf)throw Error(o(475));var e=Hf;return e.stylesheets&&0===e.count&&Qf(e,e.stylesheets),0<e.count?function(t){var n=setTimeout((function(){if(e.stylesheets&&Qf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}),6e4);return e.unsuspend=t,function(){e.unsuspend=null,clearTimeout(n)}}:null}())))return e.cancelPendingCommit=d(nc.bind(null,e,t,i,n,r,a,u,l,s,f,1,p,h)),void Is(e,i,u,!c);nc(e,t,i,n,r,a,u,l,s)}function Us(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&null!==(n=t.updateQueue)&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],i=a.getSnapshot;a=a.value;try{if(!Gn(i(),a))return!1}catch(e){return!1}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Is(e,t,n,r){t&=~gs,t&=~hs,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var a=t;0<a;){var i=31-pe(a),o=1<<i;r[i]=-1,a&=~o}0!==n&&Ce(e,n,t)}function $s(){return!!(6&ns)||(xc(0,!1),!1)}function Bs(){if(null!==as){if(0===os)var e=as.return;else ya=ma=null,Ri(e=as),Go=null,Ko=0,e=as;for(;null!==e;)il(e.alternate,e),e=e.return;as=null}}function Hs(e,t){var n=e.timeoutHandle;-1!==n&&(e.timeoutHandle=-1,cf(n)),null!==(n=e.cancelPendingCommit)&&(e.cancelPendingCommit=null,n()),Bs(),rs=e,as=n=jr(e.current,null),is=t,os=0,us=null,ls=!1,ss=we(e,t),cs=!1,ms=vs=gs=hs=ps=ds=0,bs=ys=null,ws=!1,8&t&&(t|=32&t);var r=e.entangledLanes;if(0!==r)for(e=e.entanglements,r&=t;0<r;){var a=31-pe(r),i=1<<a;t|=e[a],r&=~i}return fs=t,Pr(),n}function Ws(e,t){bi=null,L.H=Vo,t===Va||t===Qa?(t=Ja(),os=3):t===qa?(t=Ja(),os=4):os=t===Cu?8:null!==t&&\"object\"==typeof t&&\"function\"==typeof t.then?6:1,us=t,null===as&&(ds=1,_u(e,Sr(t,e.current)))}function Vs(){var e=L.H;return L.H=Vo,null===e?Vo:e}function qs(){var e=L.A;return L.A=es,e}function Qs(){ds=4,ls||(4194048&is)!==is&&null!==au.current||(ss=!0),!(134217727&ps)&&!(134217727&hs)||null===rs||Is(rs,is,vs,!1)}function Ys(e,t,n){var r=ns;ns|=2;var a=Vs(),i=qs();rs===e&&is===t||(xs=null,Hs(e,t)),t=!1;var o=ds;e:for(;;)try{if(0!==os&&null!==as){var u=as,l=us;switch(os){case 8:Bs(),o=6;break e;case 3:case 2:case 9:case 6:null===au.current&&(t=!0);var s=os;if(os=0,us=null,Js(e,u,l,s),n&&ss){o=0;break e}break;default:s=os,os=0,us=null,Js(e,u,l,s)}}Gs(),o=ds;break}catch(t){Ws(e,t)}return t&&e.shellSuspendCounter++,ya=ma=null,ns=r,L.H=a,L.A=i,null===as&&(rs=null,is=0,Pr()),o}function Gs(){for(;null!==as;)Xs(as)}function Ks(){for(;null!==as&&!J();)Xs(as)}function Xs(e){var t=Xu(e.alternate,e,fs);e.memoizedProps=e.pendingProps,null===t?ec(e):as=t}function Zs(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Du(n,t,t.pendingProps,t.type,void 0,is);break;case 11:t=Du(n,t,t.pendingProps,t.type.render,t.ref,is);break;case 5:Ri(t);default:il(n,t),t=Xu(n,t=as=Ur(t,fs),fs)}e.memoizedProps=e.pendingProps,null===t?ec(e):as=t}function Js(e,t,n,r){ya=ma=null,Ri(t),Go=null,Ko=0;var a=t.return;try{if(function(e,t,n,r,a){if(n.flags|=32768,null!==r&&\"object\"==typeof r&&\"function\"==typeof r.then){if(null!==(t=n.alternate)&&xa(t,n,a,!0),null!==(n=au.current)){switch(n.tag){case 13:return null===iu?Qs():null===n.alternate&&0===ds&&(ds=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Ya?n.flags|=16384:(null===(t=n.updateQueue)?n.updateQueue=new Set([r]):t.add(r),fc(e,r,a)),!1;case 22:return n.flags|=65536,r===Ya?n.flags|=16384:(null===(t=n.updateQueue)?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):null===(n=t.retryQueue)?t.retryQueue=new Set([r]):n.add(r),fc(e,r,a)),!1}throw Error(o(435,n.tag))}return fc(e,r,a),Qs(),!1}if(ia)return null!==(t=au.current)?(!(65536&t.flags)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==la&&ga(Sr(e=Error(o(422),{cause:r}),n))):(r!==la&&ga(Sr(t=Error(o(423),{cause:r}),n)),(e=e.current.alternate).flags|=65536,a&=-a,e.lanes|=a,r=Sr(r,n),ui(e,a=xu(e.stateNode,r,a)),4!==ds&&(ds=2)),!1;var i=Error(o(520),{cause:r});if(i=Sr(i,n),null===ys?ys=[i]:ys.push(i),4!==ds&&(ds=2),null===t)return!0;r=Sr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,ui(n,e=xu(n.stateNode,r,e)),!1;case 1:if(t=n.type,i=n.stateNode,!(128&n.flags||\"function\"!=typeof t.getDerivedStateFromError&&(null===i||\"function\"!=typeof i.componentDidCatch||null!==Ss&&Ss.has(i))))return n.flags|=65536,a&=-a,n.lanes|=a,Eu(a=Su(a),e,n,r),ui(n,a),!1}n=n.return}while(null!==n);return!1}(e,a,t,n,is))return ds=1,_u(e,Sr(n,e.current)),void(as=null)}catch(t){if(null!==a)throw as=a,t;return ds=1,_u(e,Sr(n,e.current)),void(as=null)}32768&t.flags?(ia||1===r?e=!0:ss||536870912&is?e=!1:(ls=e=!0,(2===r||9===r||3===r||6===r)&&null!==(r=au.current)&&13===r.tag&&(r.flags|=16384)),tc(t,e)):ec(t)}function ec(e){var t=e;do{if(32768&t.flags)return void tc(t,ls);e=t.return;var n=rl(t.alternate,t,fs);if(null!==n)return void(as=n);if(null!==(t=t.sibling))return void(as=t);as=t=e}while(null!==t);0===ds&&(ds=5)}function tc(e,t){do{var n=al(e.alternate,e);if(null!==n)return n.flags&=32767,void(as=n);if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling))return void(as=e);as=e=n}while(null!==e);ds=6,as=null}function nc(e,t,n,r,a,i,u,l,s){e.cancelPendingCommit=null;do{uc()}while(0!==Es);if(6&ns)throw Error(o(327));if(null!==t){if(t===e.current)throw Error(o(177));if(i=t.lanes|t.childLanes,function(e,t,n,r,a,i){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var u=e.entanglements,l=e.expirationTimes,s=e.hiddenUpdates;for(n=o&~n;0<n;){var c=31-pe(n),f=1<<c;u[c]=0,l[c]=-1;var d=s[c];if(null!==d)for(s[c]=null,c=0;c<d.length;c++){var p=d[c];null!==p&&(p.lane&=-536870913)}n&=~f}0!==r&&Ce(e,r,0),0!==i&&0===a&&0!==e.tag&&(e.suspendedLanes|=i&~(o&~t))}(e,n,i|=Tr,u,l,s),e===rs&&(as=rs=null,is=0),Ts=t,Cs=e,Ps=n,zs=i,Ms=a,Ns=r,10256&t.subtreeFlags||10256&t.flags?(e.callbackNode=null,e.callbackPriority=0,X(ie,(function(){return lc(),null}))):(e.callbackNode=null,e.callbackPriority=0),r=!!(13878&t.flags),13878&t.subtreeFlags||r){r=L.T,L.T=null,a=F.p,F.p=2,u=ns,ns|=4;try{!function(e,t){if(e=e.containerInfo,tf=rd,tr(e=er(e))){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(e){n=null;break e}var u=0,l=-1,s=-1,c=0,f=0,d=e,p=null;t:for(;;){for(var h;d!==n||0!==a&&3!==d.nodeType||(l=u+a),d!==i||0!==r&&3!==d.nodeType||(s=u+r),3===d.nodeType&&(u+=d.nodeValue.length),null!==(h=d.firstChild);)p=d,d=h;for(;;){if(d===e)break t;if(p===n&&++c===a&&(l=u),p===i&&++f===r&&(s=u),null!==(h=d.nextSibling))break;p=(d=p).parentNode}d=h}n=-1===l||-1===s?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(nf={focusedElem:e,selectionRange:n},rd=!1,xl=t;null!==xl;)if(e=(t=xl).child,1024&t.subtreeFlags&&null!==e)e.return=t,xl=e;else for(;null!==xl;){switch(i=(t=xl).alternate,e=t.flags,t.tag){case 0:case 11:case 15:case 5:case 26:case 27:case 6:case 4:case 17:break;case 1:if(1024&e&&null!==i){e=void 0,n=t,a=i.memoizedProps,i=i.memoizedState,r=n.stateNode;try{var g=vu(n.type,a,(n.elementType,n.type));e=r.getSnapshotBeforeUpdate(g,i),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){cc(n,n.return,e)}}break;case 3:if(1024&e)if(9===(n=(e=t.stateNode.containerInfo).nodeType))vf(e);else if(1===n)switch(e.nodeName){case\"HEAD\":case\"HTML\":case\"BODY\":vf(e);break;default:e.textContent=\"\"}break;default:if(1024&e)throw Error(o(163))}if(null!==(e=t.sibling)){e.return=t.return,xl=e;break}xl=t.return}}(e,t)}finally{ns=u,F.p=a,L.T=r}}Es=1,rc(),ac(),ic()}}function rc(){if(1===Es){Es=0;var e=Cs,t=Ts,n=!!(13878&t.flags);if(13878&t.subtreeFlags||n){n=L.T,L.T=null;var r=F.p;F.p=2;var a=ns;ns|=4;try{Ll(t,e);var i=nf,o=er(e.containerInfo),u=i.focusedElem,l=i.selectionRange;if(o!==u&&u&&u.ownerDocument&&Jn(u.ownerDocument.documentElement,u)){if(null!==l&&tr(u)){var s=l.start,c=l.end;if(void 0===c&&(c=s),\"selectionStart\"in u)u.selectionStart=s,u.selectionEnd=Math.min(c,u.value.length);else{var f=u.ownerDocument||document,d=f&&f.defaultView||window;if(d.getSelection){var p=d.getSelection(),h=u.textContent.length,g=Math.min(l.start,h),v=void 0===l.end?g:Math.min(l.end,h);!p.extend&&g>v&&(o=v,v=g,g=o);var m=Zn(u,g),y=Zn(u,v);if(m&&y&&(1!==p.rangeCount||p.anchorNode!==m.node||p.anchorOffset!==m.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=f.createRange();b.setStart(m.node,m.offset),p.removeAllRanges(),g>v?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(f=[],p=u;p=p.parentNode;)1===p.nodeType&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(\"function\"==typeof u.focus&&u.focus(),u=0;u<f.length;u++){var w=f[u];w.element.scrollLeft=w.left,w.element.scrollTop=w.top}}rd=!!tf,nf=tf=null}finally{ns=a,F.p=r,L.T=n}}e.current=t,Es=2}}function ac(){if(2===Es){Es=0;var e=Cs,t=Ts,n=!!(8772&t.flags);if(8772&t.subtreeFlags||n){n=L.T,L.T=null;var r=F.p;F.p=2;var a=ns;ns|=4;try{Sl(e,t.alternate,t)}finally{ns=a,F.p=r,L.T=n}}Es=3}}function ic(){if(4===Es||3===Es){Es=0,ee();var e=Cs,t=Ts,n=Ps,r=Ns;10256&t.subtreeFlags||10256&t.flags?Es=5:(Es=0,Ts=Cs=null,oc(e,e.pendingLanes));var a=e.pendingLanes;if(0===a&&(Ss=null),ze(n),t=t.stateNode,fe&&\"function\"==typeof fe.onCommitFiberRoot)try{fe.onCommitFiberRoot(ce,t,void 0,!(128&~t.current.flags))}catch(e){}if(null!==r){t=L.T,a=F.p,F.p=2,L.T=null;try{for(var i=e.onRecoverableError,o=0;o<r.length;o++){var u=r[o];i(u.value,{componentStack:u.stack})}}finally{L.T=t,F.p=a}}3&Ps&&uc(),kc(e),a=e.pendingLanes,4194090&n&&42&a?e===Os?As++:(As=0,Os=e):As=0,xc(0,!1)}}function oc(e,t){0==(e.pooledCacheLanes&=t)&&null!=(t=e.pooledCache)&&(e.pooledCache=null,La(t))}function uc(e){return rc(),ac(),ic(),lc()}function lc(){if(5!==Es)return!1;var e=Cs,t=zs;zs=0;var n=ze(Ps),r=L.T,a=F.p;try{F.p=32>n?32:n,L.T=null,n=Ms,Ms=null;var i=Cs,u=Ps;if(Es=0,Ts=Cs=null,Ps=0,6&ns)throw Error(o(331));var l=ns;if(ns|=4,Xl(i.current),Hl(i,i.current,u,n),ns=l,xc(0,!1),fe&&\"function\"==typeof fe.onPostCommitFiberRoot)try{fe.onPostCommitFiberRoot(ce,i)}catch(e){}return!0}finally{F.p=a,L.T=r,oc(e,t)}}function sc(e,t,n){t=Sr(n,t),null!==(e=ii(e,t=xu(e.stateNode,t,2),2))&&(Ee(e,2),kc(e))}function cc(e,t,n){if(3===e.tag)sc(e,e,n);else for(;null!==t;){if(3===t.tag){sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if(\"function\"==typeof t.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===Ss||!Ss.has(r))){e=Sr(n,e),null!==(r=ii(t,n=Su(2),2))&&(Eu(n,r,t,e),Ee(r,2),kc(r));break}}t=t.return}}function fc(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ts;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(cs=!0,a.add(n),e=dc.bind(null,e,t,n),t.then(e,e))}function dc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,rs===e&&(is&n)===n&&(4===ds||3===ds&&(62914560&is)===is&&300>te()-_s?!(2&ns)&&Hs(e,0):gs|=n,ms===is&&(ms=0)),kc(e)}function pc(e,t){0===t&&(t=xe()),null!==(e=Nr(e,t))&&(Ee(e,t),kc(e))}function hc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),pc(e,n)}function gc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(o(314))}null!==r&&r.delete(t),pc(e,n)}var vc=null,mc=null,yc=!1,bc=!1,wc=!1,_c=0;function kc(e){e!==mc&&null===e.next&&(null===mc?vc=mc=e:mc=mc.next=e),bc=!0,yc||(yc=!0,df((function(){6&ns?X(re,Sc):Ec()})))}function xc(e,t){if(!wc&&bc){wc=!0;do{for(var n=!1,r=vc;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var i=0;else{var o=r.suspendedLanes,u=r.pingedLanes;i=(1<<31-pe(42|e)+1)-1,i=201326741&(i&=a&~(o&~u))?201326741&i|1:i?2|i:0}0!==i&&(n=!0,Pc(r,i))}else i=is,!(3&(i=be(r,r===rs?i:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||we(r,i)||(n=!0,Pc(r,i));r=r.next}}while(n);wc=!1}}function Sc(){Ec()}function Ec(){bc=yc=!1;var e,t=0;0!==_c&&(((e=window.event)&&\"popstate\"===e.type?e!==lf&&(lf=e,!0):(lf=null,!1))&&(t=_c),_c=0);for(var n=te(),r=null,a=vc;null!==a;){var i=a.next,o=Cc(a,n);0===o?(a.next=null,null===r?vc=i:r.next=i,null===i&&(mc=r)):(r=a,(0!==t||3&o)&&(bc=!0)),a=i}xc(t,!1)}function Cc(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,i=-62914561&e.pendingLanes;0<i;){var o=31-pe(i),u=1<<o,l=a[o];-1===l?u&n&&!(u&r)||(a[o]=_e(u,t)):l<=t&&(e.expiredLanes|=u),i&=~u}if(n=is,n=be(e,e===(t=rs)?n:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle),r=e.callbackNode,0===n||e===t&&(2===os||9===os)||null!==e.cancelPendingCommit)return null!==r&&null!==r&&Z(r),e.callbackNode=null,e.callbackPriority=0;if(!(3&n)||we(e,n)){if((t=n&-n)===e.callbackPriority)return t;switch(null!==r&&Z(r),ze(n)){case 2:case 8:n=ae;break;case 32:default:n=ie;break;case 268435456:n=ue}return r=Tc.bind(null,e),n=X(n,r),e.callbackPriority=t,e.callbackNode=n,t}return null!==r&&null!==r&&Z(r),e.callbackPriority=2,e.callbackNode=null,2}function Tc(e,t){if(0!==Es&&5!==Es)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(uc()&&e.callbackNode!==n)return null;var r=is;return 0===(r=be(e,e===rs?r:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle))?null:(Rs(e,r,t),Cc(e,te()),null!=e.callbackNode&&e.callbackNode===n?Tc.bind(null,e):null)}function Pc(e,t){if(uc())return null;Rs(e,t,!0)}function zc(){return 0===_c&&(_c=ke()),_c}function Mc(e){return null==e||\"symbol\"==typeof e||\"boolean\"==typeof e?null:\"function\"==typeof e?e:zt(\"\"+e)}function Nc(e,t){var n=t.ownerDocument.createElement(\"input\");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(\"form\",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}for(var Ac=0;Ac<_r.length;Ac++){var Oc=_r[Ac];kr(Oc.toLowerCase(),\"on\"+(Oc[0].toUpperCase()+Oc.slice(1)))}kr(pr,\"onAnimationEnd\"),kr(hr,\"onAnimationIteration\"),kr(gr,\"onAnimationStart\"),kr(\"dblclick\",\"onDoubleClick\"),kr(\"focusin\",\"onFocus\"),kr(\"focusout\",\"onBlur\"),kr(vr,\"onTransitionRun\"),kr(mr,\"onTransitionStart\"),kr(yr,\"onTransitionCancel\"),kr(br,\"onTransitionEnd\"),Ge(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),Ge(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),Ge(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),Ge(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),Ye(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),Ye(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),Ye(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),Ye(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),Ye(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),Ye(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Lc=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Fc=new Set(\"beforetoggle cancel close invalid load scroll scrollend toggle\".split(\" \").concat(Lc));function Dc(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var u=r[o],l=u.instance,s=u.currentTarget;if(u=u.listener,l!==i&&a.isPropagationStopped())break e;i=u,a.currentTarget=s;try{i(a)}catch(e){mu(e)}a.currentTarget=null,i=l}else for(o=0;o<r.length;o++){if(l=(u=r[o]).instance,s=u.currentTarget,u=u.listener,l!==i&&a.isPropagationStopped())break e;i=u,a.currentTarget=s;try{i(a)}catch(e){mu(e)}a.currentTarget=null,i=l}}}}function Rc(e,t){var n=t[Fe];void 0===n&&(n=t[Fe]=new Set);var r=e+\"__bubble\";n.has(r)||($c(t,e,2,!1),n.add(r))}function jc(e,t,n){var r=0;t&&(r|=4),$c(n,e,r,t)}var Uc=\"_reactListening\"+Math.random().toString(36).slice(2);function Ic(e){if(!e[Uc]){e[Uc]=!0,qe.forEach((function(t){\"selectionchange\"!==t&&(Fc.has(t)||jc(t,!1,e),jc(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Uc]||(t[Uc]=!0,jc(\"selectionchange\",!1,t))}}function $c(e,t,n,r){switch(cd(t)){case 2:var a=ad;break;case 8:a=id;break;default:a=od}n=a.bind(null,t,n,e),a=void 0,!Ut||\"touchstart\"!==t&&\"touchmove\"!==t&&\"wheel\"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Bc(e,t,n,r,a){var i=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var u=r.stateNode.containerInfo;if(u===a)break;if(4===o)for(o=r.return;null!==o;){var s=o.tag;if((3===s||4===s)&&o.stateNode.containerInfo===a)return;o=o.return}for(;null!==u;){if(null===(o=$e(u)))return;if(5===(s=o.tag)||6===s||26===s||27===s){r=i=o;continue e}u=u.parentNode}}r=r.return}Dt((function(){var r=i,a=Nt(n),o=[];e:{var u=wr.get(e);if(void 0!==u){var s=Jt,c=e;switch(e){case\"keypress\":if(0===Vt(n))break e;case\"keydown\":case\"keyup\":s=gn;break;case\"focusin\":c=\"focus\",s=on;break;case\"focusout\":c=\"blur\",s=on;break;case\"beforeblur\":case\"afterblur\":s=on;break;case\"click\":if(2===n.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":s=rn;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":s=an;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":s=mn;break;case pr:case hr:case gr:s=un;break;case br:s=yn;break;case\"scroll\":case\"scrollend\":s=tn;break;case\"wheel\":s=bn;break;case\"copy\":case\"cut\":case\"paste\":s=ln;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":s=vn;break;case\"toggle\":case\"beforetoggle\":s=wn}var f=!!(4&t),d=!f&&(\"scroll\"===e||\"scrollend\"===e),p=f?null!==u?u+\"Capture\":null:u;f=[];for(var h,g=r;null!==g;){var v=g;if(h=v.stateNode,5!==(v=v.tag)&&26!==v&&27!==v||null===h||null===p||null!=(v=Rt(g,p))&&f.push(Hc(g,v,h)),d)break;g=g.return}0<f.length&&(u=new s(u,c,null,n,a),o.push({event:u,listeners:f}))}}if(!(7&t)){if(s=\"mouseout\"===e||\"pointerout\"===e,(!(u=\"mouseover\"===e||\"pointerover\"===e)||n===Mt||!(c=n.relatedTarget||n.fromElement)||!$e(c)&&!c[Le])&&(s||u)&&(u=a.window===a?a:(u=a.ownerDocument)?u.defaultView||u.parentWindow:window,s?(s=r,null!==(c=(c=n.relatedTarget||n.toElement)?$e(c):null)&&(d=l(c),f=c.tag,c!==d||5!==f&&27!==f&&6!==f)&&(c=null)):(s=null,c=r),s!==c)){if(f=rn,v=\"onMouseLeave\",p=\"onMouseEnter\",g=\"mouse\",\"pointerout\"!==e&&\"pointerover\"!==e||(f=vn,v=\"onPointerLeave\",p=\"onPointerEnter\",g=\"pointer\"),d=null==s?u:He(s),h=null==c?u:He(c),(u=new f(v,g+\"leave\",s,n,a)).target=d,u.relatedTarget=h,v=null,$e(a)===r&&((f=new f(p,g+\"enter\",c,n,a)).target=h,f.relatedTarget=d,v=f),d=v,s&&c)e:{for(p=c,g=0,h=f=s;h;h=Vc(h))g++;for(h=0,v=p;v;v=Vc(v))h++;for(;0<g-h;)f=Vc(f),g--;for(;0<h-g;)p=Vc(p),h--;for(;g--;){if(f===p||null!==p&&f===p.alternate)break e;f=Vc(f),p=Vc(p)}f=null}else f=null;null!==s&&qc(o,u,s,f,!1),null!==c&&null!==d&&qc(o,d,c,f,!0)}if(\"select\"===(s=(u=r?He(r):window).nodeName&&u.nodeName.toLowerCase())||\"input\"===s&&\"file\"===u.type)var m=jn;else if(An(u))if(Un)m=Yn;else{m=qn;var y=Vn}else!(s=u.nodeName)||\"input\"!==s.toLowerCase()||\"checkbox\"!==u.type&&\"radio\"!==u.type?r&&Ct(r.elementType)&&(m=jn):m=Qn;switch(m&&(m=m(e,r))?On(o,m,n,a):(y&&y(e,u,r),\"focusout\"===e&&r&&\"number\"===u.type&&null!=r.memoizedProps.value&&yt(u,\"number\",u.value)),y=r?He(r):window,e){case\"focusin\":(An(y)||\"true\"===y.contentEditable)&&(rr=y,ar=r,ir=null);break;case\"focusout\":ir=ar=rr=null;break;case\"mousedown\":or=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":or=!1,ur(o,n,a);break;case\"selectionchange\":if(nr)break;case\"keydown\":case\"keyup\":ur(o,n,a)}var b;if(kn)e:{switch(e){case\"compositionstart\":var w=\"onCompositionStart\";break e;case\"compositionend\":w=\"onCompositionEnd\";break e;case\"compositionupdate\":w=\"onCompositionUpdate\";break e}w=void 0}else Mn?Pn(e,n)&&(w=\"onCompositionEnd\"):\"keydown\"===e&&229===n.keyCode&&(w=\"onCompositionStart\");w&&(En&&\"ko\"!==n.locale&&(Mn||\"onCompositionStart\"!==w?\"onCompositionEnd\"===w&&Mn&&(b=Wt()):(Bt=\"value\"in($t=a)?$t.value:$t.textContent,Mn=!0)),0<(y=Wc(r,w)).length&&(w=new sn(w,e,null,n,a),o.push({event:w,listeners:y}),(b||null!==(b=zn(n)))&&(w.data=b))),(b=Sn?function(e,t){switch(e){case\"compositionend\":return zn(t);case\"keypress\":return 32!==t.which?null:(Tn=!0,Cn);case\"textInput\":return(e=t.data)===Cn&&Tn?null:e;default:return null}}(e,n):function(e,t){if(Mn)return\"compositionend\"===e||!kn&&Pn(e,t)?(e=Wt(),Ht=Bt=$t=null,Mn=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return En&&\"ko\"!==t.locale?null:t.data}}(e,n))&&0<(w=Wc(r,\"onBeforeInput\")).length&&(y=new sn(\"onBeforeInput\",\"beforeinput\",null,n,a),o.push({event:y,listeners:w}),y.data=b),function(e,t,n,r,a){if(\"submit\"===t&&n&&n.stateNode===a){var i=Mc((a[Oe]||null).action),o=r.submitter;o&&null!==(t=(t=o[Oe]||null)?Mc(t.formAction):o.getAttribute(\"formAction\"))&&(i=t,o=null);var u=new Jt(\"action\",\"action\",null,r,a);e.push({event:u,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(0!==_c){var e=o?Nc(a,o):new FormData(a);No(n,{pending:!0,data:e,method:a.method,action:i},null,e)}}else\"function\"==typeof i&&(u.preventDefault(),e=o?Nc(a,o):new FormData(a),No(n,{pending:!0,data:e,method:a.method,action:i},i,e))},currentTarget:a}]})}}(o,e,r,n,a)}Dc(o,t)}))}function Hc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wc(e,t){for(var n=t+\"Capture\",r=[];null!==e;){var a=e,i=a.stateNode;if(5!==(a=a.tag)&&26!==a&&27!==a||null===i||(null!=(a=Rt(e,n))&&r.unshift(Hc(e,a,i)),null!=(a=Rt(e,t))&&r.push(Hc(e,a,i))),3===e.tag)return r;e=e.return}return[]}function Vc(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag&&27!==e.tag);return e||null}function qc(e,t,n,r,a){for(var i=t._reactName,o=[];null!==n&&n!==r;){var u=n,l=u.alternate,s=u.stateNode;if(u=u.tag,null!==l&&l===r)break;5!==u&&26!==u&&27!==u||null===s||(l=s,a?null!=(s=Rt(n,i))&&o.unshift(Hc(n,s,l)):a||null!=(s=Rt(n,i))&&o.push(Hc(n,s,l))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}var Qc=/\\r\\n?/g,Yc=/\\u0000|\\uFFFD/g;function Gc(e){return(\"string\"==typeof e?e:\"\"+e).replace(Qc,\"\\n\").replace(Yc,\"\")}function Kc(e,t){return t=Gc(t),Gc(e)===t}function Xc(){}function Zc(e,t,n,r,a,i){switch(n){case\"children\":\"string\"==typeof r?\"body\"===t||\"textarea\"===t&&\"\"===r||kt(e,r):(\"number\"==typeof r||\"bigint\"==typeof r)&&\"body\"!==t&&kt(e,\"\"+r);break;case\"className\":nt(e,\"class\",r);break;case\"tabIndex\":nt(e,\"tabindex\",r);break;case\"dir\":case\"role\":case\"viewBox\":case\"width\":case\"height\":nt(e,n,r);break;case\"style\":Et(e,r,i);break;case\"data\":if(\"object\"!==t){nt(e,\"data\",r);break}case\"src\":case\"href\":if(\"\"===r&&(\"a\"!==t||\"href\"!==n)){e.removeAttribute(n);break}if(null==r||\"function\"==typeof r||\"symbol\"==typeof r||\"boolean\"==typeof r){e.removeAttribute(n);break}r=zt(\"\"+r),e.setAttribute(n,r);break;case\"action\":case\"formAction\":if(\"function\"==typeof r){e.setAttribute(n,\"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\");break}if(\"function\"==typeof i&&(\"formAction\"===n?(\"input\"!==t&&Zc(e,t,\"name\",a.name,a,null),Zc(e,t,\"formEncType\",a.formEncType,a,null),Zc(e,t,\"formMethod\",a.formMethod,a,null),Zc(e,t,\"formTarget\",a.formTarget,a,null)):(Zc(e,t,\"encType\",a.encType,a,null),Zc(e,t,\"method\",a.method,a,null),Zc(e,t,\"target\",a.target,a,null))),null==r||\"symbol\"==typeof r||\"boolean\"==typeof r){e.removeAttribute(n);break}r=zt(\"\"+r),e.setAttribute(n,r);break;case\"onClick\":null!=r&&(e.onclick=Xc);break;case\"onScroll\":null!=r&&Rc(\"scroll\",e);break;case\"onScrollEnd\":null!=r&&Rc(\"scrollend\",e);break;case\"dangerouslySetInnerHTML\":if(null!=r){if(\"object\"!=typeof r||!(\"__html\"in r))throw Error(o(61));if(null!=(n=r.__html)){if(null!=a.children)throw Error(o(60));e.innerHTML=n}}break;case\"multiple\":e.multiple=r&&\"function\"!=typeof r&&\"symbol\"!=typeof r;break;case\"muted\":e.muted=r&&\"function\"!=typeof r&&\"symbol\"!=typeof r;break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"ref\":case\"autoFocus\":break;case\"xlinkHref\":if(null==r||\"function\"==typeof r||\"boolean\"==typeof r||\"symbol\"==typeof r){e.removeAttribute(\"xlink:href\");break}n=zt(\"\"+r),e.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",n);break;case\"contentEditable\":case\"spellCheck\":case\"draggable\":case\"value\":case\"autoReverse\":case\"externalResourcesRequired\":case\"focusable\":case\"preserveAlpha\":null!=r&&\"function\"!=typeof r&&\"symbol\"!=typeof r?e.setAttribute(n,\"\"+r):e.removeAttribute(n);break;case\"inert\":case\"allowFullScreen\":case\"async\":case\"autoPlay\":case\"controls\":case\"default\":case\"defer\":case\"disabled\":case\"disablePictureInPicture\":case\"disableRemotePlayback\":case\"formNoValidate\":case\"hidden\":case\"loop\":case\"noModule\":case\"noValidate\":case\"open\":case\"playsInline\":case\"readOnly\":case\"required\":case\"reversed\":case\"scoped\":case\"seamless\":case\"itemScope\":r&&\"function\"!=typeof r&&\"symbol\"!=typeof r?e.setAttribute(n,\"\"):e.removeAttribute(n);break;case\"capture\":case\"download\":!0===r?e.setAttribute(n,\"\"):!1!==r&&null!=r&&\"function\"!=typeof r&&\"symbol\"!=typeof r?e.setAttribute(n,r):e.removeAttribute(n);break;case\"cols\":case\"rows\":case\"size\":case\"span\":null!=r&&\"function\"!=typeof r&&\"symbol\"!=typeof r&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case\"rowSpan\":case\"start\":null==r||\"function\"==typeof r||\"symbol\"==typeof r||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case\"popover\":Rc(\"beforetoggle\",e),Rc(\"toggle\",e),tt(e,\"popover\",r);break;case\"xlinkActuate\":rt(e,\"http://www.w3.org/1999/xlink\",\"xlink:actuate\",r);break;case\"xlinkArcrole\":rt(e,\"http://www.w3.org/1999/xlink\",\"xlink:arcrole\",r);break;case\"xlinkRole\":rt(e,\"http://www.w3.org/1999/xlink\",\"xlink:role\",r);break;case\"xlinkShow\":rt(e,\"http://www.w3.org/1999/xlink\",\"xlink:show\",r);break;case\"xlinkTitle\":rt(e,\"http://www.w3.org/1999/xlink\",\"xlink:title\",r);break;case\"xlinkType\":rt(e,\"http://www.w3.org/1999/xlink\",\"xlink:type\",r);break;case\"xmlBase\":rt(e,\"http://www.w3.org/XML/1998/namespace\",\"xml:base\",r);break;case\"xmlLang\":rt(e,\"http://www.w3.org/XML/1998/namespace\",\"xml:lang\",r);break;case\"xmlSpace\":rt(e,\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",r);break;case\"is\":tt(e,\"is\",r);break;case\"innerText\":case\"textContent\":break;default:(!(2<n.length)||\"o\"!==n[0]&&\"O\"!==n[0]||\"n\"!==n[1]&&\"N\"!==n[1])&&tt(e,n=Tt.get(n)||n,r)}}function Jc(e,t,n,r,a,i){switch(n){case\"style\":Et(e,r,i);break;case\"dangerouslySetInnerHTML\":if(null!=r){if(\"object\"!=typeof r||!(\"__html\"in r))throw Error(o(61));if(null!=(n=r.__html)){if(null!=a.children)throw Error(o(60));e.innerHTML=n}}break;case\"children\":\"string\"==typeof r?kt(e,r):(\"number\"==typeof r||\"bigint\"==typeof r)&&kt(e,\"\"+r);break;case\"onScroll\":null!=r&&Rc(\"scroll\",e);break;case\"onScrollEnd\":null!=r&&Rc(\"scrollend\",e);break;case\"onClick\":null!=r&&(e.onclick=Xc);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":case\"innerHTML\":case\"ref\":case\"innerText\":case\"textContent\":break;default:Qe.hasOwnProperty(n)||(\"o\"!==n[0]||\"n\"!==n[1]||(a=n.endsWith(\"Capture\"),t=n.slice(2,a?n.length-7:void 0),\"function\"==typeof(i=null!=(i=e[Oe]||null)?i[n]:null)&&e.removeEventListener(t,i,a),\"function\"!=typeof r)?n in e?e[n]=r:!0===r?e.setAttribute(n,\"\"):tt(e,n,r):(\"function\"!=typeof i&&null!==i&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a)))}}function ef(e,t,n){switch(t){case\"div\":case\"span\":case\"svg\":case\"path\":case\"a\":case\"g\":case\"p\":case\"li\":break;case\"img\":Rc(\"error\",e),Rc(\"load\",e);var r,a=!1,i=!1;for(r in n)if(n.hasOwnProperty(r)){var u=n[r];if(null!=u)switch(r){case\"src\":a=!0;break;case\"srcSet\":i=!0;break;case\"children\":case\"dangerouslySetInnerHTML\":throw Error(o(137,t));default:Zc(e,t,r,u,n,null)}}return i&&Zc(e,t,\"srcSet\",n.srcSet,n,null),void(a&&Zc(e,t,\"src\",n.src,n,null));case\"input\":Rc(\"invalid\",e);var l=r=u=i=null,s=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var f=n[a];if(null!=f)switch(a){case\"name\":i=f;break;case\"type\":u=f;break;case\"checked\":s=f;break;case\"defaultChecked\":c=f;break;case\"value\":r=f;break;case\"defaultValue\":l=f;break;case\"children\":case\"dangerouslySetInnerHTML\":if(null!=f)throw Error(o(137,t));break;default:Zc(e,t,a,f,n,null)}}return mt(e,r,l,s,c,u,i,!1),void ft(e);case\"select\":for(i in Rc(\"invalid\",e),a=u=r=null,n)if(n.hasOwnProperty(i)&&null!=(l=n[i]))switch(i){case\"value\":r=l;break;case\"defaultValue\":u=l;break;case\"multiple\":a=l;default:Zc(e,t,i,l,n,null)}return t=r,n=u,e.multiple=!!a,void(null!=t?bt(e,!!a,t,!1):null!=n&&bt(e,!!a,n,!0));case\"textarea\":for(u in Rc(\"invalid\",e),r=i=a=null,n)if(n.hasOwnProperty(u)&&null!=(l=n[u]))switch(u){case\"value\":a=l;break;case\"defaultValue\":i=l;break;case\"children\":r=l;break;case\"dangerouslySetInnerHTML\":if(null!=l)throw Error(o(91));break;default:Zc(e,t,u,l,n,null)}return _t(e,a,i,r),void ft(e);case\"option\":for(s in n)n.hasOwnProperty(s)&&null!=(a=n[s])&&(\"selected\"===s?e.selected=a&&\"function\"!=typeof a&&\"symbol\"!=typeof a:Zc(e,t,s,a,n,null));return;case\"dialog\":Rc(\"beforetoggle\",e),Rc(\"toggle\",e),Rc(\"cancel\",e),Rc(\"close\",e);break;case\"iframe\":case\"object\":Rc(\"load\",e);break;case\"video\":case\"audio\":for(a=0;a<Lc.length;a++)Rc(Lc[a],e);break;case\"image\":Rc(\"error\",e),Rc(\"load\",e);break;case\"details\":Rc(\"toggle\",e);break;case\"embed\":case\"source\":case\"link\":Rc(\"error\",e),Rc(\"load\",e);case\"area\":case\"base\":case\"br\":case\"col\":case\"hr\":case\"keygen\":case\"meta\":case\"param\":case\"track\":case\"wbr\":case\"menuitem\":for(c in n)if(n.hasOwnProperty(c)&&null!=(a=n[c]))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(o(137,t));default:Zc(e,t,c,a,n,null)}return;default:if(Ct(t)){for(f in n)n.hasOwnProperty(f)&&void 0!==(a=n[f])&&Jc(e,t,f,a,n,void 0);return}}for(l in n)n.hasOwnProperty(l)&&null!=(a=n[l])&&Zc(e,t,l,a,n,null)}var tf=null,nf=null;function rf(e){return 9===e.nodeType?e:e.ownerDocument}function af(e){switch(e){case\"http://www.w3.org/2000/svg\":return 1;case\"http://www.w3.org/1998/Math/MathML\":return 2;default:return 0}}function of(e,t){if(0===e)switch(t){case\"svg\":return 1;case\"math\":return 2;default:return 0}return 1===e&&\"foreignObject\"===t?0:e}function uf(e,t){return\"textarea\"===e||\"noscript\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"bigint\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var lf=null,sf=\"function\"==typeof setTimeout?setTimeout:void 0,cf=\"function\"==typeof clearTimeout?clearTimeout:void 0,ff=\"function\"==typeof Promise?Promise:void 0,df=\"function\"==typeof queueMicrotask?queueMicrotask:void 0!==ff?function(e){return ff.resolve(null).then(e).catch(pf)}:sf;function pf(e){setTimeout((function(){throw e}))}function hf(e){return\"head\"===e}function gf(e,t){var n=t,r=0,a=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&8===i.nodeType)if(\"/$\"===(n=i.data)){if(0<r&&8>r){n=r;var o=e.ownerDocument;if(1&n&&kf(o.documentElement),2&n&&kf(o.body),4&n)for(kf(n=o.head),o=n.firstChild;o;){var u=o.nextSibling,l=o.nodeName;o[Ue]||\"SCRIPT\"===l||\"STYLE\"===l||\"LINK\"===l&&\"stylesheet\"===o.rel.toLowerCase()||n.removeChild(o),o=u}}if(0===a)return e.removeChild(i),void Pd(t);a--}else\"$\"===n||\"$?\"===n||\"$!\"===n?a++:r=n.charCodeAt(0)-48;else r=0;n=i}while(n);Pd(t)}function vf(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case\"HTML\":case\"HEAD\":case\"BODY\":vf(n),Ie(n);continue;case\"SCRIPT\":case\"STYLE\":continue;case\"LINK\":if(\"stylesheet\"===n.rel.toLowerCase())continue}e.removeChild(n)}}function mf(e){return\"$!\"===e.data||\"$?\"===e.data&&\"complete\"===e.ownerDocument.readyState}function yf(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if(\"$\"===(t=e.data)||\"$!\"===t||\"$?\"===t||\"F!\"===t||\"F\"===t)break;if(\"/$\"===t)return null}}return e}var bf=null;function wf(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(\"$\"===n||\"$!\"===n||\"$?\"===n){if(0===t)return e;t--}else\"/$\"===n&&t++}e=e.previousSibling}return null}function _f(e,t,n){switch(t=rf(n),e){case\"html\":if(!(e=t.documentElement))throw Error(o(452));return e;case\"head\":if(!(e=t.head))throw Error(o(453));return e;case\"body\":if(!(e=t.body))throw Error(o(454));return e;default:throw Error(o(451))}}function kf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ie(e)}var xf=new Map,Sf=new Set;function Ef(e){return\"function\"==typeof e.getRootNode?e.getRootNode():9===e.nodeType?e:e.ownerDocument}var Cf=F.d;F.d={f:function(){var e=Cf.f(),t=$s();return e||t},r:function(e){var t=Be(e);null!==t&&5===t.tag&&\"form\"===t.type?Oo(t):Cf.r(e)},D:function(e){Cf.D(e),Pf(\"dns-prefetch\",e,null)},C:function(e,t){Cf.C(e,t),Pf(\"preconnect\",e,t)},L:function(e,t,n){Cf.L(e,t,n);var r=Tf;if(r&&e&&t){var a='link[rel=\"preload\"][as=\"'+gt(t)+'\"]';\"image\"===t&&n&&n.imageSrcSet?(a+='[imagesrcset=\"'+gt(n.imageSrcSet)+'\"]',\"string\"==typeof n.imageSizes&&(a+='[imagesizes=\"'+gt(n.imageSizes)+'\"]')):a+='[href=\"'+gt(e)+'\"]';var i=a;switch(t){case\"style\":i=Mf(e);break;case\"script\":i=Of(e)}xf.has(i)||(e=d({rel:\"preload\",href:\"image\"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),xf.set(i,e),null!==r.querySelector(a)||\"style\"===t&&r.querySelector(Nf(i))||\"script\"===t&&r.querySelector(Lf(i))||(ef(t=r.createElement(\"link\"),\"link\",e),Ve(t),r.head.appendChild(t)))}},m:function(e,t){Cf.m(e,t);var n=Tf;if(n&&e){var r=t&&\"string\"==typeof t.as?t.as:\"script\",a='link[rel=\"modulepreload\"][as=\"'+gt(r)+'\"][href=\"'+gt(e)+'\"]',i=a;switch(r){case\"audioworklet\":case\"paintworklet\":case\"serviceworker\":case\"sharedworker\":case\"worker\":case\"script\":i=Of(e)}if(!xf.has(i)&&(e=d({rel:\"modulepreload\",href:e},t),xf.set(i,e),null===n.querySelector(a))){switch(r){case\"audioworklet\":case\"paintworklet\":case\"serviceworker\":case\"sharedworker\":case\"worker\":case\"script\":if(n.querySelector(Lf(i)))return}ef(r=n.createElement(\"link\"),\"link\",e),Ve(r),n.head.appendChild(r)}}},X:function(e,t){Cf.X(e,t);var n=Tf;if(n&&e){var r=We(n).hoistableScripts,a=Of(e),i=r.get(a);i||((i=n.querySelector(Lf(a)))||(e=d({src:e,async:!0},t),(t=xf.get(a))&&jf(e,t),Ve(i=n.createElement(\"script\")),ef(i,\"link\",e),n.head.appendChild(i)),i={type:\"script\",instance:i,count:1,state:null},r.set(a,i))}},S:function(e,t,n){Cf.S(e,t,n);var r=Tf;if(r&&e){var a=We(r).hoistableStyles,i=Mf(e);t=t||\"default\";var o=a.get(i);if(!o){var u={loading:0,preload:null};if(o=r.querySelector(Nf(i)))u.loading=5;else{e=d({rel:\"stylesheet\",href:e,\"data-precedence\":t},n),(n=xf.get(i))&&Rf(e,n);var l=o=r.createElement(\"link\");Ve(l),ef(l,\"link\",e),l._p=new Promise((function(e,t){l.onload=e,l.onerror=t})),l.addEventListener(\"load\",(function(){u.loading|=1})),l.addEventListener(\"error\",(function(){u.loading|=2})),u.loading|=4,Df(o,t,r)}o={type:\"stylesheet\",instance:o,count:1,state:u},a.set(i,o)}}},M:function(e,t){Cf.M(e,t);var n=Tf;if(n&&e){var r=We(n).hoistableScripts,a=Of(e),i=r.get(a);i||((i=n.querySelector(Lf(a)))||(e=d({src:e,async:!0,type:\"module\"},t),(t=xf.get(a))&&jf(e,t),Ve(i=n.createElement(\"script\")),ef(i,\"link\",e),n.head.appendChild(i)),i={type:\"script\",instance:i,count:1,state:null},r.set(a,i))}}};var Tf=\"undefined\"==typeof document?null:document;function Pf(e,t,n){var r=Tf;if(r&&\"string\"==typeof t&&t){var a=gt(t);a='link[rel=\"'+e+'\"][href=\"'+a+'\"]',\"string\"==typeof n&&(a+='[crossorigin=\"'+n+'\"]'),Sf.has(a)||(Sf.add(a),e={rel:e,crossOrigin:n,href:t},null===r.querySelector(a)&&(ef(t=r.createElement(\"link\"),\"link\",e),Ve(t),r.head.appendChild(t)))}}function zf(e,t,n,r){var a,i,u,l,s=(s=W.current)?Ef(s):null;if(!s)throw Error(o(446));switch(e){case\"meta\":case\"title\":return null;case\"style\":return\"string\"==typeof n.precedence&&\"string\"==typeof n.href?(t=Mf(n.href),(r=(n=We(s).hoistableStyles).get(t))||(r={type:\"style\",instance:null,count:0,state:null},n.set(t,r)),r):{type:\"void\",instance:null,count:0,state:null};case\"link\":if(\"stylesheet\"===n.rel&&\"string\"==typeof n.href&&\"string\"==typeof n.precedence){e=Mf(n.href);var c=We(s).hoistableStyles,f=c.get(e);if(f||(s=s.ownerDocument||s,f={type:\"stylesheet\",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,f),(c=s.querySelector(Nf(e)))&&!c._p&&(f.instance=c,f.state.loading=5),xf.has(e)||(n={rel:\"preload\",as:\"style\",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},xf.set(e,n),c||(a=s,i=e,u=n,l=f.state,a.querySelector('link[rel=\"preload\"][as=\"style\"]['+i+\"]\")?l.loading=1:(i=a.createElement(\"link\"),l.preload=i,i.addEventListener(\"load\",(function(){return l.loading|=1})),i.addEventListener(\"error\",(function(){return l.loading|=2})),ef(i,\"link\",u),Ve(i),a.head.appendChild(i))))),t&&null===r)throw Error(o(528,\"\"));return f}if(t&&null!==r)throw Error(o(529,\"\"));return null;case\"script\":return t=n.async,\"string\"==typeof(n=n.src)&&t&&\"function\"!=typeof t&&\"symbol\"!=typeof t?(t=Of(n),(r=(n=We(s).hoistableScripts).get(t))||(r={type:\"script\",instance:null,count:0,state:null},n.set(t,r)),r):{type:\"void\",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Mf(e){return'href=\"'+gt(e)+'\"'}function Nf(e){return'link[rel=\"stylesheet\"]['+e+\"]\"}function Af(e){return d({},e,{\"data-precedence\":e.precedence,precedence:null})}function Of(e){return'[src=\"'+gt(e)+'\"]'}function Lf(e){return\"script[async]\"+e}function Ff(e,t,n){if(t.count++,null===t.instance)switch(t.type){case\"style\":var r=e.querySelector('style[data-href~=\"'+gt(n.href)+'\"]');if(r)return t.instance=r,Ve(r),r;var a=d({},n,{\"data-href\":n.href,\"data-precedence\":n.precedence,href:null,precedence:null});return Ve(r=(e.ownerDocument||e).createElement(\"style\")),ef(r,\"style\",a),Df(r,n.precedence,e),t.instance=r;case\"stylesheet\":a=Mf(n.href);var i=e.querySelector(Nf(a));if(i)return t.state.loading|=4,t.instance=i,Ve(i),i;r=Af(n),(a=xf.get(a))&&Rf(r,a),Ve(i=(e.ownerDocument||e).createElement(\"link\"));var u=i;return u._p=new Promise((function(e,t){u.onload=e,u.onerror=t})),ef(i,\"link\",r),t.state.loading|=4,Df(i,n.precedence,e),t.instance=i;case\"script\":return i=Of(n.src),(a=e.querySelector(Lf(i)))?(t.instance=a,Ve(a),a):(r=n,(a=xf.get(i))&&jf(r=d({},n),a),Ve(a=(e=e.ownerDocument||e).createElement(\"script\")),ef(a,\"link\",r),e.head.appendChild(a),t.instance=a);case\"void\":return null;default:throw Error(o(443,t.type))}else\"stylesheet\"===t.type&&!(4&t.state.loading)&&(r=t.instance,t.state.loading|=4,Df(r,n.precedence,e));return t.instance}function Df(e,t,n){for(var r=n.querySelectorAll('link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'),a=r.length?r[r.length-1]:null,i=a,o=0;o<r.length;o++){var u=r[o];if(u.dataset.precedence===t)i=u;else if(i!==a)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=9===n.nodeType?n.head:n).insertBefore(e,t.firstChild)}function Rf(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.title&&(e.title=t.title)}function jf(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.integrity&&(e.integrity=t.integrity)}var Uf=null;function If(e,t,n){if(null===Uf){var r=new Map,a=Uf=new Map;a.set(n,r)}else(r=(a=Uf).get(n))||(r=new Map,a.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),a=0;a<n.length;a++){var i=n[a];if(!(i[Ue]||i[Ae]||\"link\"===e&&\"stylesheet\"===i.getAttribute(\"rel\"))&&\"http://www.w3.org/2000/svg\"!==i.namespaceURI){var o=i.getAttribute(t)||\"\";o=e+o;var u=r.get(o);u?u.push(i):r.set(o,[i])}}return r}function $f(e,t,n){(e=e.ownerDocument||e).head.insertBefore(n,\"title\"===t?e.querySelector(\"head > title\"):null)}function Bf(e){return!!(\"stylesheet\"!==e.type||3&e.state.loading)}var Hf=null;function Wf(){}function Vf(){if(this.count--,0===this.count)if(this.stylesheets)Qf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var qf=null;function Qf(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,qf=new Map,t.forEach(Yf,e),qf=null,Vf.call(e))}function Yf(e,t){if(!(4&t.state.loading)){var n=qf.get(e);if(n)var r=n.get(null);else{n=new Map,qf.set(e,n);for(var a=e.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),i=0;i<a.length;i++){var o=a[i];\"LINK\"!==o.nodeName&&\"not all\"===o.getAttribute(\"media\")||(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}o=(a=t.instance).getAttribute(\"data-precedence\"),(i=n.get(o)||r)===r&&n.set(null,a),n.set(o,a),this.count++,r=Vf.bind(this),a.addEventListener(\"load\",r),a.addEventListener(\"error\",r),i?i.parentNode.insertBefore(a,i.nextSibling):(e=9===e.nodeType?e.head:e).insertBefore(a,e.firstChild),t.state.loading|=4}}var Gf={$$typeof:_,Provider:null,Consumer:null,_currentValue:D,_currentValue2:D,_threadCount:0};function Kf(e,t,n,r,a,i,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Se(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Se(0),this.hiddenUpdates=Se(null),this.identifierPrefix=r,this.onUncaughtError=a,this.onCaughtError=i,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function Xf(e,t,n,r,a,i,o,u,l,s,c,f){return e=new Kf(e,t,n,o,u,l,s,f),t=1,!0===i&&(t|=24),i=Dr(3,null,null,t),e.current=i,i.stateNode=e,(t=Oa()).refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:r,isDehydrated:n,cache:t},ni(i),e}function Zf(e){return e?e=Lr:Lr}function Jf(e,t,n,r,a,i){a=Zf(a),null===r.context?r.context=a:r.pendingContext=a,(r=ai(t)).payload={element:n},null!==(i=void 0===i?null:i)&&(r.callback=i),null!==(n=ii(e,r,t))&&(Ds(n,0,t),oi(n,e,t))}function ed(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function td(e,t){ed(e,t),(e=e.alternate)&&ed(e,t)}function nd(e){if(13===e.tag){var t=Nr(e,67108864);null!==t&&Ds(t,0,67108864),td(e,67108864)}}var rd=!0;function ad(e,t,n,r){var a=L.T;L.T=null;var i=F.p;try{F.p=2,od(e,t,n,r)}finally{F.p=i,L.T=a}}function id(e,t,n,r){var a=L.T;L.T=null;var i=F.p;try{F.p=8,od(e,t,n,r)}finally{F.p=i,L.T=a}}function od(e,t,n,r){if(rd){var a=ud(r);if(null===a)Bc(e,t,r,ld,n),bd(e,r);else if(function(e,t,n,r,a){switch(t){case\"focusin\":return dd=wd(dd,e,t,n,r,a),!0;case\"dragenter\":return pd=wd(pd,e,t,n,r,a),!0;case\"mouseover\":return hd=wd(hd,e,t,n,r,a),!0;case\"pointerover\":var i=a.pointerId;return gd.set(i,wd(gd.get(i)||null,e,t,n,r,a)),!0;case\"gotpointercapture\":return i=a.pointerId,vd.set(i,wd(vd.get(i)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(bd(e,r),4&t&&-1<yd.indexOf(e)){for(;null!==a;){var i=Be(a);if(null!==i)switch(i.tag){case 3:if((i=i.stateNode).current.memoizedState.isDehydrated){var o=ye(i.pendingLanes);if(0!==o){var u=i;for(u.pendingLanes|=2,u.entangledLanes|=2;o;){var l=1<<31-pe(o);u.entanglements[1]|=l,o&=~l}kc(i),!(6&ns)&&(ks=te()+500,xc(0,!1))}}break;case 13:null!==(u=Nr(i,2))&&Ds(u,0,2),$s(),td(i,2)}if(null===(i=ud(r))&&Bc(e,t,r,ld,n),i===a)break;a=i}null!==a&&r.stopPropagation()}else Bc(e,t,r,null,n)}}function ud(e){return sd(e=Nt(e))}var ld=null;function sd(e){if(ld=null,null!==(e=$e(e))){var t=l(e);if(null===t)e=null;else{var n=t.tag;if(13===n){if(null!==(e=s(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return ld=e,null}function cd(e){switch(e){case\"beforetoggle\":case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"toggle\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 2;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 8;case\"message\":switch(ne()){case re:return 2;case ae:return 8;case ie:case oe:return 32;case ue:return 268435456;default:return 32}default:return 32}}var fd=!1,dd=null,pd=null,hd=null,gd=new Map,vd=new Map,md=[],yd=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\" \");function bd(e,t){switch(e){case\"focusin\":case\"focusout\":dd=null;break;case\"dragenter\":case\"dragleave\":pd=null;break;case\"mouseover\":case\"mouseout\":hd=null;break;case\"pointerover\":case\"pointerout\":gd.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":vd.delete(t.pointerId)}}function wd(e,t,n,r,a,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[a]},null!==t&&null!==(t=Be(t))&&nd(t),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function _d(e){var t=$e(e.target);if(null!==t){var n=l(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=s(n)))return e.blockedOn=t,void function(e){var t=F.p;try{return F.p=e,function(){if(13===n.tag){var e=Ls();e=Pe(e);var t=Nr(n,e);null!==t&&Ds(t,0,e),td(n,e)}}()}finally{F.p=t}}(e.priority)}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function kd(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=ud(e.nativeEvent);if(null!==n)return null!==(t=Be(n))&&nd(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);Mt=r,n.target.dispatchEvent(r),Mt=null,t.shift()}return!0}function xd(e,t,n){kd(e)&&n.delete(t)}function Sd(){fd=!1,null!==dd&&kd(dd)&&(dd=null),null!==pd&&kd(pd)&&(pd=null),null!==hd&&kd(hd)&&(hd=null),gd.forEach(xd),vd.forEach(xd)}function Ed(e,t){e.blockedOn===t&&(e.blockedOn=null,fd||(fd=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Sd)))}var Cd=null;function Td(e){Cd!==e&&(Cd=e,r.unstable_scheduleCallback(r.unstable_NormalPriority,(function(){Cd===e&&(Cd=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],a=e[t+2];if(\"function\"!=typeof r){if(null===sd(r||n))continue;break}var i=Be(n);null!==i&&(e.splice(t,3),t-=3,No(i,{pending:!0,data:a,method:n.method,action:r},r,a))}})))}function Pd(e){function t(t){return Ed(t,e)}null!==dd&&Ed(dd,e),null!==pd&&Ed(pd,e),null!==hd&&Ed(hd,e),gd.forEach(t),vd.forEach(t);for(var n=0;n<md.length;n++){var r=md[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<md.length&&null===(n=md[0]).blockedOn;)_d(n),null===n.blockedOn&&md.shift();if(null!=(n=(e.ownerDocument||e).$$reactFormReplay))for(r=0;r<n.length;r+=3){var a=n[r],i=n[r+1],o=a[Oe]||null;if(\"function\"==typeof i)o||Td(n);else if(o){var u=null;if(i&&i.hasAttribute(\"formAction\")){if(a=i,o=i[Oe]||null)u=o.formAction;else if(null!==sd(a))continue}else u=o.action;\"function\"==typeof u?n[r+1]=u:(n.splice(r,3),r-=3),Td(n)}}}function zd(e){this._internalRoot=e}function Md(e){this._internalRoot=e}Md.prototype.render=zd.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Jf(t.current,Ls(),e,t,null,null)},Md.prototype.unmount=zd.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;Jf(e.current,2,null,e,null,null),$s(),t[Le]=null}},Md.prototype.unstable_scheduleHydration=function(e){if(e){var t=Me();e={blockedOn:null,target:e,priority:t};for(var n=0;n<md.length&&0!==t&&t<md[n].priority;n++);md.splice(n,0,e),0===n&&_d(e)}};var Nd=a.version;if(\"19.1.0\"!==Nd)throw Error(o(527,Nd,\"19.1.0\"));F.findDOMNode=function(e){var t=e._reactInternals;if(void 0===t){if(\"function\"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(\",\"),Error(o(268,e))}return e=function(e){var t=e.alternate;if(!t){if(null===(t=l(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return c(a),e;if(i===r)return c(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var u=!1,s=a.child;s;){if(s===n){u=!0,n=a,r=i;break}if(s===r){u=!0,r=a,n=i;break}s=s.sibling}if(!u){for(s=i.child;s;){if(s===n){u=!0,n=i,r=a;break}if(s===r){u=!0,r=i,n=a;break}s=s.sibling}if(!u)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(t),null===(e=null!==e?f(e):null)?null:e.stateNode};var Ad={bundleType:0,version:\"19.1.0\",rendererPackageName:\"react-dom\",currentDispatcherRef:L,reconcilerVersion:\"19.1.0\"};if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var Od=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Od.isDisabled&&Od.supportsFiber)try{ce=Od.inject(Ad),fe=Od}catch(e){}}t.createRoot=function(e,t){if(!u(e))throw Error(o(299));var n=!1,r=\"\",a=yu,i=bu,l=wu;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(a=t.onUncaughtError),void 0!==t.onCaughtError&&(i=t.onCaughtError),void 0!==t.onRecoverableError&&(l=t.onRecoverableError),void 0!==t.unstable_transitionCallbacks&&t.unstable_transitionCallbacks),t=Xf(e,1,!1,null,0,n,r,a,i,l,0,null),e[Le]=t.current,Ic(e),new zd(t)},t.hydrateRoot=function(e,t,n){if(!u(e))throw Error(o(299));var r=!1,a=\"\",i=yu,l=bu,s=wu,c=null;return null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(a=n.identifierPrefix),void 0!==n.onUncaughtError&&(i=n.onUncaughtError),void 0!==n.onCaughtError&&(l=n.onCaughtError),void 0!==n.onRecoverableError&&(s=n.onRecoverableError),void 0!==n.unstable_transitionCallbacks&&n.unstable_transitionCallbacks,void 0!==n.formState&&(c=n.formState)),(t=Xf(e,1,!0,t,0,r,a,i,l,s,0,c)).context=Zf(null),n=t.current,(a=ai(r=Pe(r=Ls()))).callback=null,ii(n,a,r),n=r,t.current.lanes=n,Ee(t,n),kc(t),e[Le]=t.current,Ic(e),new Md(t)},t.version=\"19.1.0\"},338:(e,t,n)=>{\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(247)},477:(e,t)=>{\"use strict\";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<i(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,o=a>>>1;r<o;){var u=2*(r+1)-1,l=e[u],s=u+1,c=e[s];if(0>i(l,n))s<a&&0>i(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[u]=n,r=u);else{if(!(s<a&&0>i(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,\"object\"==typeof performance&&\"function\"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var u=Date,l=u.now();t.unstable_now=function(){return u.now()-l}}var s=[],c=[],f=1,d=null,p=3,h=!1,g=!1,v=!1,m=!1,y=\"function\"==typeof setTimeout?setTimeout:null,b=\"function\"==typeof clearTimeout?clearTimeout:null,w=\"undefined\"!=typeof setImmediate?setImmediate:null;function _(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(s,t)}t=r(c)}}function k(e){if(v=!1,_(e),!g)if(null!==r(s))g=!0,S||(S=!0,x());else{var t=r(c);null!==t&&A(k,t.startTime-e)}}var x,S=!1,E=-1,C=5,T=-1;function P(){return!(!m&&t.unstable_now()-T<C)}function z(){if(m=!1,S){var e=t.unstable_now();T=e;var n=!0;try{e:{g=!1,v&&(v=!1,b(E),E=-1),h=!0;var i=p;try{t:{for(_(e),d=r(s);null!==d&&!(d.expirationTime>e&&P());){var o=d.callback;if(\"function\"==typeof o){d.callback=null,p=d.priorityLevel;var u=o(d.expirationTime<=e);if(e=t.unstable_now(),\"function\"==typeof u){d.callback=u,_(e),n=!0;break t}d===r(s)&&a(s),_(e)}else a(s);d=r(s)}if(null!==d)n=!0;else{var l=r(c);null!==l&&A(k,l.startTime-e),n=!1}}break e}finally{d=null,p=i,h=!1}n=void 0}}finally{n?x():S=!1}}}if(\"function\"==typeof w)x=function(){w(z)};else if(\"undefined\"!=typeof MessageChannel){var M=new MessageChannel,N=M.port2;M.port1.onmessage=z,x=function(){N.postMessage(null)}}else x=function(){y(z,0)};function A(e,n){E=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):C=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_requestPaint=function(){m=!0},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,a,i){var o=t.unstable_now();switch(i=\"object\"==typeof i&&null!==i&&\"number\"==typeof(i=i.delay)&&0<i?o+i:o,e){case 1:var u=-1;break;case 2:u=250;break;case 5:u=1073741823;break;case 4:u=1e4;break;default:u=5e3}return e={id:f++,callback:a,priorityLevel:e,startTime:i,expirationTime:u=i+u,sortIndex:-1},i>o?(e.sortIndex=i,n(c,e),null===r(s)&&e===r(c)&&(v?(b(E),E=-1):v=!0,A(k,i-o))):(e.sortIndex=u,n(s,e),g||h||(g=!0,S||(S=!0,x()))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},540:(e,t,n)=>{\"use strict\";e.exports=n(869)},543:function(e,t,n){var r;e=n.nmd(e),function(){var a,i=\"Expected a function\",o=\"__lodash_hash_undefined__\",u=\"__lodash_placeholder__\",l=32,s=128,c=1/0,f=9007199254740991,d=NaN,p=4294967295,h=[[\"ary\",s],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",l],[\"partialRight\",64],[\"rearg\",256]],g=\"[object Arguments]\",v=\"[object Array]\",m=\"[object Boolean]\",y=\"[object Date]\",b=\"[object Error]\",w=\"[object Function]\",_=\"[object GeneratorFunction]\",k=\"[object Map]\",x=\"[object Number]\",S=\"[object Object]\",E=\"[object Promise]\",C=\"[object RegExp]\",T=\"[object Set]\",P=\"[object String]\",z=\"[object Symbol]\",M=\"[object WeakMap]\",N=\"[object ArrayBuffer]\",A=\"[object DataView]\",O=\"[object Float32Array]\",L=\"[object Float64Array]\",F=\"[object Int8Array]\",D=\"[object Int16Array]\",R=\"[object Int32Array]\",j=\"[object Uint8Array]\",U=\"[object Uint8ClampedArray]\",I=\"[object Uint16Array]\",$=\"[object Uint32Array]\",B=/\\b__p \\+= '';/g,H=/\\b(__p \\+=) '' \\+/g,W=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,V=/&(?:amp|lt|gt|quot|#39);/g,q=/[&<>\"']/g,Q=RegExp(V.source),Y=RegExp(q.source),G=/<%-([\\s\\S]+?)%>/g,K=/<%([\\s\\S]+?)%>/g,X=/<%=([\\s\\S]+?)%>/g,Z=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,J=/^\\w*$/,ee=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,te=/[\\\\^$.*+?()[\\]{}|]/g,ne=RegExp(te.source),re=/^\\s+/,ae=/\\s/,ie=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,oe=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,ue=/,? & /,le=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,se=/[()=,{}\\[\\]\\/\\s]/,ce=/\\\\(\\\\)?/g,fe=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,de=/\\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,ge=/^\\[object .+?Constructor\\]$/,ve=/^0o[0-7]+$/i,me=/^(?:0|[1-9]\\d*)$/,ye=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,be=/($^)/,we=/['\\n\\r\\u2028\\u2029\\\\]/g,_e=\"\\\\ud800-\\\\udfff\",ke=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",xe=\"\\\\u2700-\\\\u27bf\",Se=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Ee=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",Ce=\"\\\\ufe0e\\\\ufe0f\",Te=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",Pe=\"[\"+_e+\"]\",ze=\"[\"+Te+\"]\",Me=\"[\"+ke+\"]\",Ne=\"\\\\d+\",Ae=\"[\"+xe+\"]\",Oe=\"[\"+Se+\"]\",Le=\"[^\"+_e+Te+Ne+xe+Se+Ee+\"]\",Fe=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",De=\"[^\"+_e+\"]\",Re=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",je=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ue=\"[\"+Ee+\"]\",Ie=\"\\\\u200d\",$e=\"(?:\"+Oe+\"|\"+Le+\")\",Be=\"(?:\"+Ue+\"|\"+Le+\")\",He=\"(?:['’](?:d|ll|m|re|s|t|ve))?\",We=\"(?:['’](?:D|LL|M|RE|S|T|VE))?\",Ve=\"(?:\"+Me+\"|\"+Fe+\")?\",qe=\"[\"+Ce+\"]?\",Qe=qe+Ve+\"(?:\"+Ie+\"(?:\"+[De,Re,je].join(\"|\")+\")\"+qe+Ve+\")*\",Ye=\"(?:\"+[Ae,Re,je].join(\"|\")+\")\"+Qe,Ge=\"(?:\"+[De+Me+\"?\",Me,Re,je,Pe].join(\"|\")+\")\",Ke=RegExp(\"['’]\",\"g\"),Xe=RegExp(Me,\"g\"),Ze=RegExp(Fe+\"(?=\"+Fe+\")|\"+Ge+Qe,\"g\"),Je=RegExp([Ue+\"?\"+Oe+\"+\"+He+\"(?=\"+[ze,Ue,\"$\"].join(\"|\")+\")\",Be+\"+\"+We+\"(?=\"+[ze,Ue+$e,\"$\"].join(\"|\")+\")\",Ue+\"?\"+$e+\"+\"+He,Ue+\"+\"+We,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Ne,Ye].join(\"|\"),\"g\"),et=RegExp(\"[\"+Ie+_e+ke+Ce+\"]\"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],rt=-1,at={};at[O]=at[L]=at[F]=at[D]=at[R]=at[j]=at[U]=at[I]=at[$]=!0,at[g]=at[v]=at[N]=at[m]=at[A]=at[y]=at[b]=at[w]=at[k]=at[x]=at[S]=at[C]=at[T]=at[P]=at[M]=!1;var it={};it[g]=it[v]=it[N]=it[A]=it[m]=it[y]=it[O]=it[L]=it[F]=it[D]=it[R]=it[k]=it[x]=it[S]=it[C]=it[T]=it[P]=it[z]=it[j]=it[U]=it[I]=it[$]=!0,it[b]=it[w]=it[M]=!1;var ot={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},ut=parseFloat,lt=parseInt,st=\"object\"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,ct=\"object\"==typeof self&&self&&self.Object===Object&&self,ft=st||ct||Function(\"return this\")(),dt=t&&!t.nodeType&&t,pt=dt&&e&&!e.nodeType&&e,ht=pt&&pt.exports===dt,gt=ht&&st.process,vt=function(){try{return pt&&pt.require&&pt.require(\"util\").types||gt&&gt.binding&&gt.binding(\"util\")}catch(e){}}(),mt=vt&&vt.isArrayBuffer,yt=vt&&vt.isDate,bt=vt&&vt.isMap,wt=vt&&vt.isRegExp,_t=vt&&vt.isSet,kt=vt&&vt.isTypedArray;function xt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function St(e,t,n,r){for(var a=-1,i=null==e?0:e.length;++a<i;){var o=e[a];t(r,o,n(o),e)}return r}function Et(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function Ct(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Tt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Pt(e,t){for(var n=-1,r=null==e?0:e.length,a=0,i=[];++n<r;){var o=e[n];t(o,n,e)&&(i[a++]=o)}return i}function zt(e,t){return!(null==e||!e.length)&&Ut(e,t,0)>-1}function Mt(e,t,n){for(var r=-1,a=null==e?0:e.length;++r<a;)if(n(t,e[r]))return!0;return!1}function Nt(e,t){for(var n=-1,r=null==e?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}function At(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}function Ot(e,t,n,r){var a=-1,i=null==e?0:e.length;for(r&&i&&(n=e[++a]);++a<i;)n=t(n,e[a],a,e);return n}function Lt(e,t,n,r){var a=null==e?0:e.length;for(r&&a&&(n=e[--a]);a--;)n=t(n,e[a],a,e);return n}function Ft(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Dt=Ht(\"length\");function Rt(e,t,n){var r;return n(e,(function(e,n,a){if(t(e,n,a))return r=n,!1})),r}function jt(e,t,n,r){for(var a=e.length,i=n+(r?1:-1);r?i--:++i<a;)if(t(e[i],i,e))return i;return-1}function Ut(e,t,n){return t==t?function(e,t,n){for(var r=n-1,a=e.length;++r<a;)if(e[r]===t)return r;return-1}(e,t,n):jt(e,$t,n)}function It(e,t,n,r){for(var a=n-1,i=e.length;++a<i;)if(r(e[a],t))return a;return-1}function $t(e){return e!=e}function Bt(e,t){var n=null==e?0:e.length;return n?qt(e,t)/n:d}function Ht(e){return function(t){return null==t?a:t[e]}}function Wt(e){return function(t){return null==e?a:e[t]}}function Vt(e,t,n,r,a){return a(e,(function(e,a,i){n=r?(r=!1,e):t(n,e,a,i)})),n}function qt(e,t){for(var n,r=-1,i=e.length;++r<i;){var o=t(e[r]);o!==a&&(n=n===a?o:n+o)}return n}function Qt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Yt(e){return e?e.slice(0,dn(e)+1).replace(re,\"\"):e}function Gt(e){return function(t){return e(t)}}function Kt(e,t){return Nt(t,(function(t){return e[t]}))}function Xt(e,t){return e.has(t)}function Zt(e,t){for(var n=-1,r=e.length;++n<r&&Ut(t,e[n],0)>-1;);return n}function Jt(e,t){for(var n=e.length;n--&&Ut(t,e[n],0)>-1;);return n}var en=Wt({À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",Ç:\"C\",ç:\"c\",Ð:\"D\",ð:\"d\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",Ñ:\"N\",ñ:\"n\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ø:\"O\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ø:\"o\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",Ý:\"Y\",ý:\"y\",ÿ:\"y\",Æ:\"Ae\",æ:\"ae\",Þ:\"Th\",þ:\"th\",ß:\"ss\",Ā:\"A\",Ă:\"A\",Ą:\"A\",ā:\"a\",ă:\"a\",ą:\"a\",Ć:\"C\",Ĉ:\"C\",Ċ:\"C\",Č:\"C\",ć:\"c\",ĉ:\"c\",ċ:\"c\",č:\"c\",Ď:\"D\",Đ:\"D\",ď:\"d\",đ:\"d\",Ē:\"E\",Ĕ:\"E\",Ė:\"E\",Ę:\"E\",Ě:\"E\",ē:\"e\",ĕ:\"e\",ė:\"e\",ę:\"e\",ě:\"e\",Ĝ:\"G\",Ğ:\"G\",Ġ:\"G\",Ģ:\"G\",ĝ:\"g\",ğ:\"g\",ġ:\"g\",ģ:\"g\",Ĥ:\"H\",Ħ:\"H\",ĥ:\"h\",ħ:\"h\",Ĩ:\"I\",Ī:\"I\",Ĭ:\"I\",Į:\"I\",İ:\"I\",ĩ:\"i\",ī:\"i\",ĭ:\"i\",į:\"i\",ı:\"i\",Ĵ:\"J\",ĵ:\"j\",Ķ:\"K\",ķ:\"k\",ĸ:\"k\",Ĺ:\"L\",Ļ:\"L\",Ľ:\"L\",Ŀ:\"L\",Ł:\"L\",ĺ:\"l\",ļ:\"l\",ľ:\"l\",ŀ:\"l\",ł:\"l\",Ń:\"N\",Ņ:\"N\",Ň:\"N\",Ŋ:\"N\",ń:\"n\",ņ:\"n\",ň:\"n\",ŋ:\"n\",Ō:\"O\",Ŏ:\"O\",Ő:\"O\",ō:\"o\",ŏ:\"o\",ő:\"o\",Ŕ:\"R\",Ŗ:\"R\",Ř:\"R\",ŕ:\"r\",ŗ:\"r\",ř:\"r\",Ś:\"S\",Ŝ:\"S\",Ş:\"S\",Š:\"S\",ś:\"s\",ŝ:\"s\",ş:\"s\",š:\"s\",Ţ:\"T\",Ť:\"T\",Ŧ:\"T\",ţ:\"t\",ť:\"t\",ŧ:\"t\",Ũ:\"U\",Ū:\"U\",Ŭ:\"U\",Ů:\"U\",Ű:\"U\",Ų:\"U\",ũ:\"u\",ū:\"u\",ŭ:\"u\",ů:\"u\",ű:\"u\",ų:\"u\",Ŵ:\"W\",ŵ:\"w\",Ŷ:\"Y\",ŷ:\"y\",Ÿ:\"Y\",Ź:\"Z\",Ż:\"Z\",Ž:\"Z\",ź:\"z\",ż:\"z\",ž:\"z\",Ĳ:\"IJ\",ĳ:\"ij\",Œ:\"Oe\",œ:\"oe\",ŉ:\"'n\",ſ:\"s\"}),tn=Wt({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"});function nn(e){return\"\\\\\"+ot[e]}function rn(e){return et.test(e)}function an(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function on(e,t){return function(n){return e(t(n))}}function un(e,t){for(var n=-1,r=e.length,a=0,i=[];++n<r;){var o=e[n];o!==t&&o!==u||(e[n]=u,i[a++]=n)}return i}function ln(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function sn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function cn(e){return rn(e)?function(e){for(var t=Ze.lastIndex=0;Ze.test(e);)++t;return t}(e):Dt(e)}function fn(e){return rn(e)?function(e){return e.match(Ze)||[]}(e):function(e){return e.split(\"\")}(e)}function dn(e){for(var t=e.length;t--&&ae.test(e.charAt(t)););return t}var pn=Wt({\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"}),hn=function e(t){var n,r=(t=null==t?ft:hn.defaults(ft.Object(),t,hn.pick(ft,nt))).Array,ae=t.Date,_e=t.Error,ke=t.Function,xe=t.Math,Se=t.Object,Ee=t.RegExp,Ce=t.String,Te=t.TypeError,Pe=r.prototype,ze=ke.prototype,Me=Se.prototype,Ne=t[\"__core-js_shared__\"],Ae=ze.toString,Oe=Me.hasOwnProperty,Le=0,Fe=(n=/[^.]+$/.exec(Ne&&Ne.keys&&Ne.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\",De=Me.toString,Re=Ae.call(Se),je=ft._,Ue=Ee(\"^\"+Ae.call(Oe).replace(te,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ie=ht?t.Buffer:a,$e=t.Symbol,Be=t.Uint8Array,He=Ie?Ie.allocUnsafe:a,We=on(Se.getPrototypeOf,Se),Ve=Se.create,qe=Me.propertyIsEnumerable,Qe=Pe.splice,Ye=$e?$e.isConcatSpreadable:a,Ge=$e?$e.iterator:a,Ze=$e?$e.toStringTag:a,et=function(){try{var e=li(Se,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),ot=t.clearTimeout!==ft.clearTimeout&&t.clearTimeout,st=ae&&ae.now!==ft.Date.now&&ae.now,ct=t.setTimeout!==ft.setTimeout&&t.setTimeout,dt=xe.ceil,pt=xe.floor,gt=Se.getOwnPropertySymbols,vt=Ie?Ie.isBuffer:a,Dt=t.isFinite,Wt=Pe.join,gn=on(Se.keys,Se),vn=xe.max,mn=xe.min,yn=ae.now,bn=t.parseInt,wn=xe.random,_n=Pe.reverse,kn=li(t,\"DataView\"),xn=li(t,\"Map\"),Sn=li(t,\"Promise\"),En=li(t,\"Set\"),Cn=li(t,\"WeakMap\"),Tn=li(Se,\"create\"),Pn=Cn&&new Cn,zn={},Mn=Di(kn),Nn=Di(xn),An=Di(Sn),On=Di(En),Ln=Di(Cn),Fn=$e?$e.prototype:a,Dn=Fn?Fn.valueOf:a,Rn=Fn?Fn.toString:a;function jn(e){if(eu(e)&&!Ho(e)&&!(e instanceof Bn)){if(e instanceof $n)return e;if(Oe.call(e,\"__wrapped__\"))return Ri(e)}return new $n(e)}var Un=function(){function e(){}return function(t){if(!Jo(t))return{};if(Ve)return Ve(t);e.prototype=t;var n=new e;return e.prototype=a,n}}();function In(){}function $n(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=a}function Bn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Vn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Vn;++t<n;)this.add(e[t])}function Qn(e){var t=this.__data__=new Wn(e);this.size=t.size}function Yn(e,t){var n=Ho(e),r=!n&&Bo(e),a=!n&&!r&&Qo(e),i=!n&&!r&&!a&&lu(e),o=n||r||a||i,u=o?Qt(e.length,Ce):[],l=u.length;for(var s in e)!t&&!Oe.call(e,s)||o&&(\"length\"==s||a&&(\"offset\"==s||\"parent\"==s)||i&&(\"buffer\"==s||\"byteLength\"==s||\"byteOffset\"==s)||gi(s,l))||u.push(s);return u}function Gn(e){var t=e.length;return t?e[Vr(0,t-1)]:a}function Kn(e,t){return Ni(Ca(e),ir(t,0,e.length))}function Xn(e){return Ni(Ca(e))}function Zn(e,t,n){(n!==a&&!Uo(e[t],n)||n===a&&!(t in e))&&rr(e,t,n)}function Jn(e,t,n){var r=e[t];Oe.call(e,t)&&Uo(r,n)&&(n!==a||t in e)||rr(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Uo(e[n][0],t))return n;return-1}function tr(e,t,n,r){return cr(e,(function(e,a,i){t(r,e,n(e),i)})),r}function nr(e,t){return e&&Ta(t,Mu(t),e)}function rr(e,t,n){\"__proto__\"==t&&et?et(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ar(e,t){for(var n=-1,i=t.length,o=r(i),u=null==e;++n<i;)o[n]=u?a:Eu(e,t[n]);return o}function ir(e,t,n){return e==e&&(n!==a&&(e=e<=n?e:n),t!==a&&(e=e>=t?e:t)),e}function or(e,t,n,r,i,o){var u,l=1&t,s=2&t,c=4&t;if(n&&(u=i?n(e,r,i,o):n(e)),u!==a)return u;if(!Jo(e))return e;var f=Ho(e);if(f){if(u=function(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&Oe.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}(e),!l)return Ca(e,u)}else{var d=fi(e),p=d==w||d==_;if(Qo(e))return wa(e,l);if(d==S||d==g||p&&!i){if(u=s||p?{}:pi(e),!l)return s?function(e,t){return Ta(e,ci(e),t)}(e,function(e,t){return e&&Ta(t,Nu(t),e)}(u,e)):function(e,t){return Ta(e,si(e),t)}(e,nr(u,e))}else{if(!it[d])return i?e:{};u=function(e,t,n){var r,a=e.constructor;switch(t){case N:return _a(e);case m:case y:return new a(+e);case A:return function(e,t){var n=t?_a(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case L:case F:case D:case R:case j:case U:case I:case $:return ka(e,n);case k:return new a;case x:case P:return new a(e);case C:return function(e){var t=new e.constructor(e.source,de.exec(e));return t.lastIndex=e.lastIndex,t}(e);case T:return new a;case z:return r=e,Dn?Se(Dn.call(r)):{}}}(e,d,l)}}o||(o=new Qn);var h=o.get(e);if(h)return h;o.set(e,u),iu(e)?e.forEach((function(r){u.add(or(r,t,n,r,e,o))})):tu(e)&&e.forEach((function(r,a){u.set(a,or(r,t,n,a,e,o))}));var v=f?a:(c?s?ti:ei:s?Nu:Mu)(e);return Et(v||e,(function(r,a){v&&(r=e[a=r]),Jn(u,a,or(r,t,n,a,e,o))})),u}function ur(e,t,n){var r=n.length;if(null==e)return!r;for(e=Se(e);r--;){var i=n[r],o=t[i],u=e[i];if(u===a&&!(i in e)||!o(u))return!1}return!0}function lr(e,t,n){if(\"function\"!=typeof e)throw new Te(i);return Ti((function(){e.apply(a,n)}),t)}function sr(e,t,n,r){var a=-1,i=zt,o=!0,u=e.length,l=[],s=t.length;if(!u)return l;n&&(t=Nt(t,Gt(n))),r?(i=Mt,o=!1):t.length>=200&&(i=Xt,o=!1,t=new qn(t));e:for(;++a<u;){var c=e[a],f=null==n?c:n(c);if(c=r||0!==c?c:0,o&&f==f){for(var d=s;d--;)if(t[d]===f)continue e;l.push(c)}else i(t,f,r)||l.push(c)}return l}jn.templateSettings={escape:G,evaluate:K,interpolate:X,variable:\"\",imports:{_:jn}},jn.prototype=In.prototype,jn.prototype.constructor=jn,$n.prototype=Un(In.prototype),$n.prototype.constructor=$n,Bn.prototype=Un(In.prototype),Bn.prototype.constructor=Bn,Hn.prototype.clear=function(){this.__data__=Tn?Tn(null):{},this.size=0},Hn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Hn.prototype.get=function(e){var t=this.__data__;if(Tn){var n=t[e];return n===o?a:n}return Oe.call(t,e)?t[e]:a},Hn.prototype.has=function(e){var t=this.__data__;return Tn?t[e]!==a:Oe.call(t,e)},Hn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Tn&&t===a?o:t,this},Wn.prototype.clear=function(){this.__data__=[],this.size=0},Wn.prototype.delete=function(e){var t=this.__data__,n=er(t,e);return!(n<0||(n==t.length-1?t.pop():Qe.call(t,n,1),--this.size,0))},Wn.prototype.get=function(e){var t=this.__data__,n=er(t,e);return n<0?a:t[n][1]},Wn.prototype.has=function(e){return er(this.__data__,e)>-1},Wn.prototype.set=function(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Vn.prototype.clear=function(){this.size=0,this.__data__={hash:new Hn,map:new(xn||Wn),string:new Hn}},Vn.prototype.delete=function(e){var t=oi(this,e).delete(e);return this.size-=t?1:0,t},Vn.prototype.get=function(e){return oi(this,e).get(e)},Vn.prototype.has=function(e){return oi(this,e).has(e)},Vn.prototype.set=function(e,t){var n=oi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},qn.prototype.add=qn.prototype.push=function(e){return this.__data__.set(e,o),this},qn.prototype.has=function(e){return this.__data__.has(e)},Qn.prototype.clear=function(){this.__data__=new Wn,this.size=0},Qn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Qn.prototype.get=function(e){return this.__data__.get(e)},Qn.prototype.has=function(e){return this.__data__.has(e)},Qn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Wn){var r=n.__data__;if(!xn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Vn(r)}return n.set(e,t),this.size=n.size,this};var cr=Ma(yr),fr=Ma(br,!0);function dr(e,t){var n=!0;return cr(e,(function(e,r,a){return n=!!t(e,r,a)})),n}function pr(e,t,n){for(var r=-1,i=e.length;++r<i;){var o=e[r],u=t(o);if(null!=u&&(l===a?u==u&&!uu(u):n(u,l)))var l=u,s=o}return s}function hr(e,t){var n=[];return cr(e,(function(e,r,a){t(e,r,a)&&n.push(e)})),n}function gr(e,t,n,r,a){var i=-1,o=e.length;for(n||(n=hi),a||(a=[]);++i<o;){var u=e[i];t>0&&n(u)?t>1?gr(u,t-1,n,r,a):At(a,u):r||(a[a.length]=u)}return a}var vr=Na(),mr=Na(!0);function yr(e,t){return e&&vr(e,t,Mu)}function br(e,t){return e&&mr(e,t,Mu)}function wr(e,t){return Pt(t,(function(t){return Ko(e[t])}))}function _r(e,t){for(var n=0,r=(t=va(t,e)).length;null!=e&&n<r;)e=e[Fi(t[n++])];return n&&n==r?e:a}function kr(e,t,n){var r=t(e);return Ho(e)?r:At(r,n(e))}function xr(e){return null==e?e===a?\"[object Undefined]\":\"[object Null]\":Ze&&Ze in Se(e)?function(e){var t=Oe.call(e,Ze),n=e[Ze];try{e[Ze]=a;var r=!0}catch(e){}var i=De.call(e);return r&&(t?e[Ze]=n:delete e[Ze]),i}(e):function(e){return De.call(e)}(e)}function Sr(e,t){return e>t}function Er(e,t){return null!=e&&Oe.call(e,t)}function Cr(e,t){return null!=e&&t in Se(e)}function Tr(e,t,n){for(var i=n?Mt:zt,o=e[0].length,u=e.length,l=u,s=r(u),c=1/0,f=[];l--;){var d=e[l];l&&t&&(d=Nt(d,Gt(t))),c=mn(d.length,c),s[l]=!n&&(t||o>=120&&d.length>=120)?new qn(l&&d):a}d=e[0];var p=-1,h=s[0];e:for(;++p<o&&f.length<c;){var g=d[p],v=t?t(g):g;if(g=n||0!==g?g:0,!(h?Xt(h,v):i(f,v,n))){for(l=u;--l;){var m=s[l];if(!(m?Xt(m,v):i(e[l],v,n)))continue e}h&&h.push(v),f.push(g)}}return f}function Pr(e,t,n){var r=null==(e=Si(e,t=va(t,e)))?e:e[Fi(Yi(t))];return null==r?a:xt(r,e,n)}function zr(e){return eu(e)&&xr(e)==g}function Mr(e,t,n,r,i){return e===t||(null==e||null==t||!eu(e)&&!eu(t)?e!=e&&t!=t:function(e,t,n,r,i,o){var u=Ho(e),l=Ho(t),s=u?v:fi(e),c=l?v:fi(t),f=(s=s==g?S:s)==S,d=(c=c==g?S:c)==S,p=s==c;if(p&&Qo(e)){if(!Qo(t))return!1;u=!0,f=!1}if(p&&!f)return o||(o=new Qn),u||lu(e)?Za(e,t,n,r,i,o):function(e,t,n,r,a,i,o){switch(n){case A:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case N:return!(e.byteLength!=t.byteLength||!i(new Be(e),new Be(t)));case m:case y:case x:return Uo(+e,+t);case b:return e.name==t.name&&e.message==t.message;case C:case P:return e==t+\"\";case k:var u=an;case T:var l=1&r;if(u||(u=ln),e.size!=t.size&&!l)return!1;var s=o.get(e);if(s)return s==t;r|=2,o.set(e,t);var c=Za(u(e),u(t),r,a,i,o);return o.delete(e),c;case z:if(Dn)return Dn.call(e)==Dn.call(t)}return!1}(e,t,s,n,r,i,o);if(!(1&n)){var h=f&&Oe.call(e,\"__wrapped__\"),w=d&&Oe.call(t,\"__wrapped__\");if(h||w){var _=h?e.value():e,E=w?t.value():t;return o||(o=new Qn),i(_,E,n,r,o)}}return!!p&&(o||(o=new Qn),function(e,t,n,r,i,o){var u=1&n,l=ei(e),s=l.length;if(s!=ei(t).length&&!u)return!1;for(var c=s;c--;){var f=l[c];if(!(u?f in t:Oe.call(t,f)))return!1}var d=o.get(e),p=o.get(t);if(d&&p)return d==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var g=u;++c<s;){var v=e[f=l[c]],m=t[f];if(r)var y=u?r(m,v,f,t,e,o):r(v,m,f,e,t,o);if(!(y===a?v===m||i(v,m,n,r,o):y)){h=!1;break}g||(g=\"constructor\"==f)}if(h&&!g){var b=e.constructor,w=t.constructor;b==w||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof b&&b instanceof b&&\"function\"==typeof w&&w instanceof w||(h=!1)}return o.delete(e),o.delete(t),h}(e,t,n,r,i,o))}(e,t,n,r,Mr,i))}function Nr(e,t,n,r){var i=n.length,o=i,u=!r;if(null==e)return!o;for(e=Se(e);i--;){var l=n[i];if(u&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++i<o;){var s=(l=n[i])[0],c=e[s],f=l[1];if(u&&l[2]){if(c===a&&!(s in e))return!1}else{var d=new Qn;if(r)var p=r(c,f,s,e,t,d);if(!(p===a?Mr(f,c,3,r,d):p))return!1}}return!0}function Ar(e){return!(!Jo(e)||(t=e,Fe&&Fe in t))&&(Ko(e)?Ue:ge).test(Di(e));var t}function Or(e){return\"function\"==typeof e?e:null==e?nl:\"object\"==typeof e?Ho(e)?jr(e[0],e[1]):Rr(e):fl(e)}function Lr(e){if(!wi(e))return gn(e);var t=[];for(var n in Se(e))Oe.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function Fr(e,t){return e<t}function Dr(e,t){var n=-1,a=Vo(e)?r(e.length):[];return cr(e,(function(e,r,i){a[++n]=t(e,r,i)})),a}function Rr(e){var t=ui(e);return 1==t.length&&t[0][2]?ki(t[0][0],t[0][1]):function(n){return n===e||Nr(n,e,t)}}function jr(e,t){return mi(e)&&_i(t)?ki(Fi(e),t):function(n){var r=Eu(n,e);return r===a&&r===t?Cu(n,e):Mr(t,r,3)}}function Ur(e,t,n,r,i){e!==t&&vr(t,(function(o,u){if(i||(i=new Qn),Jo(o))!function(e,t,n,r,i,o,u){var l=Ei(e,n),s=Ei(t,n),c=u.get(s);if(c)Zn(e,n,c);else{var f=o?o(l,s,n+\"\",e,t,u):a,d=f===a;if(d){var p=Ho(s),h=!p&&Qo(s),g=!p&&!h&&lu(s);f=s,p||h||g?Ho(l)?f=l:qo(l)?f=Ca(l):h?(d=!1,f=wa(s,!0)):g?(d=!1,f=ka(s,!0)):f=[]:ru(s)||Bo(s)?(f=l,Bo(l)?f=vu(l):Jo(l)&&!Ko(l)||(f=pi(s))):d=!1}d&&(u.set(s,f),i(f,s,r,o,u),u.delete(s)),Zn(e,n,f)}}(e,t,u,n,Ur,r,i);else{var l=r?r(Ei(e,u),o,u+\"\",e,t,i):a;l===a&&(l=o),Zn(e,u,l)}}),Nu)}function Ir(e,t){var n=e.length;if(n)return gi(t+=t<0?n:0,n)?e[t]:a}function $r(e,t,n){t=t.length?Nt(t,(function(e){return Ho(e)?function(t){return _r(t,1===e.length?e[0]:e)}:e})):[nl];var r=-1;t=Nt(t,Gt(ii()));var a=Dr(e,(function(e,n,a){var i=Nt(t,(function(t){return t(e)}));return{criteria:i,index:++r,value:e}}));return function(e){var t=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,a=e.criteria,i=t.criteria,o=a.length,u=n.length;++r<o;){var l=xa(a[r],i[r]);if(l)return r>=u?l:l*(\"desc\"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));t--;)e[t]=e[t].value;return e}(a)}function Br(e,t,n){for(var r=-1,a=t.length,i={};++r<a;){var o=t[r],u=_r(e,o);n(u,o)&&Kr(i,va(o,e),u)}return i}function Hr(e,t,n,r){var a=r?It:Ut,i=-1,o=t.length,u=e;for(e===t&&(t=Ca(t)),n&&(u=Nt(e,Gt(n)));++i<o;)for(var l=0,s=t[i],c=n?n(s):s;(l=a(u,c,l,r))>-1;)u!==e&&Qe.call(u,l,1),Qe.call(e,l,1);return e}function Wr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var a=t[n];if(n==r||a!==i){var i=a;gi(a)?Qe.call(e,a,1):la(e,a)}}return e}function Vr(e,t){return e+pt(wn()*(t-e+1))}function qr(e,t){var n=\"\";if(!e||t<1||t>f)return n;do{t%2&&(n+=e),(t=pt(t/2))&&(e+=e)}while(t);return n}function Qr(e,t){return Pi(xi(e,t,nl),e+\"\")}function Yr(e){return Gn(Uu(e))}function Gr(e,t){var n=Uu(e);return Ni(n,ir(t,0,n.length))}function Kr(e,t,n,r){if(!Jo(e))return e;for(var i=-1,o=(t=va(t,e)).length,u=o-1,l=e;null!=l&&++i<o;){var s=Fi(t[i]),c=n;if(\"__proto__\"===s||\"constructor\"===s||\"prototype\"===s)return e;if(i!=u){var f=l[s];(c=r?r(f,s,l):a)===a&&(c=Jo(f)?f:gi(t[i+1])?[]:{})}Jn(l,s,c),l=l[s]}return e}var Xr=Pn?function(e,t){return Pn.set(e,t),e}:nl,Zr=et?function(e,t){return et(e,\"toString\",{configurable:!0,enumerable:!1,value:Ju(t),writable:!0})}:nl;function Jr(e){return Ni(Uu(e))}function ea(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=r(i);++a<i;)o[a]=e[a+t];return o}function ta(e,t){var n;return cr(e,(function(e,r,a){return!(n=t(e,r,a))})),!!n}function na(e,t,n){var r=0,a=null==e?r:e.length;if(\"number\"==typeof t&&t==t&&a<=2147483647){for(;r<a;){var i=r+a>>>1,o=e[i];null!==o&&!uu(o)&&(n?o<=t:o<t)?r=i+1:a=i}return a}return ra(e,t,nl,n)}function ra(e,t,n,r){var i=0,o=null==e?0:e.length;if(0===o)return 0;for(var u=(t=n(t))!=t,l=null===t,s=uu(t),c=t===a;i<o;){var f=pt((i+o)/2),d=n(e[f]),p=d!==a,h=null===d,g=d==d,v=uu(d);if(u)var m=r||g;else m=c?g&&(r||p):l?g&&p&&(r||!h):s?g&&p&&!h&&(r||!v):!h&&!v&&(r?d<=t:d<t);m?i=f+1:o=f}return mn(o,4294967294)}function aa(e,t){for(var n=-1,r=e.length,a=0,i=[];++n<r;){var o=e[n],u=t?t(o):o;if(!n||!Uo(u,l)){var l=u;i[a++]=0===o?0:o}}return i}function ia(e){return\"number\"==typeof e?e:uu(e)?d:+e}function oa(e){if(\"string\"==typeof e)return e;if(Ho(e))return Nt(e,oa)+\"\";if(uu(e))return Rn?Rn.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function ua(e,t,n){var r=-1,a=zt,i=e.length,o=!0,u=[],l=u;if(n)o=!1,a=Mt;else if(i>=200){var s=t?null:qa(e);if(s)return ln(s);o=!1,a=Xt,l=new qn}else l=t?[]:u;e:for(;++r<i;){var c=e[r],f=t?t(c):c;if(c=n||0!==c?c:0,o&&f==f){for(var d=l.length;d--;)if(l[d]===f)continue e;t&&l.push(f),u.push(c)}else a(l,f,n)||(l!==u&&l.push(f),u.push(c))}return u}function la(e,t){return null==(e=Si(e,t=va(t,e)))||delete e[Fi(Yi(t))]}function sa(e,t,n,r){return Kr(e,t,n(_r(e,t)),r)}function ca(e,t,n,r){for(var a=e.length,i=r?a:-1;(r?i--:++i<a)&&t(e[i],i,e););return n?ea(e,r?0:i,r?i+1:a):ea(e,r?i+1:0,r?a:i)}function fa(e,t){var n=e;return n instanceof Bn&&(n=n.value()),Ot(t,(function(e,t){return t.func.apply(t.thisArg,At([e],t.args))}),n)}function da(e,t,n){var a=e.length;if(a<2)return a?ua(e[0]):[];for(var i=-1,o=r(a);++i<a;)for(var u=e[i],l=-1;++l<a;)l!=i&&(o[i]=sr(o[i]||u,e[l],t,n));return ua(gr(o,1),t,n)}function pa(e,t,n){for(var r=-1,i=e.length,o=t.length,u={};++r<i;){var l=r<o?t[r]:a;n(u,e[r],l)}return u}function ha(e){return qo(e)?e:[]}function ga(e){return\"function\"==typeof e?e:nl}function va(e,t){return Ho(e)?e:mi(e,t)?[e]:Li(mu(e))}var ma=Qr;function ya(e,t,n){var r=e.length;return n=n===a?r:n,!t&&n>=r?e:ea(e,t,n)}var ba=ot||function(e){return ft.clearTimeout(e)};function wa(e,t){if(t)return e.slice();var n=e.length,r=He?He(n):new e.constructor(n);return e.copy(r),r}function _a(e){var t=new e.constructor(e.byteLength);return new Be(t).set(new Be(e)),t}function ka(e,t){var n=t?_a(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function xa(e,t){if(e!==t){var n=e!==a,r=null===e,i=e==e,o=uu(e),u=t!==a,l=null===t,s=t==t,c=uu(t);if(!l&&!c&&!o&&e>t||o&&u&&s&&!l&&!c||r&&u&&s||!n&&s||!i)return 1;if(!r&&!o&&!c&&e<t||c&&n&&i&&!r&&!o||l&&n&&i||!u&&i||!s)return-1}return 0}function Sa(e,t,n,a){for(var i=-1,o=e.length,u=n.length,l=-1,s=t.length,c=vn(o-u,0),f=r(s+c),d=!a;++l<s;)f[l]=t[l];for(;++i<u;)(d||i<o)&&(f[n[i]]=e[i]);for(;c--;)f[l++]=e[i++];return f}function Ea(e,t,n,a){for(var i=-1,o=e.length,u=-1,l=n.length,s=-1,c=t.length,f=vn(o-l,0),d=r(f+c),p=!a;++i<f;)d[i]=e[i];for(var h=i;++s<c;)d[h+s]=t[s];for(;++u<l;)(p||i<o)&&(d[h+n[u]]=e[i++]);return d}function Ca(e,t){var n=-1,a=e.length;for(t||(t=r(a));++n<a;)t[n]=e[n];return t}function Ta(e,t,n,r){var i=!n;n||(n={});for(var o=-1,u=t.length;++o<u;){var l=t[o],s=r?r(n[l],e[l],l,n,e):a;s===a&&(s=e[l]),i?rr(n,l,s):Jn(n,l,s)}return n}function Pa(e,t){return function(n,r){var a=Ho(n)?St:tr,i=t?t():{};return a(n,e,ii(r,2),i)}}function za(e){return Qr((function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:a,u=i>2?n[2]:a;for(o=e.length>3&&\"function\"==typeof o?(i--,o):a,u&&vi(n[0],n[1],u)&&(o=i<3?a:o,i=1),t=Se(t);++r<i;){var l=n[r];l&&e(t,l,r,o)}return t}))}function Ma(e,t){return function(n,r){if(null==n)return n;if(!Vo(n))return e(n,r);for(var a=n.length,i=t?a:-1,o=Se(n);(t?i--:++i<a)&&!1!==r(o[i],i,o););return n}}function Na(e){return function(t,n,r){for(var a=-1,i=Se(t),o=r(t),u=o.length;u--;){var l=o[e?u:++a];if(!1===n(i[l],l,i))break}return t}}function Aa(e){return function(t){var n=rn(t=mu(t))?fn(t):a,r=n?n[0]:t.charAt(0),i=n?ya(n,1).join(\"\"):t.slice(1);return r[e]()+i}}function Oa(e){return function(t){return Ot(Ku(Bu(t).replace(Ke,\"\")),e,\"\")}}function La(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Un(e.prototype),r=e.apply(n,t);return Jo(r)?r:n}}function Fa(e){return function(t,n,r){var i=Se(t);if(!Vo(t)){var o=ii(n,3);t=Mu(t),n=function(e){return o(i[e],e,i)}}var u=e(t,n,r);return u>-1?i[o?t[u]:u]:a}}function Da(e){return Ja((function(t){var n=t.length,r=n,o=$n.prototype.thru;for(e&&t.reverse();r--;){var u=t[r];if(\"function\"!=typeof u)throw new Te(i);if(o&&!l&&\"wrapper\"==ri(u))var l=new $n([],!0)}for(r=l?r:n;++r<n;){var s=ri(u=t[r]),c=\"wrapper\"==s?ni(u):a;l=c&&yi(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?l[ri(c[0])].apply(l,c[3]):1==u.length&&yi(u)?l[s]():l.thru(u)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&Ho(r))return l.plant(r).value();for(var a=0,i=n?t[a].apply(this,e):r;++a<n;)i=t[a].call(this,i);return i}}))}function Ra(e,t,n,i,o,u,l,c,f,d){var p=t&s,h=1&t,g=2&t,v=24&t,m=512&t,y=g?a:La(e);return function s(){for(var b=arguments.length,w=r(b),_=b;_--;)w[_]=arguments[_];if(v)var k=ai(s),x=function(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}(w,k);if(i&&(w=Sa(w,i,o,v)),u&&(w=Ea(w,u,l,v)),b-=x,v&&b<d){var S=un(w,k);return Wa(e,t,Ra,s.placeholder,n,w,S,c,f,d-b)}var E=h?n:this,C=g?E[e]:e;return b=w.length,c?w=function(e,t){for(var n=e.length,r=mn(t.length,n),i=Ca(e);r--;){var o=t[r];e[r]=gi(o,n)?i[o]:a}return e}(w,c):m&&b>1&&w.reverse(),p&&f<b&&(w.length=f),this&&this!==ft&&this instanceof s&&(C=y||La(C)),C.apply(E,w)}}function ja(e,t){return function(n,r){return function(e,t,n,r){return yr(e,(function(e,a,i){t(r,n(e),a,i)})),r}(n,e,t(r),{})}}function Ua(e,t){return function(n,r){var i;if(n===a&&r===a)return t;if(n!==a&&(i=n),r!==a){if(i===a)return r;\"string\"==typeof n||\"string\"==typeof r?(n=oa(n),r=oa(r)):(n=ia(n),r=ia(r)),i=e(n,r)}return i}}function Ia(e){return Ja((function(t){return t=Nt(t,Gt(ii())),Qr((function(n){var r=this;return e(t,(function(e){return xt(e,r,n)}))}))}))}function $a(e,t){var n=(t=t===a?\" \":oa(t)).length;if(n<2)return n?qr(t,e):t;var r=qr(t,dt(e/cn(t)));return rn(t)?ya(fn(r),0,e).join(\"\"):r.slice(0,e)}function Ba(e){return function(t,n,i){return i&&\"number\"!=typeof i&&vi(t,n,i)&&(n=i=a),t=du(t),n===a?(n=t,t=0):n=du(n),function(e,t,n,a){for(var i=-1,o=vn(dt((t-e)/(n||1)),0),u=r(o);o--;)u[a?o:++i]=e,e+=n;return u}(t,n,i=i===a?t<n?1:-1:du(i),e)}}function Ha(e){return function(t,n){return\"string\"==typeof t&&\"string\"==typeof n||(t=gu(t),n=gu(n)),e(t,n)}}function Wa(e,t,n,r,i,o,u,s,c,f){var d=8&t;t|=d?l:64,4&(t&=~(d?64:l))||(t&=-4);var p=[e,t,i,d?o:a,d?u:a,d?a:o,d?a:u,s,c,f],h=n.apply(a,p);return yi(e)&&Ci(h,p),h.placeholder=r,zi(h,e,t)}function Va(e){var t=xe[e];return function(e,n){if(e=gu(e),(n=null==n?0:mn(pu(n),292))&&Dt(e)){var r=(mu(e)+\"e\").split(\"e\");return+((r=(mu(t(r[0]+\"e\"+(+r[1]+n)))+\"e\").split(\"e\"))[0]+\"e\"+(+r[1]-n))}return t(e)}}var qa=En&&1/ln(new En([,-0]))[1]==c?function(e){return new En(e)}:ul;function Qa(e){return function(t){var n=fi(t);return n==k?an(t):n==T?sn(t):function(e,t){return Nt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Ya(e,t,n,o,c,f,d,p){var h=2&t;if(!h&&\"function\"!=typeof e)throw new Te(i);var g=o?o.length:0;if(g||(t&=-97,o=c=a),d=d===a?d:vn(pu(d),0),p=p===a?p:pu(p),g-=c?c.length:0,64&t){var v=o,m=c;o=c=a}var y=h?a:ni(e),b=[e,t,n,o,c,v,m,f,d,p];if(y&&function(e,t){var n=e[1],r=t[1],a=n|r,i=a<131,o=r==s&&8==n||r==s&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!i&&!o)return e;1&r&&(e[2]=t[2],a|=1&n?0:4);var l=t[3];if(l){var c=e[3];e[3]=c?Sa(c,l,t[4]):l,e[4]=c?un(e[3],u):t[4]}(l=t[5])&&(c=e[5],e[5]=c?Ea(c,l,t[6]):l,e[6]=c?un(e[5],u):t[6]),(l=t[7])&&(e[7]=l),r&s&&(e[8]=null==e[8]?t[8]:mn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=a}(b,y),e=b[0],t=b[1],n=b[2],o=b[3],c=b[4],!(p=b[9]=b[9]===a?h?0:e.length:vn(b[9]-g,0))&&24&t&&(t&=-25),t&&1!=t)w=8==t||16==t?function(e,t,n){var i=La(e);return function o(){for(var u=arguments.length,l=r(u),s=u,c=ai(o);s--;)l[s]=arguments[s];var f=u<3&&l[0]!==c&&l[u-1]!==c?[]:un(l,c);return(u-=f.length)<n?Wa(e,t,Ra,o.placeholder,a,l,f,a,a,n-u):xt(this&&this!==ft&&this instanceof o?i:e,this,l)}}(e,t,p):t!=l&&33!=t||c.length?Ra.apply(a,b):function(e,t,n,a){var i=1&t,o=La(e);return function t(){for(var u=-1,l=arguments.length,s=-1,c=a.length,f=r(c+l),d=this&&this!==ft&&this instanceof t?o:e;++s<c;)f[s]=a[s];for(;l--;)f[s++]=arguments[++u];return xt(d,i?n:this,f)}}(e,t,n,o);else var w=function(e,t,n){var r=1&t,a=La(e);return function t(){return(this&&this!==ft&&this instanceof t?a:e).apply(r?n:this,arguments)}}(e,t,n);return zi((y?Xr:Ci)(w,b),e,t)}function Ga(e,t,n,r){return e===a||Uo(e,Me[n])&&!Oe.call(r,n)?t:e}function Ka(e,t,n,r,i,o){return Jo(e)&&Jo(t)&&(o.set(t,e),Ur(e,t,a,Ka,o),o.delete(t)),e}function Xa(e){return ru(e)?a:e}function Za(e,t,n,r,i,o){var u=1&n,l=e.length,s=t.length;if(l!=s&&!(u&&s>l))return!1;var c=o.get(e),f=o.get(t);if(c&&f)return c==t&&f==e;var d=-1,p=!0,h=2&n?new qn:a;for(o.set(e,t),o.set(t,e);++d<l;){var g=e[d],v=t[d];if(r)var m=u?r(v,g,d,t,e,o):r(g,v,d,e,t,o);if(m!==a){if(m)continue;p=!1;break}if(h){if(!Ft(t,(function(e,t){if(!Xt(h,t)&&(g===e||i(g,e,n,r,o)))return h.push(t)}))){p=!1;break}}else if(g!==v&&!i(g,v,n,r,o)){p=!1;break}}return o.delete(e),o.delete(t),p}function Ja(e){return Pi(xi(e,a,Hi),e+\"\")}function ei(e){return kr(e,Mu,si)}function ti(e){return kr(e,Nu,ci)}var ni=Pn?function(e){return Pn.get(e)}:ul;function ri(e){for(var t=e.name+\"\",n=zn[t],r=Oe.call(zn,t)?n.length:0;r--;){var a=n[r],i=a.func;if(null==i||i==e)return a.name}return t}function ai(e){return(Oe.call(jn,\"placeholder\")?jn:e).placeholder}function ii(){var e=jn.iteratee||rl;return e=e===rl?Or:e,arguments.length?e(arguments[0],arguments[1]):e}function oi(e,t){var n,r,a=e.__data__;return(\"string\"==(r=typeof(n=t))||\"number\"==r||\"symbol\"==r||\"boolean\"==r?\"__proto__\"!==n:null===n)?a[\"string\"==typeof t?\"string\":\"hash\"]:a.map}function ui(e){for(var t=Mu(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,_i(a)]}return t}function li(e,t){var n=function(e,t){return null==e?a:e[t]}(e,t);return Ar(n)?n:a}var si=gt?function(e){return null==e?[]:(e=Se(e),Pt(gt(e),(function(t){return qe.call(e,t)})))}:hl,ci=gt?function(e){for(var t=[];e;)At(t,si(e)),e=We(e);return t}:hl,fi=xr;function di(e,t,n){for(var r=-1,a=(t=va(t,e)).length,i=!1;++r<a;){var o=Fi(t[r]);if(!(i=null!=e&&n(e,o)))break;e=e[o]}return i||++r!=a?i:!!(a=null==e?0:e.length)&&Zo(a)&&gi(o,a)&&(Ho(e)||Bo(e))}function pi(e){return\"function\"!=typeof e.constructor||wi(e)?{}:Un(We(e))}function hi(e){return Ho(e)||Bo(e)||!!(Ye&&e&&e[Ye])}function gi(e,t){var n=typeof e;return!!(t=null==t?f:t)&&(\"number\"==n||\"symbol\"!=n&&me.test(e))&&e>-1&&e%1==0&&e<t}function vi(e,t,n){if(!Jo(n))return!1;var r=typeof t;return!!(\"number\"==r?Vo(n)&&gi(t,n.length):\"string\"==r&&t in n)&&Uo(n[t],e)}function mi(e,t){if(Ho(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!uu(e))||J.test(e)||!Z.test(e)||null!=t&&e in Se(t)}function yi(e){var t=ri(e),n=jn[t];if(\"function\"!=typeof n||!(t in Bn.prototype))return!1;if(e===n)return!0;var r=ni(n);return!!r&&e===r[0]}(kn&&fi(new kn(new ArrayBuffer(1)))!=A||xn&&fi(new xn)!=k||Sn&&fi(Sn.resolve())!=E||En&&fi(new En)!=T||Cn&&fi(new Cn)!=M)&&(fi=function(e){var t=xr(e),n=t==S?e.constructor:a,r=n?Di(n):\"\";if(r)switch(r){case Mn:return A;case Nn:return k;case An:return E;case On:return T;case Ln:return M}return t});var bi=Ne?Ko:gl;function wi(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||Me)}function _i(e){return e==e&&!Jo(e)}function ki(e,t){return function(n){return null!=n&&n[e]===t&&(t!==a||e in Se(n))}}function xi(e,t,n){return t=vn(t===a?e.length-1:t,0),function(){for(var a=arguments,i=-1,o=vn(a.length-t,0),u=r(o);++i<o;)u[i]=a[t+i];i=-1;for(var l=r(t+1);++i<t;)l[i]=a[i];return l[t]=n(u),xt(e,this,l)}}function Si(e,t){return t.length<2?e:_r(e,ea(t,0,-1))}function Ei(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}var Ci=Mi(Xr),Ti=ct||function(e,t){return ft.setTimeout(e,t)},Pi=Mi(Zr);function zi(e,t,n){var r=t+\"\";return Pi(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(ie,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(r,function(e,t){return Et(h,(function(n){var r=\"_.\"+n[0];t&n[1]&&!zt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(oe);return t?t[1].split(ue):[]}(r),n)))}function Mi(e){var t=0,n=0;return function(){var r=yn(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(a,arguments)}}function Ni(e,t){var n=-1,r=e.length,i=r-1;for(t=t===a?r:t;++n<t;){var o=Vr(n,i),u=e[o];e[o]=e[n],e[n]=u}return e.length=t,e}var Ai,Oi,Li=(Ai=Oo((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(ee,(function(e,n,r,a){t.push(r?a.replace(ce,\"$1\"):n||e)})),t}),(function(e){return 500===Oi.size&&Oi.clear(),e})),Oi=Ai.cache,Ai);function Fi(e){if(\"string\"==typeof e||uu(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function Di(e){if(null!=e){try{return Ae.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function Ri(e){if(e instanceof Bn)return e.clone();var t=new $n(e.__wrapped__,e.__chain__);return t.__actions__=Ca(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var ji=Qr((function(e,t){return qo(e)?sr(e,gr(t,1,qo,!0)):[]})),Ui=Qr((function(e,t){var n=Yi(t);return qo(n)&&(n=a),qo(e)?sr(e,gr(t,1,qo,!0),ii(n,2)):[]})),Ii=Qr((function(e,t){var n=Yi(t);return qo(n)&&(n=a),qo(e)?sr(e,gr(t,1,qo,!0),a,n):[]}));function $i(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=null==n?0:pu(n);return a<0&&(a=vn(r+a,0)),jt(e,ii(t,3),a)}function Bi(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r-1;return n!==a&&(i=pu(n),i=n<0?vn(r+i,0):mn(i,r-1)),jt(e,ii(t,3),i,!0)}function Hi(e){return null!=e&&e.length?gr(e,1):[]}function Wi(e){return e&&e.length?e[0]:a}var Vi=Qr((function(e){var t=Nt(e,ha);return t.length&&t[0]===e[0]?Tr(t):[]})),qi=Qr((function(e){var t=Yi(e),n=Nt(e,ha);return t===Yi(n)?t=a:n.pop(),n.length&&n[0]===e[0]?Tr(n,ii(t,2)):[]})),Qi=Qr((function(e){var t=Yi(e),n=Nt(e,ha);return(t=\"function\"==typeof t?t:a)&&n.pop(),n.length&&n[0]===e[0]?Tr(n,a,t):[]}));function Yi(e){var t=null==e?0:e.length;return t?e[t-1]:a}var Gi=Qr(Ki);function Ki(e,t){return e&&e.length&&t&&t.length?Hr(e,t):e}var Xi=Ja((function(e,t){var n=null==e?0:e.length,r=ar(e,t);return Wr(e,Nt(t,(function(e){return gi(e,n)?+e:e})).sort(xa)),r}));function Zi(e){return null==e?e:_n.call(e)}var Ji=Qr((function(e){return ua(gr(e,1,qo,!0))})),eo=Qr((function(e){var t=Yi(e);return qo(t)&&(t=a),ua(gr(e,1,qo,!0),ii(t,2))})),to=Qr((function(e){var t=Yi(e);return t=\"function\"==typeof t?t:a,ua(gr(e,1,qo,!0),a,t)}));function no(e){if(!e||!e.length)return[];var t=0;return e=Pt(e,(function(e){if(qo(e))return t=vn(e.length,t),!0})),Qt(t,(function(t){return Nt(e,Ht(t))}))}function ro(e,t){if(!e||!e.length)return[];var n=no(e);return null==t?n:Nt(n,(function(e){return xt(t,a,e)}))}var ao=Qr((function(e,t){return qo(e)?sr(e,t):[]})),io=Qr((function(e){return da(Pt(e,qo))})),oo=Qr((function(e){var t=Yi(e);return qo(t)&&(t=a),da(Pt(e,qo),ii(t,2))})),uo=Qr((function(e){var t=Yi(e);return t=\"function\"==typeof t?t:a,da(Pt(e,qo),a,t)})),lo=Qr(no),so=Qr((function(e){var t=e.length,n=t>1?e[t-1]:a;return n=\"function\"==typeof n?(e.pop(),n):a,ro(e,n)}));function co(e){var t=jn(e);return t.__chain__=!0,t}function fo(e,t){return t(e)}var po=Ja((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return ar(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Bn&&gi(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:fo,args:[i],thisArg:a}),new $n(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(a),e}))):this.thru(i)})),ho=Pa((function(e,t,n){Oe.call(e,n)?++e[n]:rr(e,n,1)})),go=Fa($i),vo=Fa(Bi);function mo(e,t){return(Ho(e)?Et:cr)(e,ii(t,3))}function yo(e,t){return(Ho(e)?Ct:fr)(e,ii(t,3))}var bo=Pa((function(e,t,n){Oe.call(e,n)?e[n].push(t):rr(e,n,[t])})),wo=Qr((function(e,t,n){var a=-1,i=\"function\"==typeof t,o=Vo(e)?r(e.length):[];return cr(e,(function(e){o[++a]=i?xt(t,e,n):Pr(e,t,n)})),o})),_o=Pa((function(e,t,n){rr(e,n,t)}));function ko(e,t){return(Ho(e)?Nt:Dr)(e,ii(t,3))}var xo=Pa((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),So=Qr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&vi(e,t[0],t[1])?t=[]:n>2&&vi(t[0],t[1],t[2])&&(t=[t[0]]),$r(e,gr(t,1),[])})),Eo=st||function(){return ft.Date.now()};function Co(e,t,n){return t=n?a:t,t=e&&null==t?e.length:t,Ya(e,s,a,a,a,a,t)}function To(e,t){var n;if(\"function\"!=typeof t)throw new Te(i);return e=pu(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=a),n}}var Po=Qr((function(e,t,n){var r=1;if(n.length){var a=un(n,ai(Po));r|=l}return Ya(e,r,t,n,a)})),zo=Qr((function(e,t,n){var r=3;if(n.length){var a=un(n,ai(zo));r|=l}return Ya(t,r,e,n,a)}));function Mo(e,t,n){var r,o,u,l,s,c,f=0,d=!1,p=!1,h=!0;if(\"function\"!=typeof e)throw new Te(i);function g(t){var n=r,i=o;return r=o=a,f=t,l=e.apply(i,n)}function v(e){var n=e-c;return c===a||n>=t||n<0||p&&e-f>=u}function m(){var e=Eo();if(v(e))return y(e);s=Ti(m,function(e){var n=t-(e-c);return p?mn(n,u-(e-f)):n}(e))}function y(e){return s=a,h&&r?g(e):(r=o=a,l)}function b(){var e=Eo(),n=v(e);if(r=arguments,o=this,c=e,n){if(s===a)return function(e){return f=e,s=Ti(m,t),d?g(e):l}(c);if(p)return ba(s),s=Ti(m,t),g(c)}return s===a&&(s=Ti(m,t)),l}return t=gu(t)||0,Jo(n)&&(d=!!n.leading,u=(p=\"maxWait\"in n)?vn(gu(n.maxWait)||0,t):u,h=\"trailing\"in n?!!n.trailing:h),b.cancel=function(){s!==a&&ba(s),f=0,r=c=o=s=a},b.flush=function(){return s===a?l:y(Eo())},b}var No=Qr((function(e,t){return lr(e,1,t)})),Ao=Qr((function(e,t,n){return lr(e,gu(t)||0,n)}));function Oo(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new Te(i);var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],i=n.cache;if(i.has(a))return i.get(a);var o=e.apply(this,r);return n.cache=i.set(a,o)||i,o};return n.cache=new(Oo.Cache||Vn),n}function Lo(e){if(\"function\"!=typeof e)throw new Te(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oo.Cache=Vn;var Fo=ma((function(e,t){var n=(t=1==t.length&&Ho(t[0])?Nt(t[0],Gt(ii())):Nt(gr(t,1),Gt(ii()))).length;return Qr((function(r){for(var a=-1,i=mn(r.length,n);++a<i;)r[a]=t[a].call(this,r[a]);return xt(e,this,r)}))})),Do=Qr((function(e,t){var n=un(t,ai(Do));return Ya(e,l,a,t,n)})),Ro=Qr((function(e,t){var n=un(t,ai(Ro));return Ya(e,64,a,t,n)})),jo=Ja((function(e,t){return Ya(e,256,a,a,a,t)}));function Uo(e,t){return e===t||e!=e&&t!=t}var Io=Ha(Sr),$o=Ha((function(e,t){return e>=t})),Bo=zr(function(){return arguments}())?zr:function(e){return eu(e)&&Oe.call(e,\"callee\")&&!qe.call(e,\"callee\")},Ho=r.isArray,Wo=mt?Gt(mt):function(e){return eu(e)&&xr(e)==N};function Vo(e){return null!=e&&Zo(e.length)&&!Ko(e)}function qo(e){return eu(e)&&Vo(e)}var Qo=vt||gl,Yo=yt?Gt(yt):function(e){return eu(e)&&xr(e)==y};function Go(e){if(!eu(e))return!1;var t=xr(e);return t==b||\"[object DOMException]\"==t||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!ru(e)}function Ko(e){if(!Jo(e))return!1;var t=xr(e);return t==w||t==_||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function Xo(e){return\"number\"==typeof e&&e==pu(e)}function Zo(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=f}function Jo(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function eu(e){return null!=e&&\"object\"==typeof e}var tu=bt?Gt(bt):function(e){return eu(e)&&fi(e)==k};function nu(e){return\"number\"==typeof e||eu(e)&&xr(e)==x}function ru(e){if(!eu(e)||xr(e)!=S)return!1;var t=We(e);if(null===t)return!0;var n=Oe.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&Ae.call(n)==Re}var au=wt?Gt(wt):function(e){return eu(e)&&xr(e)==C},iu=_t?Gt(_t):function(e){return eu(e)&&fi(e)==T};function ou(e){return\"string\"==typeof e||!Ho(e)&&eu(e)&&xr(e)==P}function uu(e){return\"symbol\"==typeof e||eu(e)&&xr(e)==z}var lu=kt?Gt(kt):function(e){return eu(e)&&Zo(e.length)&&!!at[xr(e)]},su=Ha(Fr),cu=Ha((function(e,t){return e<=t}));function fu(e){if(!e)return[];if(Vo(e))return ou(e)?fn(e):Ca(e);if(Ge&&e[Ge])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Ge]());var t=fi(e);return(t==k?an:t==T?ln:Uu)(e)}function du(e){return e?(e=gu(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function pu(e){var t=du(e),n=t%1;return t==t?n?t-n:t:0}function hu(e){return e?ir(pu(e),0,p):0}function gu(e){if(\"number\"==typeof e)return e;if(uu(e))return d;if(Jo(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=Jo(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Yt(e);var n=he.test(e);return n||ve.test(e)?lt(e.slice(2),n?2:8):pe.test(e)?d:+e}function vu(e){return Ta(e,Nu(e))}function mu(e){return null==e?\"\":oa(e)}var yu=za((function(e,t){if(wi(t)||Vo(t))Ta(t,Mu(t),e);else for(var n in t)Oe.call(t,n)&&Jn(e,n,t[n])})),bu=za((function(e,t){Ta(t,Nu(t),e)})),wu=za((function(e,t,n,r){Ta(t,Nu(t),e,r)})),_u=za((function(e,t,n,r){Ta(t,Mu(t),e,r)})),ku=Ja(ar),xu=Qr((function(e,t){e=Se(e);var n=-1,r=t.length,i=r>2?t[2]:a;for(i&&vi(t[0],t[1],i)&&(r=1);++n<r;)for(var o=t[n],u=Nu(o),l=-1,s=u.length;++l<s;){var c=u[l],f=e[c];(f===a||Uo(f,Me[c])&&!Oe.call(e,c))&&(e[c]=o[c])}return e})),Su=Qr((function(e){return e.push(a,Ka),xt(Ou,a,e)}));function Eu(e,t,n){var r=null==e?a:_r(e,t);return r===a?n:r}function Cu(e,t){return null!=e&&di(e,t,Cr)}var Tu=ja((function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=De.call(t)),e[t]=n}),Ju(nl)),Pu=ja((function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=De.call(t)),Oe.call(e,t)?e[t].push(n):e[t]=[n]}),ii),zu=Qr(Pr);function Mu(e){return Vo(e)?Yn(e):Lr(e)}function Nu(e){return Vo(e)?Yn(e,!0):function(e){if(!Jo(e))return function(e){var t=[];if(null!=e)for(var n in Se(e))t.push(n);return t}(e);var t=wi(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&Oe.call(e,r))&&n.push(r);return n}(e)}var Au=za((function(e,t,n){Ur(e,t,n)})),Ou=za((function(e,t,n,r){Ur(e,t,n,r)})),Lu=Ja((function(e,t){var n={};if(null==e)return n;var r=!1;t=Nt(t,(function(t){return t=va(t,e),r||(r=t.length>1),t})),Ta(e,ti(e),n),r&&(n=or(n,7,Xa));for(var a=t.length;a--;)la(n,t[a]);return n})),Fu=Ja((function(e,t){return null==e?{}:function(e,t){return Br(e,t,(function(t,n){return Cu(e,n)}))}(e,t)}));function Du(e,t){if(null==e)return{};var n=Nt(ti(e),(function(e){return[e]}));return t=ii(t),Br(e,n,(function(e,n){return t(e,n[0])}))}var Ru=Qa(Mu),ju=Qa(Nu);function Uu(e){return null==e?[]:Kt(e,Mu(e))}var Iu=Oa((function(e,t,n){return t=t.toLowerCase(),e+(n?$u(t):t)}));function $u(e){return Gu(mu(e).toLowerCase())}function Bu(e){return(e=mu(e))&&e.replace(ye,en).replace(Xe,\"\")}var Hu=Oa((function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()})),Wu=Oa((function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()})),Vu=Aa(\"toLowerCase\"),qu=Oa((function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()})),Qu=Oa((function(e,t,n){return e+(n?\" \":\"\")+Gu(t)})),Yu=Oa((function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()})),Gu=Aa(\"toUpperCase\");function Ku(e,t,n){return e=mu(e),(t=n?a:t)===a?function(e){return tt.test(e)}(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Xu=Qr((function(e,t){try{return xt(e,a,t)}catch(e){return Go(e)?e:new _e(e)}})),Zu=Ja((function(e,t){return Et(t,(function(t){t=Fi(t),rr(e,t,Po(e[t],e))})),e}));function Ju(e){return function(){return e}}var el=Da(),tl=Da(!0);function nl(e){return e}function rl(e){return Or(\"function\"==typeof e?e:or(e,1))}var al=Qr((function(e,t){return function(n){return Pr(n,e,t)}})),il=Qr((function(e,t){return function(n){return Pr(e,n,t)}}));function ol(e,t,n){var r=Mu(t),a=wr(t,r);null!=n||Jo(t)&&(a.length||!r.length)||(n=t,t=e,e=this,a=wr(t,Mu(t)));var i=!(Jo(n)&&\"chain\"in n&&!n.chain),o=Ko(e);return Et(a,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__);return(n.__actions__=Ca(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,At([this.value()],arguments))})})),e}function ul(){}var ll=Ia(Nt),sl=Ia(Tt),cl=Ia(Ft);function fl(e){return mi(e)?Ht(Fi(e)):function(e){return function(t){return _r(t,e)}}(e)}var dl=Ba(),pl=Ba(!0);function hl(){return[]}function gl(){return!1}var vl,ml=Ua((function(e,t){return e+t}),0),yl=Va(\"ceil\"),bl=Ua((function(e,t){return e/t}),1),wl=Va(\"floor\"),_l=Ua((function(e,t){return e*t}),1),kl=Va(\"round\"),xl=Ua((function(e,t){return e-t}),0);return jn.after=function(e,t){if(\"function\"!=typeof t)throw new Te(i);return e=pu(e),function(){if(--e<1)return t.apply(this,arguments)}},jn.ary=Co,jn.assign=yu,jn.assignIn=bu,jn.assignInWith=wu,jn.assignWith=_u,jn.at=ku,jn.before=To,jn.bind=Po,jn.bindAll=Zu,jn.bindKey=zo,jn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ho(e)?e:[e]},jn.chain=co,jn.chunk=function(e,t,n){t=(n?vi(e,t,n):t===a)?1:vn(pu(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,u=0,l=r(dt(i/t));o<i;)l[u++]=ea(e,o,o+=t);return l},jn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,a=[];++t<n;){var i=e[t];i&&(a[r++]=i)}return a},jn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],a=e;a--;)t[a-1]=arguments[a];return At(Ho(n)?Ca(n):[n],gr(t,1))},jn.cond=function(e){var t=null==e?0:e.length,n=ii();return e=t?Nt(e,(function(e){if(\"function\"!=typeof e[1])throw new Te(i);return[n(e[0]),e[1]]})):[],Qr((function(n){for(var r=-1;++r<t;){var a=e[r];if(xt(a[0],this,n))return xt(a[1],this,n)}}))},jn.conforms=function(e){return function(e){var t=Mu(e);return function(n){return ur(n,e,t)}}(or(e,1))},jn.constant=Ju,jn.countBy=ho,jn.create=function(e,t){var n=Un(e);return null==t?n:nr(n,t)},jn.curry=function e(t,n,r){var i=Ya(t,8,a,a,a,a,a,n=r?a:n);return i.placeholder=e.placeholder,i},jn.curryRight=function e(t,n,r){var i=Ya(t,16,a,a,a,a,a,n=r?a:n);return i.placeholder=e.placeholder,i},jn.debounce=Mo,jn.defaults=xu,jn.defaultsDeep=Su,jn.defer=No,jn.delay=Ao,jn.difference=ji,jn.differenceBy=Ui,jn.differenceWith=Ii,jn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ea(e,(t=n||t===a?1:pu(t))<0?0:t,r):[]},jn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ea(e,0,(t=r-(t=n||t===a?1:pu(t)))<0?0:t):[]},jn.dropRightWhile=function(e,t){return e&&e.length?ca(e,ii(t,3),!0,!0):[]},jn.dropWhile=function(e,t){return e&&e.length?ca(e,ii(t,3),!0):[]},jn.fill=function(e,t,n,r){var i=null==e?0:e.length;return i?(n&&\"number\"!=typeof n&&vi(e,t,n)&&(n=0,r=i),function(e,t,n,r){var i=e.length;for((n=pu(n))<0&&(n=-n>i?0:i+n),(r=r===a||r>i?i:pu(r))<0&&(r+=i),r=n>r?0:hu(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},jn.filter=function(e,t){return(Ho(e)?Pt:hr)(e,ii(t,3))},jn.flatMap=function(e,t){return gr(ko(e,t),1)},jn.flatMapDeep=function(e,t){return gr(ko(e,t),c)},jn.flatMapDepth=function(e,t,n){return n=n===a?1:pu(n),gr(ko(e,t),n)},jn.flatten=Hi,jn.flattenDeep=function(e){return null!=e&&e.length?gr(e,c):[]},jn.flattenDepth=function(e,t){return null!=e&&e.length?gr(e,t=t===a?1:pu(t)):[]},jn.flip=function(e){return Ya(e,512)},jn.flow=el,jn.flowRight=tl,jn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var a=e[t];r[a[0]]=a[1]}return r},jn.functions=function(e){return null==e?[]:wr(e,Mu(e))},jn.functionsIn=function(e){return null==e?[]:wr(e,Nu(e))},jn.groupBy=bo,jn.initial=function(e){return null!=e&&e.length?ea(e,0,-1):[]},jn.intersection=Vi,jn.intersectionBy=qi,jn.intersectionWith=Qi,jn.invert=Tu,jn.invertBy=Pu,jn.invokeMap=wo,jn.iteratee=rl,jn.keyBy=_o,jn.keys=Mu,jn.keysIn=Nu,jn.map=ko,jn.mapKeys=function(e,t){var n={};return t=ii(t,3),yr(e,(function(e,r,a){rr(n,t(e,r,a),e)})),n},jn.mapValues=function(e,t){var n={};return t=ii(t,3),yr(e,(function(e,r,a){rr(n,r,t(e,r,a))})),n},jn.matches=function(e){return Rr(or(e,1))},jn.matchesProperty=function(e,t){return jr(e,or(t,1))},jn.memoize=Oo,jn.merge=Au,jn.mergeWith=Ou,jn.method=al,jn.methodOf=il,jn.mixin=ol,jn.negate=Lo,jn.nthArg=function(e){return e=pu(e),Qr((function(t){return Ir(t,e)}))},jn.omit=Lu,jn.omitBy=function(e,t){return Du(e,Lo(ii(t)))},jn.once=function(e){return To(2,e)},jn.orderBy=function(e,t,n,r){return null==e?[]:(Ho(t)||(t=null==t?[]:[t]),Ho(n=r?a:n)||(n=null==n?[]:[n]),$r(e,t,n))},jn.over=ll,jn.overArgs=Fo,jn.overEvery=sl,jn.overSome=cl,jn.partial=Do,jn.partialRight=Ro,jn.partition=xo,jn.pick=Fu,jn.pickBy=Du,jn.property=fl,jn.propertyOf=function(e){return function(t){return null==e?a:_r(e,t)}},jn.pull=Gi,jn.pullAll=Ki,jn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Hr(e,t,ii(n,2)):e},jn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Hr(e,t,a,n):e},jn.pullAt=Xi,jn.range=dl,jn.rangeRight=pl,jn.rearg=jo,jn.reject=function(e,t){return(Ho(e)?Pt:hr)(e,Lo(ii(t,3)))},jn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,a=[],i=e.length;for(t=ii(t,3);++r<i;){var o=e[r];t(o,r,e)&&(n.push(o),a.push(r))}return Wr(e,a),n},jn.rest=function(e,t){if(\"function\"!=typeof e)throw new Te(i);return Qr(e,t=t===a?t:pu(t))},jn.reverse=Zi,jn.sampleSize=function(e,t,n){return t=(n?vi(e,t,n):t===a)?1:pu(t),(Ho(e)?Kn:Gr)(e,t)},jn.set=function(e,t,n){return null==e?e:Kr(e,t,n)},jn.setWith=function(e,t,n,r){return r=\"function\"==typeof r?r:a,null==e?e:Kr(e,t,n,r)},jn.shuffle=function(e){return(Ho(e)?Xn:Jr)(e)},jn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&\"number\"!=typeof n&&vi(e,t,n)?(t=0,n=r):(t=null==t?0:pu(t),n=n===a?r:pu(n)),ea(e,t,n)):[]},jn.sortBy=So,jn.sortedUniq=function(e){return e&&e.length?aa(e):[]},jn.sortedUniqBy=function(e,t){return e&&e.length?aa(e,ii(t,2)):[]},jn.split=function(e,t,n){return n&&\"number\"!=typeof n&&vi(e,t,n)&&(t=n=a),(n=n===a?p:n>>>0)?(e=mu(e))&&(\"string\"==typeof t||null!=t&&!au(t))&&!(t=oa(t))&&rn(e)?ya(fn(e),0,n):e.split(t,n):[]},jn.spread=function(e,t){if(\"function\"!=typeof e)throw new Te(i);return t=null==t?0:vn(pu(t),0),Qr((function(n){var r=n[t],a=ya(n,0,t);return r&&At(a,r),xt(e,this,a)}))},jn.tail=function(e){var t=null==e?0:e.length;return t?ea(e,1,t):[]},jn.take=function(e,t,n){return e&&e.length?ea(e,0,(t=n||t===a?1:pu(t))<0?0:t):[]},jn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ea(e,(t=r-(t=n||t===a?1:pu(t)))<0?0:t,r):[]},jn.takeRightWhile=function(e,t){return e&&e.length?ca(e,ii(t,3),!1,!0):[]},jn.takeWhile=function(e,t){return e&&e.length?ca(e,ii(t,3)):[]},jn.tap=function(e,t){return t(e),e},jn.throttle=function(e,t,n){var r=!0,a=!0;if(\"function\"!=typeof e)throw new Te(i);return Jo(n)&&(r=\"leading\"in n?!!n.leading:r,a=\"trailing\"in n?!!n.trailing:a),Mo(e,t,{leading:r,maxWait:t,trailing:a})},jn.thru=fo,jn.toArray=fu,jn.toPairs=Ru,jn.toPairsIn=ju,jn.toPath=function(e){return Ho(e)?Nt(e,Fi):uu(e)?[e]:Ca(Li(mu(e)))},jn.toPlainObject=vu,jn.transform=function(e,t,n){var r=Ho(e),a=r||Qo(e)||lu(e);if(t=ii(t,4),null==n){var i=e&&e.constructor;n=a?r?new i:[]:Jo(e)&&Ko(i)?Un(We(e)):{}}return(a?Et:yr)(e,(function(e,r,a){return t(n,e,r,a)})),n},jn.unary=function(e){return Co(e,1)},jn.union=Ji,jn.unionBy=eo,jn.unionWith=to,jn.uniq=function(e){return e&&e.length?ua(e):[]},jn.uniqBy=function(e,t){return e&&e.length?ua(e,ii(t,2)):[]},jn.uniqWith=function(e,t){return t=\"function\"==typeof t?t:a,e&&e.length?ua(e,a,t):[]},jn.unset=function(e,t){return null==e||la(e,t)},jn.unzip=no,jn.unzipWith=ro,jn.update=function(e,t,n){return null==e?e:sa(e,t,ga(n))},jn.updateWith=function(e,t,n,r){return r=\"function\"==typeof r?r:a,null==e?e:sa(e,t,ga(n),r)},jn.values=Uu,jn.valuesIn=function(e){return null==e?[]:Kt(e,Nu(e))},jn.without=ao,jn.words=Ku,jn.wrap=function(e,t){return Do(ga(t),e)},jn.xor=io,jn.xorBy=oo,jn.xorWith=uo,jn.zip=lo,jn.zipObject=function(e,t){return pa(e||[],t||[],Jn)},jn.zipObjectDeep=function(e,t){return pa(e||[],t||[],Kr)},jn.zipWith=so,jn.entries=Ru,jn.entriesIn=ju,jn.extend=bu,jn.extendWith=wu,ol(jn,jn),jn.add=ml,jn.attempt=Xu,jn.camelCase=Iu,jn.capitalize=$u,jn.ceil=yl,jn.clamp=function(e,t,n){return n===a&&(n=t,t=a),n!==a&&(n=(n=gu(n))==n?n:0),t!==a&&(t=(t=gu(t))==t?t:0),ir(gu(e),t,n)},jn.clone=function(e){return or(e,4)},jn.cloneDeep=function(e){return or(e,5)},jn.cloneDeepWith=function(e,t){return or(e,5,t=\"function\"==typeof t?t:a)},jn.cloneWith=function(e,t){return or(e,4,t=\"function\"==typeof t?t:a)},jn.conformsTo=function(e,t){return null==t||ur(e,t,Mu(t))},jn.deburr=Bu,jn.defaultTo=function(e,t){return null==e||e!=e?t:e},jn.divide=bl,jn.endsWith=function(e,t,n){e=mu(e),t=oa(t);var r=e.length,i=n=n===a?r:ir(pu(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},jn.eq=Uo,jn.escape=function(e){return(e=mu(e))&&Y.test(e)?e.replace(q,tn):e},jn.escapeRegExp=function(e){return(e=mu(e))&&ne.test(e)?e.replace(te,\"\\\\$&\"):e},jn.every=function(e,t,n){var r=Ho(e)?Tt:dr;return n&&vi(e,t,n)&&(t=a),r(e,ii(t,3))},jn.find=go,jn.findIndex=$i,jn.findKey=function(e,t){return Rt(e,ii(t,3),yr)},jn.findLast=vo,jn.findLastIndex=Bi,jn.findLastKey=function(e,t){return Rt(e,ii(t,3),br)},jn.floor=wl,jn.forEach=mo,jn.forEachRight=yo,jn.forIn=function(e,t){return null==e?e:vr(e,ii(t,3),Nu)},jn.forInRight=function(e,t){return null==e?e:mr(e,ii(t,3),Nu)},jn.forOwn=function(e,t){return e&&yr(e,ii(t,3))},jn.forOwnRight=function(e,t){return e&&br(e,ii(t,3))},jn.get=Eu,jn.gt=Io,jn.gte=$o,jn.has=function(e,t){return null!=e&&di(e,t,Er)},jn.hasIn=Cu,jn.head=Wi,jn.identity=nl,jn.includes=function(e,t,n,r){e=Vo(e)?e:Uu(e),n=n&&!r?pu(n):0;var a=e.length;return n<0&&(n=vn(a+n,0)),ou(e)?n<=a&&e.indexOf(t,n)>-1:!!a&&Ut(e,t,n)>-1},jn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=null==n?0:pu(n);return a<0&&(a=vn(r+a,0)),Ut(e,t,a)},jn.inRange=function(e,t,n){return t=du(t),n===a?(n=t,t=0):n=du(n),function(e,t,n){return e>=mn(t,n)&&e<vn(t,n)}(e=gu(e),t,n)},jn.invoke=zu,jn.isArguments=Bo,jn.isArray=Ho,jn.isArrayBuffer=Wo,jn.isArrayLike=Vo,jn.isArrayLikeObject=qo,jn.isBoolean=function(e){return!0===e||!1===e||eu(e)&&xr(e)==m},jn.isBuffer=Qo,jn.isDate=Yo,jn.isElement=function(e){return eu(e)&&1===e.nodeType&&!ru(e)},jn.isEmpty=function(e){if(null==e)return!0;if(Vo(e)&&(Ho(e)||\"string\"==typeof e||\"function\"==typeof e.splice||Qo(e)||lu(e)||Bo(e)))return!e.length;var t=fi(e);if(t==k||t==T)return!e.size;if(wi(e))return!Lr(e).length;for(var n in e)if(Oe.call(e,n))return!1;return!0},jn.isEqual=function(e,t){return Mr(e,t)},jn.isEqualWith=function(e,t,n){var r=(n=\"function\"==typeof n?n:a)?n(e,t):a;return r===a?Mr(e,t,a,n):!!r},jn.isError=Go,jn.isFinite=function(e){return\"number\"==typeof e&&Dt(e)},jn.isFunction=Ko,jn.isInteger=Xo,jn.isLength=Zo,jn.isMap=tu,jn.isMatch=function(e,t){return e===t||Nr(e,t,ui(t))},jn.isMatchWith=function(e,t,n){return n=\"function\"==typeof n?n:a,Nr(e,t,ui(t),n)},jn.isNaN=function(e){return nu(e)&&e!=+e},jn.isNative=function(e){if(bi(e))throw new _e(\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\");return Ar(e)},jn.isNil=function(e){return null==e},jn.isNull=function(e){return null===e},jn.isNumber=nu,jn.isObject=Jo,jn.isObjectLike=eu,jn.isPlainObject=ru,jn.isRegExp=au,jn.isSafeInteger=function(e){return Xo(e)&&e>=-9007199254740991&&e<=f},jn.isSet=iu,jn.isString=ou,jn.isSymbol=uu,jn.isTypedArray=lu,jn.isUndefined=function(e){return e===a},jn.isWeakMap=function(e){return eu(e)&&fi(e)==M},jn.isWeakSet=function(e){return eu(e)&&\"[object WeakSet]\"==xr(e)},jn.join=function(e,t){return null==e?\"\":Wt.call(e,t)},jn.kebabCase=Hu,jn.last=Yi,jn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return n!==a&&(i=(i=pu(n))<0?vn(r+i,0):mn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):jt(e,$t,i,!0)},jn.lowerCase=Wu,jn.lowerFirst=Vu,jn.lt=su,jn.lte=cu,jn.max=function(e){return e&&e.length?pr(e,nl,Sr):a},jn.maxBy=function(e,t){return e&&e.length?pr(e,ii(t,2),Sr):a},jn.mean=function(e){return Bt(e,nl)},jn.meanBy=function(e,t){return Bt(e,ii(t,2))},jn.min=function(e){return e&&e.length?pr(e,nl,Fr):a},jn.minBy=function(e,t){return e&&e.length?pr(e,ii(t,2),Fr):a},jn.stubArray=hl,jn.stubFalse=gl,jn.stubObject=function(){return{}},jn.stubString=function(){return\"\"},jn.stubTrue=function(){return!0},jn.multiply=_l,jn.nth=function(e,t){return e&&e.length?Ir(e,pu(t)):a},jn.noConflict=function(){return ft._===this&&(ft._=je),this},jn.noop=ul,jn.now=Eo,jn.pad=function(e,t,n){e=mu(e);var r=(t=pu(t))?cn(e):0;if(!t||r>=t)return e;var a=(t-r)/2;return $a(pt(a),n)+e+$a(dt(a),n)},jn.padEnd=function(e,t,n){e=mu(e);var r=(t=pu(t))?cn(e):0;return t&&r<t?e+$a(t-r,n):e},jn.padStart=function(e,t,n){e=mu(e);var r=(t=pu(t))?cn(e):0;return t&&r<t?$a(t-r,n)+e:e},jn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),bn(mu(e).replace(re,\"\"),t||0)},jn.random=function(e,t,n){if(n&&\"boolean\"!=typeof n&&vi(e,t,n)&&(t=n=a),n===a&&(\"boolean\"==typeof t?(n=t,t=a):\"boolean\"==typeof e&&(n=e,e=a)),e===a&&t===a?(e=0,t=1):(e=du(e),t===a?(t=e,e=0):t=du(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var i=wn();return mn(e+i*(t-e+ut(\"1e-\"+((i+\"\").length-1))),t)}return Vr(e,t)},jn.reduce=function(e,t,n){var r=Ho(e)?Ot:Vt,a=arguments.length<3;return r(e,ii(t,4),n,a,cr)},jn.reduceRight=function(e,t,n){var r=Ho(e)?Lt:Vt,a=arguments.length<3;return r(e,ii(t,4),n,a,fr)},jn.repeat=function(e,t,n){return t=(n?vi(e,t,n):t===a)?1:pu(t),qr(mu(e),t)},jn.replace=function(){var e=arguments,t=mu(e[0]);return e.length<3?t:t.replace(e[1],e[2])},jn.result=function(e,t,n){var r=-1,i=(t=va(t,e)).length;for(i||(i=1,e=a);++r<i;){var o=null==e?a:e[Fi(t[r])];o===a&&(r=i,o=n),e=Ko(o)?o.call(e):o}return e},jn.round=kl,jn.runInContext=e,jn.sample=function(e){return(Ho(e)?Gn:Yr)(e)},jn.size=function(e){if(null==e)return 0;if(Vo(e))return ou(e)?cn(e):e.length;var t=fi(e);return t==k||t==T?e.size:Lr(e).length},jn.snakeCase=qu,jn.some=function(e,t,n){var r=Ho(e)?Ft:ta;return n&&vi(e,t,n)&&(t=a),r(e,ii(t,3))},jn.sortedIndex=function(e,t){return na(e,t)},jn.sortedIndexBy=function(e,t,n){return ra(e,t,ii(n,2))},jn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=na(e,t);if(r<n&&Uo(e[r],t))return r}return-1},jn.sortedLastIndex=function(e,t){return na(e,t,!0)},jn.sortedLastIndexBy=function(e,t,n){return ra(e,t,ii(n,2),!0)},jn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=na(e,t,!0)-1;if(Uo(e[n],t))return n}return-1},jn.startCase=Qu,jn.startsWith=function(e,t,n){return e=mu(e),n=null==n?0:ir(pu(n),0,e.length),t=oa(t),e.slice(n,n+t.length)==t},jn.subtract=xl,jn.sum=function(e){return e&&e.length?qt(e,nl):0},jn.sumBy=function(e,t){return e&&e.length?qt(e,ii(t,2)):0},jn.template=function(e,t,n){var r=jn.templateSettings;n&&vi(e,t,n)&&(t=a),e=mu(e),t=wu({},t,r,Ga);var i,o,u=wu({},t.imports,r.imports,Ga),l=Mu(u),s=Kt(u,l),c=0,f=t.interpolate||be,d=\"__p += '\",p=Ee((t.escape||be).source+\"|\"+f.source+\"|\"+(f===X?fe:be).source+\"|\"+(t.evaluate||be).source+\"|$\",\"g\"),h=\"//# sourceURL=\"+(Oe.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++rt+\"]\")+\"\\n\";e.replace(p,(function(t,n,r,a,u,l){return r||(r=a),d+=e.slice(c,l).replace(we,nn),n&&(i=!0,d+=\"' +\\n__e(\"+n+\") +\\n'\"),u&&(o=!0,d+=\"';\\n\"+u+\";\\n__p += '\"),r&&(d+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=l+t.length,t})),d+=\"';\\n\";var g=Oe.call(t,\"variable\")&&t.variable;if(g){if(se.test(g))throw new _e(\"Invalid `variable` option passed into `_.template`\")}else d=\"with (obj) {\\n\"+d+\"\\n}\\n\";d=(o?d.replace(B,\"\"):d).replace(H,\"$1\").replace(W,\"$1;\"),d=\"function(\"+(g||\"obj\")+\") {\\n\"+(g?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(i?\", __e = _.escape\":\"\")+(o?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+d+\"return __p\\n}\";var v=Xu((function(){return ke(l,h+\"return \"+d).apply(a,s)}));if(v.source=d,Go(v))throw v;return v},jn.times=function(e,t){if((e=pu(e))<1||e>f)return[];var n=p,r=mn(e,p);t=ii(t),e-=p;for(var a=Qt(r,t);++n<e;)t(n);return a},jn.toFinite=du,jn.toInteger=pu,jn.toLength=hu,jn.toLower=function(e){return mu(e).toLowerCase()},jn.toNumber=gu,jn.toSafeInteger=function(e){return e?ir(pu(e),-9007199254740991,f):0===e?e:0},jn.toString=mu,jn.toUpper=function(e){return mu(e).toUpperCase()},jn.trim=function(e,t,n){if((e=mu(e))&&(n||t===a))return Yt(e);if(!e||!(t=oa(t)))return e;var r=fn(e),i=fn(t);return ya(r,Zt(r,i),Jt(r,i)+1).join(\"\")},jn.trimEnd=function(e,t,n){if((e=mu(e))&&(n||t===a))return e.slice(0,dn(e)+1);if(!e||!(t=oa(t)))return e;var r=fn(e);return ya(r,0,Jt(r,fn(t))+1).join(\"\")},jn.trimStart=function(e,t,n){if((e=mu(e))&&(n||t===a))return e.replace(re,\"\");if(!e||!(t=oa(t)))return e;var r=fn(e);return ya(r,Zt(r,fn(t))).join(\"\")},jn.truncate=function(e,t){var n=30,r=\"...\";if(Jo(t)){var i=\"separator\"in t?t.separator:i;n=\"length\"in t?pu(t.length):n,r=\"omission\"in t?oa(t.omission):r}var o=(e=mu(e)).length;if(rn(e)){var u=fn(e);o=u.length}if(n>=o)return e;var l=n-cn(r);if(l<1)return r;var s=u?ya(u,0,l).join(\"\"):e.slice(0,l);if(i===a)return s+r;if(u&&(l+=s.length-l),au(i)){if(e.slice(l).search(i)){var c,f=s;for(i.global||(i=Ee(i.source,mu(de.exec(i))+\"g\")),i.lastIndex=0;c=i.exec(f);)var d=c.index;s=s.slice(0,d===a?l:d)}}else if(e.indexOf(oa(i),l)!=l){var p=s.lastIndexOf(i);p>-1&&(s=s.slice(0,p))}return s+r},jn.unescape=function(e){return(e=mu(e))&&Q.test(e)?e.replace(V,pn):e},jn.uniqueId=function(e){var t=++Le;return mu(e)+t},jn.upperCase=Yu,jn.upperFirst=Gu,jn.each=mo,jn.eachRight=yo,jn.first=Wi,ol(jn,(vl={},yr(jn,(function(e,t){Oe.call(jn.prototype,t)||(vl[t]=e)})),vl),{chain:!1}),jn.VERSION=\"4.17.21\",Et([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],(function(e){jn[e].placeholder=jn})),Et([\"drop\",\"take\"],(function(e,t){Bn.prototype[e]=function(n){n=n===a?1:vn(pu(n),0);var r=this.__filtered__&&!t?new Bn(this):this.clone();return r.__filtered__?r.__takeCount__=mn(n,r.__takeCount__):r.__views__.push({size:mn(n,p),type:e+(r.__dir__<0?\"Right\":\"\")}),r},Bn.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}})),Et([\"filter\",\"map\",\"takeWhile\"],(function(e,t){var n=t+1,r=1==n||3==n;Bn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ii(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Et([\"head\",\"last\"],(function(e,t){var n=\"take\"+(t?\"Right\":\"\");Bn.prototype[e]=function(){return this[n](1).value()[0]}})),Et([\"initial\",\"tail\"],(function(e,t){var n=\"drop\"+(t?\"\":\"Right\");Bn.prototype[e]=function(){return this.__filtered__?new Bn(this):this[n](1)}})),Bn.prototype.compact=function(){return this.filter(nl)},Bn.prototype.find=function(e){return this.filter(e).head()},Bn.prototype.findLast=function(e){return this.reverse().find(e)},Bn.prototype.invokeMap=Qr((function(e,t){return\"function\"==typeof e?new Bn(this):this.map((function(n){return Pr(n,e,t)}))})),Bn.prototype.reject=function(e){return this.filter(Lo(ii(e)))},Bn.prototype.slice=function(e,t){e=pu(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Bn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==a&&(n=(t=pu(t))<0?n.dropRight(-t):n.take(t-e)),n)},Bn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Bn.prototype.toArray=function(){return this.take(p)},yr(Bn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=jn[r?\"take\"+(\"last\"==t?\"Right\":\"\"):t],o=r||/^find/.test(t);i&&(jn.prototype[t]=function(){var t=this.__wrapped__,u=r?[1]:arguments,l=t instanceof Bn,s=u[0],c=l||Ho(t),f=function(e){var t=i.apply(jn,At([e],u));return r&&d?t[0]:t};c&&n&&\"function\"==typeof s&&1!=s.length&&(l=c=!1);var d=this.__chain__,p=!!this.__actions__.length,h=o&&!d,g=l&&!p;if(!o&&c){t=g?t:new Bn(this);var v=e.apply(t,u);return v.__actions__.push({func:fo,args:[f],thisArg:a}),new $n(v,d)}return h&&g?e.apply(this,u):(v=this.thru(f),h?r?v.value()[0]:v.value():v)})})),Et([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],(function(e){var t=Pe[e],n=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(e);jn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var a=this.value();return t.apply(Ho(a)?a:[],e)}return this[n]((function(n){return t.apply(Ho(n)?n:[],e)}))}})),yr(Bn.prototype,(function(e,t){var n=jn[t];if(n){var r=n.name+\"\";Oe.call(zn,r)||(zn[r]=[]),zn[r].push({name:t,func:n})}})),zn[Ra(a,2).name]=[{name:\"wrapper\",func:a}],Bn.prototype.clone=function(){var e=new Bn(this.__wrapped__);return e.__actions__=Ca(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ca(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ca(this.__views__),e},Bn.prototype.reverse=function(){if(this.__filtered__){var e=new Bn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Bn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ho(e),r=t<0,a=n?e.length:0,i=function(e,t,n){for(var r=-1,a=n.length;++r<a;){var i=n[r],o=i.size;switch(i.type){case\"drop\":e+=o;break;case\"dropRight\":t-=o;break;case\"take\":t=mn(t,e+o);break;case\"takeRight\":e=vn(e,t-o)}}return{start:e,end:t}}(0,a,this.__views__),o=i.start,u=i.end,l=u-o,s=r?u:o-1,c=this.__iteratees__,f=c.length,d=0,p=mn(l,this.__takeCount__);if(!n||!r&&a==l&&p==l)return fa(e,this.__actions__);var h=[];e:for(;l--&&d<p;){for(var g=-1,v=e[s+=t];++g<f;){var m=c[g],y=m.iteratee,b=m.type,w=y(v);if(2==b)v=w;else if(!w){if(1==b)continue e;break e}}h[d++]=v}return h},jn.prototype.at=po,jn.prototype.chain=function(){return co(this)},jn.prototype.commit=function(){return new $n(this.value(),this.__chain__)},jn.prototype.next=function(){this.__values__===a&&(this.__values__=fu(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?a:this.__values__[this.__index__++]}},jn.prototype.plant=function(e){for(var t,n=this;n instanceof In;){var r=Ri(n);r.__index__=0,r.__values__=a,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},jn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Bn){var t=e;return this.__actions__.length&&(t=new Bn(this)),(t=t.reverse()).__actions__.push({func:fo,args:[Zi],thisArg:a}),new $n(t,this.__chain__)}return this.thru(Zi)},jn.prototype.toJSON=jn.prototype.valueOf=jn.prototype.value=function(){return fa(this.__wrapped__,this.__actions__)},jn.prototype.first=jn.prototype.head,Ge&&(jn.prototype[Ge]=function(){return this}),jn}();ft._=hn,(r=function(){return hn}.call(t,n,t,e))===a||(e.exports=r)}.call(this)},869:(e,t)=>{\"use strict\";var n=Symbol.for(\"react.transitional.element\"),r=Symbol.for(\"react.portal\"),a=Symbol.for(\"react.fragment\"),i=Symbol.for(\"react.strict_mode\"),o=Symbol.for(\"react.profiler\"),u=Symbol.for(\"react.consumer\"),l=Symbol.for(\"react.context\"),s=Symbol.for(\"react.forward_ref\"),c=Symbol.for(\"react.suspense\"),f=Symbol.for(\"react.memo\"),d=Symbol.for(\"react.lazy\"),p=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,v={};function m(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}function y(){}function b(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(\"takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},y.prototype=m.prototype;var w=b.prototype=new y;w.constructor=b,g(w,m.prototype),w.isPureReactComponent=!0;var _=Array.isArray,k={H:null,A:null,T:null,S:null,V:null},x=Object.prototype.hasOwnProperty;function S(e,t,r,a,i,o){return r=o.ref,{$$typeof:n,type:e,key:t,ref:void 0!==r?r:null,props:o}}function E(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===n}var C=/\\/+/g;function T(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?(n=\"\"+e.key,r={\"=\":\"=0\",\":\":\"=2\"},\"$\"+n.replace(/[=:]/g,(function(e){return r[e]}))):t.toString(36);var n,r}function P(){}function z(e,t,a,i,o){var u=typeof e;\"undefined\"!==u&&\"boolean\"!==u||(e=null);var l,s,c=!1;if(null===e)c=!0;else switch(u){case\"bigint\":case\"string\":case\"number\":c=!0;break;case\"object\":switch(e.$$typeof){case n:case r:c=!0;break;case d:return z((c=e._init)(e._payload),t,a,i,o)}}if(c)return o=o(e),c=\"\"===i?\".\"+T(e,0):i,_(o)?(a=\"\",null!=c&&(a=c.replace(C,\"$&/\")+\"/\"),z(o,t,a,\"\",(function(e){return e}))):null!=o&&(E(o)&&(l=o,s=a+(null==o.key||e&&e.key===o.key?\"\":(\"\"+o.key).replace(C,\"$&/\")+\"/\")+c,o=S(l.type,s,void 0,0,0,l.props)),t.push(o)),1;c=0;var f,h=\"\"===i?\".\":i+\":\";if(_(e))for(var g=0;g<e.length;g++)c+=z(i=e[g],t,a,u=h+T(i,g),o);else if(\"function\"==typeof(g=null===(f=e)||\"object\"!=typeof f?null:\"function\"==typeof(f=p&&f[p]||f[\"@@iterator\"])?f:null))for(e=g.call(e),g=0;!(i=e.next()).done;)c+=z(i=i.value,t,a,u=h+T(i,g++),o);else if(\"object\"===u){if(\"function\"==typeof e.then)return z(function(e){switch(e.status){case\"fulfilled\":return e.value;case\"rejected\":throw e.reason;default:switch(\"string\"==typeof e.status?e.then(P,P):(e.status=\"pending\",e.then((function(t){\"pending\"===e.status&&(e.status=\"fulfilled\",e.value=t)}),(function(t){\"pending\"===e.status&&(e.status=\"rejected\",e.reason=t)}))),e.status){case\"fulfilled\":return e.value;case\"rejected\":throw e.reason}}throw e}(e),t,a,i,o);throw t=String(e),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===t?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":t)+\"). If you meant to render a collection of children, use an array instead.\")}return c}function M(e,t,n){if(null==e)return e;var r=[],a=0;return z(e,r,\"\",\"\",(function(e){return t.call(n,e,a++)})),r}function N(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var A=\"function\"==typeof reportError?reportError:function(e){if(\"object\"==typeof window&&\"function\"==typeof window.ErrorEvent){var t=new window.ErrorEvent(\"error\",{bubbles:!0,cancelable:!0,message:\"object\"==typeof e&&null!==e&&\"string\"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(\"object\"==typeof process&&\"function\"==typeof process.emit)return void process.emit(\"uncaughtException\",e);console.error(e)};function O(){}t.Children={map:M,forEach:function(e,t,n){M(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return M(e,(function(){t++})),t},toArray:function(e){return M(e,(function(e){return e}))||[]},only:function(e){if(!E(e))throw Error(\"React.Children.only expected to receive a single React element child.\");return e}},t.Component=m,t.Fragment=a,t.Profiler=o,t.PureComponent=b,t.StrictMode=i,t.Suspense=c,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return k.H.useMemoCache(e)}},t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cloneElement=function(e,t,n){if(null==e)throw Error(\"The argument must be a React element, but you passed \"+e+\".\");var r=g({},e.props),a=e.key;if(null!=t)for(i in t.ref,void 0!==t.key&&(a=\"\"+t.key),t)!x.call(t,i)||\"key\"===i||\"__self\"===i||\"__source\"===i||\"ref\"===i&&void 0===t.ref||(r[i]=t[i]);var i=arguments.length-2;if(1===i)r.children=n;else if(1<i){for(var o=Array(i),u=0;u<i;u++)o[u]=arguments[u+2];r.children=o}return S(e.type,a,void 0,0,0,r)},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:u,_context:e},e},t.createElement=function(e,t,n){var r,a={},i=null;if(null!=t)for(r in void 0!==t.key&&(i=\"\"+t.key),t)x.call(t,r)&&\"key\"!==r&&\"__self\"!==r&&\"__source\"!==r&&(a[r]=t[r]);var o=arguments.length-2;if(1===o)a.children=n;else if(1<o){for(var u=Array(o),l=0;l<o;l++)u[l]=arguments[l+2];a.children=u}if(e&&e.defaultProps)for(r in o=e.defaultProps)void 0===a[r]&&(a[r]=o[r]);return S(e,i,void 0,0,0,a)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:s,render:e}},t.isValidElement=E,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:N}},t.memo=function(e,t){return{$$typeof:f,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=k.T,n={};k.T=n;try{var r=e(),a=k.S;null!==a&&a(n,r),\"object\"==typeof r&&null!==r&&\"function\"==typeof r.then&&r.then(O,A)}catch(e){A(e)}finally{k.T=t}},t.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},t.use=function(e){return k.H.use(e)},t.useActionState=function(e,t,n){return k.H.useActionState(e,t,n)},t.useCallback=function(e,t){return k.H.useCallback(e,t)},t.useContext=function(e){return k.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return k.H.useDeferredValue(e,t)},t.useEffect=function(e,t,n){var r=k.H;if(\"function\"==typeof n)throw Error(\"useEffect CRUD overload is not enabled in this build of React.\");return r.useEffect(e,t)},t.useId=function(){return k.H.useId()},t.useImperativeHandle=function(e,t,n){return k.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return k.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return k.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return k.H.useMemo(e,t)},t.useOptimistic=function(e,t){return k.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return k.H.useReducer(e,t,n)},t.useRef=function(e){return k.H.useRef(e)},t.useState=function(e){return k.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return k.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return k.H.useTransition()},t.version=\"19.1.0\"},961:(e,t,n)=>{\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(221)},982:(e,t,n)=>{\"use strict\";e.exports=n(477)}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={id:e,loaded:!1,exports:{}};return n[e].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if(\"object\"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&\"function\"==typeof n.then)return n}var i=Object.create(null);a.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var u=2&r&&n;\"object\"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((e=>o[e]=()=>n[e]));return o.default=()=>n,a.d(i,o),i},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{\"use strict\";var e=a(540),t=a(338),n=a.t(t,2);const r=Math.sqrt(50),i=Math.sqrt(10),o=Math.sqrt(2);function u(e,t,n){const a=(t-e)/Math.max(0,n),l=Math.floor(Math.log10(a)),s=a/Math.pow(10,l),c=s>=r?10:s>=i?5:s>=o?2:1;let f,d,p;return l<0?(p=Math.pow(10,-l)/c,f=Math.round(e*p),d=Math.round(t*p),f/p<e&&++f,d/p>t&&--d,p=-p):(p=Math.pow(10,l)*c,f=Math.round(e/p),d=Math.round(t/p),f*p<e&&++f,d*p>t&&--d),d<f&&.5<=n&&n<2?u(e,t,2*n):[f,d,p]}function l(e,t,n){return u(e=+e,t=+t,n=+n)[2]}function s(e,t,n){n=+n;const r=(t=+t)<(e=+e),a=r?l(t,e,n):l(e,t,n);return(r?-1:1)*(a<0?1/-a:a)}function c(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function f(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function d(e){let t,n,r;function a(e,r,a=0,i=e.length){if(a<i){if(0!==t(r,r))return i;do{const t=a+i>>>1;n(e[t],r)<0?a=t+1:i=t}while(a<i)}return a}return 2!==e.length?(t=c,n=(t,n)=>c(e(t),n),r=(t,n)=>e(t)-n):(t=e===c||e===f?e:p,n=e,r=e),{left:a,center:function(e,t,n=0,i=e.length){const o=a(e,t,n,i-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r,a=0,i=e.length){if(a<i){if(0!==t(r,r))return i;do{const t=a+i>>>1;n(e[t],r)<=0?a=t+1:i=t}while(a<i)}return a}}}function p(){return 0}const h=d(c),g=h.right,v=(h.left,d((function(e){return null===e?NaN:+e})).center,g);function m(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function y(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function b(){}var w=.7,_=1/w,k=\"\\\\s*([+-]?\\\\d+)\\\\s*\",x=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",S=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",E=/^#([0-9a-f]{3,8})$/,C=new RegExp(`^rgb\\\\(${k},${k},${k}\\\\)$`),T=new RegExp(`^rgb\\\\(${S},${S},${S}\\\\)$`),P=new RegExp(`^rgba\\\\(${k},${k},${k},${x}\\\\)$`),z=new RegExp(`^rgba\\\\(${S},${S},${S},${x}\\\\)$`),M=new RegExp(`^hsl\\\\(${x},${S},${S}\\\\)$`),N=new RegExp(`^hsla\\\\(${x},${S},${S},${x}\\\\)$`),A={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function O(){return this.rgb().formatHex()}function L(){return this.rgb().formatRgb()}function F(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=E.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?D(t):3===n?new U(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?R(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?R(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=C.exec(e))?new U(t[1],t[2],t[3],1):(t=T.exec(e))?new U(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=P.exec(e))?R(t[1],t[2],t[3],t[4]):(t=z.exec(e))?R(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=M.exec(e))?V(t[1],t[2]/100,t[3]/100,1):(t=N.exec(e))?V(t[1],t[2]/100,t[3]/100,t[4]):A.hasOwnProperty(e)?D(A[e]):\"transparent\"===e?new U(NaN,NaN,NaN,0):null}function D(e){return new U(e>>16&255,e>>8&255,255&e,1)}function R(e,t,n,r){return r<=0&&(e=t=n=NaN),new U(e,t,n,r)}function j(e,t,n,r){return 1===arguments.length?((a=e)instanceof b||(a=F(a)),a?new U((a=a.rgb()).r,a.g,a.b,a.opacity):new U):new U(e,t,n,null==r?1:r);var a}function U(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function I(){return`#${W(this.r)}${W(this.g)}${W(this.b)}`}function $(){const e=B(this.opacity);return`${1===e?\"rgb(\":\"rgba(\"}${H(this.r)}, ${H(this.g)}, ${H(this.b)}${1===e?\")\":`, ${e})`}`}function B(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function H(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function W(e){return((e=H(e))<16?\"0\":\"\")+e.toString(16)}function V(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Y(e,t,n,r)}function q(e){if(e instanceof Y)return new Y(e.h,e.s,e.l,e.opacity);if(e instanceof b||(e=F(e)),!e)return new Y;if(e instanceof Y)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),i=Math.max(t,n,r),o=NaN,u=i-a,l=(i+a)/2;return u?(o=t===i?(n-r)/u+6*(n<r):n===i?(r-t)/u+2:(t-n)/u+4,u/=l<.5?i+a:2-i-a,o*=60):u=l>0&&l<1?0:o,new Y(o,u,l,e.opacity)}function Q(e,t,n,r){return 1===arguments.length?q(e):new Y(e,t,n,null==r?1:r)}function Y(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function G(e){return(e=(e||0)%360)<0?e+360:e}function K(e){return Math.max(0,Math.min(1,e||0))}function X(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function Z(e,t,n,r,a){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*n+(1+3*e+3*i-3*o)*r+o*a)/6}m(b,F,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:O,formatHex:O,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return q(this).formatHsl()},formatRgb:L,toString:L}),m(U,j,y(b,{brighter(e){return e=null==e?_:Math.pow(_,e),new U(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?w:Math.pow(w,e),new U(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new U(H(this.r),H(this.g),H(this.b),B(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:I,formatHex:I,formatHex8:function(){return`#${W(this.r)}${W(this.g)}${W(this.b)}${W(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:$,toString:$})),m(Y,Q,y(b,{brighter(e){return e=null==e?_:Math.pow(_,e),new Y(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?w:Math.pow(w,e),new Y(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new U(X(e>=240?e-240:e+120,a,r),X(e,a,r),X(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new Y(G(this.h),K(this.s),K(this.l),B(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=B(this.opacity);return`${1===e?\"hsl(\":\"hsla(\"}${G(this.h)}, ${100*K(this.s)}%, ${100*K(this.l)}%${1===e?\")\":`, ${e})`}`}}));const J=e=>()=>e;function ee(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):J(isNaN(e)?t:e)}const te=function e(t){var n=function(e){return 1==(e=+e)?ee:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):J(isNaN(t)?n:t)}}(t);function r(e,t){var r=n((e=j(e)).r,(t=j(t)).r),a=n(e.g,t.g),i=n(e.b,t.b),o=ee(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=a(t),e.b=i(t),e.opacity=o(t),e+\"\"}}return r.gamma=e,r}(1);function ne(e){return function(t){var n,r,a=t.length,i=new Array(a),o=new Array(a),u=new Array(a);for(n=0;n<a;++n)r=j(t[n]),i[n]=r.r||0,o[n]=r.g||0,u[n]=r.b||0;return i=e(i),o=e(o),u=e(u),r.opacity=1,function(e){return r.r=i(e),r.g=o(e),r.b=u(e),r+\"\"}}}function re(e,t){var n,r=t?t.length:0,a=e?Math.min(r,e.length):0,i=new Array(a),o=new Array(r);for(n=0;n<a;++n)i[n]=fe(e[n],t[n]);for(;n<r;++n)o[n]=t[n];return function(e){for(n=0;n<a;++n)o[n]=i[n](e);return o}}function ae(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function ie(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function oe(e,t){var n,r={},a={};for(n in null!==e&&\"object\"==typeof e||(e={}),null!==t&&\"object\"==typeof t||(t={}),t)n in e?r[n]=fe(e[n],t[n]):a[n]=t[n];return function(e){for(n in r)a[n]=r[n](e);return a}}ne((function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),a=e[r],i=e[r+1],o=r>0?e[r-1]:2*a-i,u=r<t-1?e[r+2]:2*i-a;return Z((n-r/t)*t,o,a,i,u)}})),ne((function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),a=e[(r+t-1)%t],i=e[r%t],o=e[(r+1)%t],u=e[(r+2)%t];return Z((n-r/t)*t,a,i,o,u)}}));var ue=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,le=new RegExp(ue.source,\"g\");function se(e,t){var n,r,a,i=ue.lastIndex=le.lastIndex=0,o=-1,u=[],l=[];for(e+=\"\",t+=\"\";(n=ue.exec(e))&&(r=le.exec(t));)(a=r.index)>i&&(a=t.slice(i,a),u[o]?u[o]+=a:u[++o]=a),(n=n[0])===(r=r[0])?u[o]?u[o]+=r:u[++o]=r:(u[++o]=null,l.push({i:o,x:ie(n,r)})),i=le.lastIndex;return i<t.length&&(a=t.slice(i),u[o]?u[o]+=a:u[++o]=a),u.length<2?l[0]?function(e){return function(t){return e(t)+\"\"}}(l[0].x):function(e){return function(){return e}}(t):(t=l.length,function(e){for(var n,r=0;r<t;++r)u[(n=l[r]).i]=n.x(e);return u.join(\"\")})}function ce(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,a=t.slice();return function(i){for(n=0;n<r;++n)a[n]=e[n]*(1-i)+t[n]*i;return a}}function fe(e,t){var n,r,a=typeof t;return null==t||\"boolean\"===a?J(t):(\"number\"===a?ie:\"string\"===a?(n=F(t))?(t=n,te):se:t instanceof F?te:t instanceof Date?ae:(r=t,!ArrayBuffer.isView(r)||r instanceof DataView?Array.isArray(t)?re:\"function\"!=typeof t.valueOf&&\"function\"!=typeof t.toString||isNaN(t)?oe:ie:ce))(e,t)}function de(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function pe(e){return+e}var he=[0,1];function ge(e){return e}function ve(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:(n=isNaN(t)?NaN:.5,function(){return n});var n}function me(e,t,n){var r=e[0],a=e[1],i=t[0],o=t[1];return a<r?(r=ve(a,r),i=n(o,i)):(r=ve(r,a),i=n(i,o)),function(e){return i(r(e))}}function ye(e,t,n){var r=Math.min(e.length,t.length)-1,a=new Array(r),i=new Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)a[o]=ve(e[o],e[o+1]),i[o]=n(t[o],t[o+1]);return function(t){var n=v(e,t,1,r)-1;return i[n](a[n](t))}}function be(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function we(){return function(){var e,t,n,r,a,i,o=he,u=he,l=fe,s=ge;function c(){var e,t,n,l=Math.min(o.length,u.length);return s!==ge&&(e=o[0],t=o[l-1],e>t&&(n=e,e=t,t=n),s=function(n){return Math.max(e,Math.min(t,n))}),r=l>2?ye:me,a=i=null,f}function f(t){return null==t||isNaN(t=+t)?n:(a||(a=r(o.map(e),u,l)))(e(s(t)))}return f.invert=function(n){return s(t((i||(i=r(u,o.map(e),ie)))(n)))},f.domain=function(e){return arguments.length?(o=Array.from(e,pe),c()):o.slice()},f.range=function(e){return arguments.length?(u=Array.from(e),c()):u.slice()},f.rangeRound=function(e){return u=Array.from(e),l=de,c()},f.clamp=function(e){return arguments.length?(s=!!e||ge,c()):s!==ge},f.interpolate=function(e){return arguments.length?(l=e,c()):l},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,c()}}()(ge,ge)}function _e(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var ke,xe=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function Se(e){if(!(t=xe.exec(e)))throw new Error(\"invalid format: \"+e);var t;return new Ee({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Ee(e){this.fill=void 0===e.fill?\" \":e.fill+\"\",this.align=void 0===e.align?\">\":e.align+\"\",this.sign=void 0===e.sign?\"-\":e.sign+\"\",this.symbol=void 0===e.symbol?\"\":e.symbol+\"\",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?\"\":e.type+\"\"}function Ce(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(\"e\"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Te(e){return(e=Ce(Math.abs(e)))?e[1]:NaN}function Pe(e,t){var n=Ce(e,t);if(!n)return e+\"\";var r=n[0],a=n[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+r:r.length>a+1?r.slice(0,a+1)+\".\"+r.slice(a+1):r+new Array(a-r.length+2).join(\"0\")}Se.prototype=Ee.prototype,Ee.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};const ze={\"%\":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+\"\",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(\"en\").replace(/,/g,\"\"):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Pe(100*e,t),r:Pe,s:function(e,t){var n=Ce(e,t);if(!n)return e+\"\";var r=n[0],a=n[1],i=a-(ke=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join(\"0\"):i>0?r.slice(0,i)+\".\"+r.slice(i):\"0.\"+new Array(1-i).join(\"0\")+Ce(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Me(e){return e}var Ne,Ae,Oe,Le=Array.prototype.map,Fe=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function De(e){var t=e.domain;return e.ticks=function(e){var n=t();return function(e,t,n){if(!((n=+n)>0))return[];if((e=+e)==(t=+t))return[e];const r=t<e,[a,i,o]=r?u(t,e,n):u(e,t,n);if(!(i>=a))return[];const l=i-a+1,s=new Array(l);if(r)if(o<0)for(let e=0;e<l;++e)s[e]=(i-e)/-o;else for(let e=0;e<l;++e)s[e]=(i-e)*o;else if(o<0)for(let e=0;e<l;++e)s[e]=(a+e)/-o;else for(let e=0;e<l;++e)s[e]=(a+e)*o;return s}(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return function(e,t,n,r){var a,i=s(e,t,n);switch((r=Se(null==r?\",f\":r)).type){case\"s\":var o=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(a=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Te(t)/3)))-Te(Math.abs(e)))}(i,o))||(r.precision=a),Oe(r,o);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=r.precision||isNaN(a=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Te(t)-Te(e))+1}(i,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=a-(\"e\"===r.type));break;case\"f\":case\"%\":null!=r.precision||isNaN(a=function(e){return Math.max(0,-Te(Math.abs(e)))}(i))||(r.precision=a-2*(\"%\"===r.type))}return Ae(r)}(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,a,i=t(),o=0,u=i.length-1,s=i[o],c=i[u],f=10;for(c<s&&(a=s,s=c,c=a,a=o,o=u,u=a);f-- >0;){if((a=l(s,c,n))===r)return i[o]=s,i[u]=c,t(i);if(a>0)s=Math.floor(s/a)*a,c=Math.ceil(c/a)*a;else{if(!(a<0))break;s=Math.ceil(s*a)/a,c=Math.floor(c*a)/a}r=a}return e},e}function Re(){var e=we();return e.copy=function(){return be(e,Re())},_e.apply(e,arguments),De(e)}Ne=function(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?Me:(t=Le.call(e.grouping,Number),n=e.thousands+\"\",function(e,r){for(var a=e.length,i=[],o=0,u=t[0],l=0;a>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),i.push(e.substring(a-=u,a+u)),!((l+=u+1)>r));)u=t[o=(o+1)%t.length];return i.reverse().join(n)}),a=void 0===e.currency?\"\":e.currency[0]+\"\",i=void 0===e.currency?\"\":e.currency[1]+\"\",o=void 0===e.decimal?\".\":e.decimal+\"\",u=void 0===e.numerals?Me:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(Le.call(e.numerals,String)),l=void 0===e.percent?\"%\":e.percent+\"\",s=void 0===e.minus?\"−\":e.minus+\"\",c=void 0===e.nan?\"NaN\":e.nan+\"\";function f(e){var t=(e=Se(e)).fill,n=e.align,f=e.sign,d=e.symbol,p=e.zero,h=e.width,g=e.comma,v=e.precision,m=e.trim,y=e.type;\"n\"===y?(g=!0,y=\"g\"):ze[y]||(void 0===v&&(v=12),m=!0,y=\"g\"),(p||\"0\"===t&&\"=\"===n)&&(p=!0,t=\"0\",n=\"=\");var b=\"$\"===d?a:\"#\"===d&&/[boxX]/.test(y)?\"0\"+y.toLowerCase():\"\",w=\"$\"===d?i:/[%p]/.test(y)?l:\"\",_=ze[y],k=/[defgprs%]/.test(y);function x(e){var a,i,l,d=b,x=w;if(\"c\"===y)x=_(e)+x,e=\"\";else{var S=(e=+e)<0||1/e<0;if(e=isNaN(e)?c:_(Math.abs(e),v),m&&(e=function(e){e:for(var t,n=e.length,r=1,a=-1;r<n;++r)switch(e[r]){case\".\":a=t=r;break;case\"0\":0===a&&(a=r),t=r;break;default:if(!+e[r])break e;a>0&&(a=0)}return a>0?e.slice(0,a)+e.slice(t+1):e}(e)),S&&0==+e&&\"+\"!==f&&(S=!1),d=(S?\"(\"===f?f:s:\"-\"===f||\"(\"===f?\"\":f)+d,x=(\"s\"===y?Fe[8+ke/3]:\"\")+x+(S&&\"(\"===f?\")\":\"\"),k)for(a=-1,i=e.length;++a<i;)if(48>(l=e.charCodeAt(a))||l>57){x=(46===l?o+e.slice(a+1):e.slice(a))+x,e=e.slice(0,a);break}}g&&!p&&(e=r(e,1/0));var E=d.length+e.length+x.length,C=E<h?new Array(h-E+1).join(t):\"\";switch(g&&p&&(e=r(C+e,C.length?h-x.length:1/0),C=\"\"),n){case\"<\":e=d+e+x+C;break;case\"=\":e=d+C+e+x;break;case\"^\":e=C.slice(0,E=C.length>>1)+d+e+x+C.slice(E);break;default:e=C+d+e+x}return u(e)}return v=void 0===v?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),x.toString=function(){return e+\"\"},x}return{format:f,formatPrefix:function(e,t){var n=f(((e=Se(e)).type=\"f\",e)),r=3*Math.max(-8,Math.min(8,Math.floor(Te(t)/3))),a=Math.pow(10,-r),i=Fe[8+r/3];return function(e){return n(a*e)+i}}}}({thousands:\",\",grouping:[3],currency:[\"$\",\"\"]}),Ae=Ne.format,Oe=Ne.formatPrefix;var je=a(543);const Ue={colors:{RdBu:[\"rgb(255, 13, 87)\",\"rgb(30, 136, 229)\"],GnPR:[\"rgb(24, 196, 93)\",\"rgb(124, 82, 255)\"],CyPU:[\"#0099C6\",\"#990099\"],PkYg:[\"#DD4477\",\"#66AA00\"],DrDb:[\"#B82E2E\",\"#316395\"],LpLb:[\"#994499\",\"#22AA99\"],YlDp:[\"#AAAA11\",\"#6633CC\"],OrId:[\"#E67300\",\"#3E0099\"]},gray:\"#777\"};function Ie(e){return Ie=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Ie(e)}function $e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,Be(r.key),r)}}function Be(e){var t=function(e){if(\"object\"!=Ie(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,\"string\");if(\"object\"!=Ie(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==Ie(t)?t:t+\"\"}function He(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(He=function(){return!!e})()}function We(e){return We=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},We(e)}function Ve(e,t){return Ve=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ve(e,t)}var qe=function(t){function n(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,n),(e=function(e,t,n){return t=We(t),function(e,t){if(t&&(\"object\"==Ie(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(e,He()?Reflect.construct(t,n||[],We(e).constructor):t.apply(e,n))}(this,n)).width=100,window.lastSimpleListInstance=e,e.effectFormat=Ae(\".2\"),e}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Ve(e,t)}(n,t),r=n,(a=[{key:\"render\",value:function(){var t=this,n=void 0;\"string\"==typeof this.props.plot_cmap?this.props.plot_cmap in Ue.colors?n=Ue.colors[this.props.plot_cmap]:(console.log(\"Invalid color map name, reverting to default.\"),n=Ue.colors.RdBu):Array.isArray(this.props.plot_cmap)&&(n=this.props.plot_cmap),console.log(this.props.features,this.props.features),this.scale=Re().domain([0,(0,je.max)((0,je.map)(this.props.features,(function(e){return Math.abs(e.effect)})))]).range([0,this.width]);var r=(0,je.reverse)((0,je.sortBy)(Object.keys(this.props.features),(function(e){return Math.abs(t.props.features[e].effect)}))).map((function(r){var a,i,o=t.props.features[r],u=t.props.featureNames[r],l={width:t.scale(Math.abs(o.effect)),height:\"20px\",background:o.effect<0?n[0]:n[1],display:\"inline-block\"},s={lineHeight:\"20px\",display:\"inline-block\",width:t.width+40,verticalAlign:\"top\",marginRight:\"5px\",textAlign:\"right\"},c={lineHeight:\"20px\",display:\"inline-block\",width:t.width+40,verticalAlign:\"top\",marginLeft:\"5px\"};return o.effect<0?(i=e.createElement(\"span\",{style:c},u),s.width=40+t.width-t.scale(Math.abs(o.effect)),s.textAlign=\"right\",s.color=\"#999\",s.fontSize=\"13px\",a=e.createElement(\"span\",{style:s},t.effectFormat(o.effect))):(s.textAlign=\"right\",a=e.createElement(\"span\",{style:s},u),c.width=40,c.textAlign=\"left\",c.color=\"#999\",c.fontSize=\"13px\",i=e.createElement(\"span\",{style:c},t.effectFormat(o.effect))),e.createElement(\"div\",{key:r,style:{marginTop:\"2px\"}},a,e.createElement(\"div\",{style:l}),i)}));return e.createElement(\"span\",null,r)}}])&&$e(r.prototype,a),Object.defineProperty(r,\"prototype\",{writable:!1}),r;var r,a}(e.Component);qe.defaultProps={plot_cmap:\"RdBu\"};const Qe=qe;function Ye(){}function Ge(e){return null==e?Ye:function(){return this.querySelector(e)}}function Ke(){return[]}function Xe(e){return function(t){return t.matches(e)}}var Ze=Array.prototype.find;function Je(){return this.firstElementChild}var et=Array.prototype.filter;function tt(){return Array.from(this.children)}function nt(e){return new Array(e.length)}function rt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function at(e,t,n,r,a,i){for(var o,u=0,l=t.length,s=i.length;u<s;++u)(o=t[u])?(o.__data__=i[u],r[u]=o):n[u]=new rt(e,i[u]);for(;u<l;++u)(o=t[u])&&(a[u]=o)}function it(e,t,n,r,a,i,o){var u,l,s,c=new Map,f=t.length,d=i.length,p=new Array(f);for(u=0;u<f;++u)(l=t[u])&&(p[u]=s=o.call(l,l.__data__,u,t)+\"\",c.has(s)?a[u]=l:c.set(s,l));for(u=0;u<d;++u)s=o.call(e,i[u],u,i)+\"\",(l=c.get(s))?(r[u]=l,l.__data__=i[u],c.delete(s)):n[u]=new rt(e,i[u]);for(u=0;u<f;++u)(l=t[u])&&c.get(p[u])===l&&(a[u]=l)}function ot(e){return e.__data__}function ut(e){return\"object\"==typeof e&&\"length\"in e?e:Array.from(e)}function lt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}rt.prototype={constructor:rt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var st=\"http://www.w3.org/1999/xhtml\";const ct={svg:\"http://www.w3.org/2000/svg\",xhtml:st,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function ft(e){var t=e+=\"\",n=t.indexOf(\":\");return n>=0&&\"xmlns\"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),ct.hasOwnProperty(t)?{space:ct[t],local:e}:e}function dt(e){return function(){this.removeAttribute(e)}}function pt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ht(e,t){return function(){this.setAttribute(e,t)}}function gt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function vt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function mt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function yt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function bt(e){return function(){this.style.removeProperty(e)}}function wt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function _t(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function kt(e){return function(){delete this[e]}}function xt(e,t){return function(){this[e]=t}}function St(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Et(e){return e.trim().split(/^|\\s+/)}function Ct(e){return e.classList||new Tt(e)}function Tt(e){this._node=e,this._names=Et(e.getAttribute(\"class\")||\"\")}function Pt(e,t){for(var n=Ct(e),r=-1,a=t.length;++r<a;)n.add(t[r])}function zt(e,t){for(var n=Ct(e),r=-1,a=t.length;++r<a;)n.remove(t[r])}function Mt(e){return function(){Pt(this,e)}}function Nt(e){return function(){zt(this,e)}}function At(e,t){return function(){(t.apply(this,arguments)?Pt:zt)(this,e)}}function Ot(){this.textContent=\"\"}function Lt(e){return function(){this.textContent=e}}function Ft(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?\"\":t}}function Dt(){this.innerHTML=\"\"}function Rt(e){return function(){this.innerHTML=e}}function jt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?\"\":t}}function Ut(){this.nextSibling&&this.parentNode.appendChild(this)}function It(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $t(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===st&&t.documentElement.namespaceURI===st?t.createElement(e):t.createElementNS(n,e)}}function Bt(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ht(e){var t=ft(e);return(t.local?Bt:$t)(t)}function Wt(){return null}function Vt(){var e=this.parentNode;e&&e.removeChild(this)}function qt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Qt(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Yt(e){return function(){var t=this.__on;if(t){for(var n,r=0,a=-1,i=t.length;r<i;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++a]=n:this.removeEventListener(n.type,n.listener,n.options);++a?t.length=a:delete this.__on}}}function Gt(e,t,n){return function(){var r,a=this.__on,i=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(a)for(var o=0,u=a.length;o<u;++o)if((r=a[o]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),void(r.value=t);this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},a?a.push(r):this.__on=[r]}}function Kt(e,t,n){var r=yt(e),a=r.CustomEvent;\"function\"==typeof a?a=new a(t,n):(a=r.document.createEvent(\"Event\"),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}function Xt(e,t){return function(){return Kt(this,e,t)}}function Zt(e,t){return function(){return Kt(this,e,t.apply(this,arguments))}}Tt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(e){return this._names.indexOf(e)>=0}};var Jt=[null];function en(e,t){this._groups=e,this._parents=t}function tn(e){return\"string\"==typeof e?new en([[document.querySelector(e)]],[document.documentElement]):new en([[e]],Jt)}function nn(e){return e}en.prototype=function(){return new en([[document.documentElement]],Jt)}.prototype={constructor:en,select:function(e){\"function\"!=typeof e&&(e=Ge(e));for(var t=this._groups,n=t.length,r=new Array(n),a=0;a<n;++a)for(var i,o,u=t[a],l=u.length,s=r[a]=new Array(l),c=0;c<l;++c)(i=u[c])&&(o=e.call(i,i.__data__,c,u))&&(\"__data__\"in i&&(o.__data__=i.__data__),s[c]=o);return new en(r,this._parents)},selectAll:function(e){e=\"function\"==typeof e?function(e){return function(){return null==(t=e.apply(this,arguments))?[]:Array.isArray(t)?t:Array.from(t);var t}}(e):function(e){return null==e?Ke:function(){return this.querySelectorAll(e)}}(e);for(var t=this._groups,n=t.length,r=[],a=[],i=0;i<n;++i)for(var o,u=t[i],l=u.length,s=0;s<l;++s)(o=u[s])&&(r.push(e.call(o,o.__data__,s,u)),a.push(o));return new en(r,a)},selectChild:function(e){return this.select(null==e?Je:function(e){return function(){return Ze.call(this.children,e)}}(\"function\"==typeof e?e:Xe(e)))},selectChildren:function(e){return this.selectAll(null==e?tt:function(e){return function(){return et.call(this.children,e)}}(\"function\"==typeof e?e:Xe(e)))},filter:function(e){\"function\"!=typeof e&&(e=function(e){return function(){return this.matches(e)}}(e));for(var t=this._groups,n=t.length,r=new Array(n),a=0;a<n;++a)for(var i,o=t[a],u=o.length,l=r[a]=[],s=0;s<u;++s)(i=o[s])&&e.call(i,i.__data__,s,o)&&l.push(i);return new en(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,ot);var n,r=t?it:at,a=this._parents,i=this._groups;\"function\"!=typeof e&&(n=e,e=function(){return n});for(var o=i.length,u=new Array(o),l=new Array(o),s=new Array(o),c=0;c<o;++c){var f=a[c],d=i[c],p=d.length,h=ut(e.call(f,f&&f.__data__,c,a)),g=h.length,v=l[c]=new Array(g),m=u[c]=new Array(g);r(f,d,v,m,s[c]=new Array(p),h,t);for(var y,b,w=0,_=0;w<g;++w)if(y=v[w]){for(w>=_&&(_=w+1);!(b=m[_])&&++_<g;);y._next=b||null}}return(u=new en(u,a))._enter=l,u._exit=s,u},enter:function(){return new en(this._enter||this._groups.map(nt),this._parents)},exit:function(){return new en(this._exit||this._groups.map(nt),this._parents)},join:function(e,t,n){var r=this.enter(),a=this,i=this.exit();return\"function\"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+\"\"),null!=t&&(a=t(a))&&(a=a.selection()),null==n?i.remove():n(i),r&&a?r.merge(a).order():a},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,a=n.length,i=r.length,o=Math.min(a,i),u=new Array(a),l=0;l<o;++l)for(var s,c=n[l],f=r[l],d=c.length,p=u[l]=new Array(d),h=0;h<d;++h)(s=c[h]||f[h])&&(p[h]=s);for(;l<a;++l)u[l]=n[l];return new en(u,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,a=e[t],i=a.length-1,o=a[i];--i>=0;)(r=a[i])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=lt);for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o,u=n[i],l=u.length,s=a[i]=new Array(l),c=0;c<l;++c)(o=u[c])&&(s[c]=o);s.sort(t)}return new en(a,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var a,i=t[n],o=0,u=i.length;o<u;++o)(a=i[o])&&e.call(a,a.__data__,o,i);return this},attr:function(e,t){var n=ft(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?pt:dt:\"function\"==typeof t?n.local?mt:vt:n.local?gt:ht)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?bt:\"function\"==typeof t?_t:wt)(e,t,null==n?\"\":n)):function(e,t){return e.style.getPropertyValue(t)||yt(e).getComputedStyle(e,null).getPropertyValue(t)}(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?kt:\"function\"==typeof t?St:xt)(e,t)):this.node()[e]},classed:function(e,t){var n=Et(e+\"\");if(arguments.length<2){for(var r=Ct(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((\"function\"==typeof t?At:t?Mt:Nt)(n,t))},text:function(e){return arguments.length?this.each(null==e?Ot:(\"function\"==typeof e?Ft:Lt)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Dt:(\"function\"==typeof e?jt:Rt)(e)):this.node().innerHTML},raise:function(){return this.each(Ut)},lower:function(){return this.each(It)},append:function(e){var t=\"function\"==typeof e?e:Ht(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n=\"function\"==typeof e?e:Ht(e),r=null==t?Wt:\"function\"==typeof t?t:Ge(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(Vt)},clone:function(e){return this.select(e?Qt:qt)},datum:function(e){return arguments.length?this.property(\"__data__\",e):this.node().__data__},on:function(e,t,n){var r,a,i=function(e){return e.trim().split(/^|\\s+/).map((function(e){var t=\"\",n=e.indexOf(\".\");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}(e+\"\"),o=i.length;if(!(arguments.length<2)){for(u=t?Gt:Yt,r=0;r<o;++r)this.each(u(i[r],t,n));return this}var u=this.node().__on;if(u)for(var l,s=0,c=u.length;s<c;++s)for(r=0,l=u[s];r<o;++r)if((a=i[r]).type===l.type&&a.name===l.name)return l.value},dispatch:function(e,t){return this.each((\"function\"==typeof t?Zt:Xt)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,a=e[t],i=0,o=a.length;i<o;++i)(r=a[i])&&(yield r)}};var rn=1e-6;function an(e){return\"translate(\"+e+\",0)\"}function on(e){return\"translate(0,\"+e+\")\"}function un(e){return t=>+e(t)}function ln(e,t){return t=Math.max(0,e.bandwidth()-2*t)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function sn(){return!this.__axis}function cn(e,t){var n=[],r=null,a=null,i=6,o=6,u=3,l=\"undefined\"!=typeof window&&window.devicePixelRatio>1?0:.5,s=1===e||4===e?-1:1,c=4===e||2===e?\"x\":\"y\",f=1===e||3===e?an:on;function d(d){var p=null==r?t.ticks?t.ticks.apply(t,n):t.domain():r,h=null==a?t.tickFormat?t.tickFormat.apply(t,n):nn:a,g=Math.max(i,0)+u,v=t.range(),m=+v[0]+l,y=+v[v.length-1]+l,b=(t.bandwidth?ln:un)(t.copy(),l),w=d.selection?d.selection():d,_=w.selectAll(\".domain\").data([null]),k=w.selectAll(\".tick\").data(p,t).order(),x=k.exit(),S=k.enter().append(\"g\").attr(\"class\",\"tick\"),E=k.select(\"line\"),C=k.select(\"text\");_=_.merge(_.enter().insert(\"path\",\".tick\").attr(\"class\",\"domain\").attr(\"stroke\",\"currentColor\")),k=k.merge(S),E=E.merge(S.append(\"line\").attr(\"stroke\",\"currentColor\").attr(c+\"2\",s*i)),C=C.merge(S.append(\"text\").attr(\"fill\",\"currentColor\").attr(c,s*g).attr(\"dy\",1===e?\"0em\":3===e?\"0.71em\":\"0.32em\")),d!==w&&(_=_.transition(d),k=k.transition(d),E=E.transition(d),C=C.transition(d),x=x.transition(d).attr(\"opacity\",rn).attr(\"transform\",(function(e){return isFinite(e=b(e))?f(e+l):this.getAttribute(\"transform\")})),S.attr(\"opacity\",rn).attr(\"transform\",(function(e){var t=this.parentNode.__axis;return f((t&&isFinite(t=t(e))?t:b(e))+l)}))),x.remove(),_.attr(\"d\",4===e||2===e?o?\"M\"+s*o+\",\"+m+\"H\"+l+\"V\"+y+\"H\"+s*o:\"M\"+l+\",\"+m+\"V\"+y:o?\"M\"+m+\",\"+s*o+\"V\"+l+\"H\"+y+\"V\"+s*o:\"M\"+m+\",\"+l+\"H\"+y),k.attr(\"opacity\",1).attr(\"transform\",(function(e){return f(b(e)+l)})),E.attr(c+\"2\",s*i),C.attr(c,s*g).text(h),w.filter(sn).attr(\"fill\",\"none\").attr(\"font-size\",10).attr(\"font-family\",\"sans-serif\").attr(\"text-anchor\",2===e?\"start\":4===e?\"end\":\"middle\"),w.each((function(){this.__axis=b}))}return d.scale=function(e){return arguments.length?(t=e,d):t},d.ticks=function(){return n=Array.from(arguments),d},d.tickArguments=function(e){return arguments.length?(n=null==e?[]:Array.from(e),d):n.slice()},d.tickValues=function(e){return arguments.length?(r=null==e?null:Array.from(e),d):r&&r.slice()},d.tickFormat=function(e){return arguments.length?(a=e,d):a},d.tickSize=function(e){return arguments.length?(i=o=+e,d):i},d.tickSizeInner=function(e){return arguments.length?(i=+e,d):i},d.tickSizeOuter=function(e){return arguments.length?(o=+e,d):o},d.tickPadding=function(e){return arguments.length?(u=+e,d):u},d.offset=function(e){return arguments.length?(l=+e,d):l},d}function fn(e){return cn(3,e)}function dn(e){return function(){return e}}function pn(e){this._context=e}function hn(e){return new pn(e)}Array.prototype.slice,pn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};const gn=Math.PI,vn=2*gn,mn=1e-6,yn=vn-mn;function bn(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}class wn{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=\"\",this._append=null==e?bn:function(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return bn;const n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,a,i){this._append`C${+e},${+t},${+n},${+r},${this._x1=+a},${this._y1=+i}`}arcTo(e,t,n,r,a){if(e=+e,t=+t,n=+n,r=+r,(a=+a)<0)throw new Error(`negative radius: ${a}`);let i=this._x1,o=this._y1,u=n-e,l=r-t,s=i-e,c=o-t,f=s*s+c*c;if(null===this._x1)this._append`M${this._x1=e},${this._y1=t}`;else if(f>mn)if(Math.abs(c*u-l*s)>mn&&a){let d=n-i,p=r-o,h=u*u+l*l,g=d*d+p*p,v=Math.sqrt(h),m=Math.sqrt(f),y=a*Math.tan((gn-Math.acos((h+f-g)/(2*v*m)))/2),b=y/m,w=y/v;Math.abs(b-1)>mn&&this._append`L${e+b*s},${t+b*c}`,this._append`A${a},${a},0,0,${+(c*d>s*p)},${this._x1=e+w*u},${this._y1=t+w*l}`}else this._append`L${this._x1=e},${this._y1=t}`}arc(e,t,n,r,a,i){if(e=+e,t=+t,i=!!i,(n=+n)<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(r),u=n*Math.sin(r),l=e+o,s=t+u,c=1^i,f=i?r-a:a-r;null===this._x1?this._append`M${l},${s}`:(Math.abs(this._x1-l)>mn||Math.abs(this._y1-s)>mn)&&this._append`L${l},${s}`,n&&(f<0&&(f=f%vn+vn),f>yn?this._append`A${n},${n},0,1,${c},${e-o},${t-u}A${n},${n},0,1,${c},${this._x1=l},${this._y1=s}`:f>mn&&this._append`A${n},${n},0,${+(f>=gn)},${c},${this._x1=e+n*Math.cos(a)},${this._y1=t+n*Math.sin(a)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function _n(e){return e[0]}function kn(e){return e[1]}function xn(e,t){var n=dn(!0),r=null,a=hn,i=null,o=function(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{const e=Math.floor(n);if(!(e>=0))throw new RangeError(`invalid digits: ${n}`);t=e}return e},()=>new wn(t)}(u);function u(u){var l,s,c,f=(u=function(e){return\"object\"==typeof e&&\"length\"in e?e:Array.from(e)}(u)).length,d=!1;for(null==r&&(i=a(c=o())),l=0;l<=f;++l)!(l<f&&n(s=u[l],l,u))===d&&((d=!d)?i.lineStart():i.lineEnd()),d&&i.point(+e(s,l,u),+t(s,l,u));if(c)return i=null,c+\"\"||null}return e=\"function\"==typeof e?e:void 0===e?_n:dn(e),t=\"function\"==typeof t?t:void 0===t?kn:dn(t),u.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:dn(+t),u):e},u.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:dn(+e),u):t},u.defined=function(e){return arguments.length?(n=\"function\"==typeof e?e:dn(!!e),u):n},u.curve=function(e){return arguments.length?(a=e,null!=r&&(i=a(r)),u):a},u.context=function(e){return arguments.length?(null==e?r=i=null:i=a(r=e),u):r},u}function Sn(e){return Sn=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Sn(e)}function En(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,Cn(r.key),r)}}function Cn(e){var t=function(e){if(\"object\"!=Sn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,\"string\");if(\"object\"!=Sn(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==Sn(t)?t:t+\"\"}function Tn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Tn=function(){return!!e})()}function Pn(e){return Pn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Pn(e)}function zn(e,t){return zn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},zn(e,t)}var Mn=function(t){function n(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,n),e=function(e,t,n){return t=Pn(t),function(e,t){if(t&&(\"object\"==Sn(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(e,Tn()?Reflect.construct(t,n||[],Pn(e).constructor):t.apply(e,n))}(this,n),window.lastAdditiveForceVisualizer=e,e.effectFormat=Ae(\".2\"),e.redraw=(0,je.debounce)((function(){return e.draw()}),200),e}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&zn(e,t)}(n,t),r=n,(a=[{key:\"componentDidMount\",value:function(){var e=this;this.mainGroup=this.svg.append(\"g\"),this.axisElement=this.mainGroup.append(\"g\").attr(\"transform\",\"translate(0,35)\").attr(\"class\",\"force-bar-axis\"),this.onTopGroup=this.svg.append(\"g\"),this.baseValueTitle=this.svg.append(\"text\"),this.joinPointLine=this.svg.append(\"line\"),this.joinPointLabelOutline=this.svg.append(\"text\"),this.joinPointLabel=this.svg.append(\"text\"),this.joinPointTitleLeft=this.svg.append(\"text\"),this.joinPointTitleLeftArrow=this.svg.append(\"text\"),this.joinPointTitle=this.svg.append(\"text\"),this.joinPointTitleRightArrow=this.svg.append(\"text\"),this.joinPointTitleRight=this.svg.append(\"text\"),this.hoverLabelBacking=this.svg.append(\"text\").attr(\"x\",10).attr(\"y\",20).attr(\"text-anchor\",\"middle\").attr(\"font-size\",12).attr(\"stroke\",\"#fff\").attr(\"fill\",\"#fff\").attr(\"stroke-width\",\"4\").attr(\"stroke-linejoin\",\"round\").text(\"\").on(\"mouseover\",(function(){e.hoverLabel.attr(\"opacity\",1),e.hoverLabelBacking.attr(\"opacity\",1)})).on(\"mouseout\",(function(){e.hoverLabel.attr(\"opacity\",0),e.hoverLabelBacking.attr(\"opacity\",0)})),this.hoverLabel=this.svg.append(\"text\").attr(\"x\",10).attr(\"y\",20).attr(\"text-anchor\",\"middle\").attr(\"font-size\",12).attr(\"fill\",\"#0f0\").text(\"\").on(\"mouseover\",(function(){e.hoverLabel.attr(\"opacity\",1),e.hoverLabelBacking.attr(\"opacity\",1)})).on(\"mouseout\",(function(){e.hoverLabel.attr(\"opacity\",0),e.hoverLabelBacking.attr(\"opacity\",0)}));var t=void 0;\"string\"==typeof this.props.plot_cmap?this.props.plot_cmap in Ue.colors?t=Ue.colors[this.props.plot_cmap]:(console.log(\"Invalid color map name, reverting to default.\"),t=Ue.colors.RdBu):Array.isArray(this.props.plot_cmap)&&(t=this.props.plot_cmap),this.colors=t.map((function(e){return Q(e)})),this.brighterColors=[1.45,1.6].map((function(t,n){return e.colors[n].brighter(t)})),this.colors.map((function(t,n){var r=e.svg.append(\"linearGradient\").attr(\"id\",\"linear-grad-\"+n).attr(\"x1\",\"0%\").attr(\"y1\",\"0%\").attr(\"x2\",\"0%\").attr(\"y2\",\"100%\");r.append(\"stop\").attr(\"offset\",\"0%\").attr(\"stop-color\",t).attr(\"stop-opacity\",.6),r.append(\"stop\").attr(\"offset\",\"100%\").attr(\"stop-color\",t).attr(\"stop-opacity\",0);var a=e.svg.append(\"linearGradient\").attr(\"id\",\"linear-backgrad-\"+n).attr(\"x1\",\"0%\").attr(\"y1\",\"0%\").attr(\"x2\",\"0%\").attr(\"y2\",\"100%\");a.append(\"stop\").attr(\"offset\",\"0%\").attr(\"stop-color\",t).attr(\"stop-opacity\",.5),a.append(\"stop\").attr(\"offset\",\"100%\").attr(\"stop-color\",t).attr(\"stop-opacity\",0)})),this.tickFormat=Ae(\",.4\"),this.scaleCentered=Re(),this.axis=fn().scale(this.scaleCentered).tickSizeInner(4).tickSizeOuter(0).tickFormat((function(t){return e.tickFormat(e.invLinkFunction(t))})).tickPadding(-18),window.addEventListener(\"resize\",this.redraw),window.setTimeout(this.redraw,50)}},{key:\"componentDidUpdate\",value:function(){this.draw()}},{key:\"draw\",value:function(){var e=this;(0,je.each)(this.props.featureNames,(function(t,n){e.props.features[n]&&(e.props.features[n].name=t)})),\"identity\"===this.props.link?this.invLinkFunction=function(t){return e.props.baseValue+t}:\"logit\"===this.props.link?this.invLinkFunction=function(t){return 1/(1+Math.exp(-(e.props.baseValue+t)))}:console.log(\"ERROR: Unrecognized link function: \",this.props.link);var t=this.svg.node().parentNode.offsetWidth;if(0==t)return setTimeout((function(){return e.draw(e.props)}),500);this.svg.style(\"height\",\"150px\"),this.svg.style(\"width\",t+\"px\");var n=(0,je.sortBy)(this.props.features,(function(e){return-1/(e.effect+1e-10)})),r=(0,je.sum)((0,je.map)(n,(function(e){return Math.abs(e.effect)}))),a=(0,je.sum)((0,je.map)((0,je.filter)(n,(function(e){return e.effect>0})),(function(e){return e.effect})))||0,i=(0,je.sum)((0,je.map)((0,je.filter)(n,(function(e){return e.effect<0})),(function(e){return-e.effect})))||0;this.domainSize=3*Math.max(a,i);var o=Re().domain([0,this.domainSize]).range([0,t]),u=t/2-o(i);this.scaleCentered.domain([-this.domainSize/2,this.domainSize/2]).range([0,t]).clamp(!0),this.axisElement.attr(\"transform\",\"translate(0,50)\").call(this.axis);var l,s,c,f=0;for(l=0;l<n.length;++l)n[l].x=f,n[l].effect<0&&void 0===s&&(s=f,c=l),f+=Math.abs(n[l].effect);void 0===s&&(s=f,c=l);var d=xn().x((function(e){return e[0]})).y((function(e){return e[1]})),p=function(t){return void 0!==t.value&&null!==t.value&&\"\"!==t.value?t.name+\" = \"+(isNaN(t.value)?t.value:e.tickFormat(t.value)):t.name};n=this.props.hideBars?[]:n;var h=this.mainGroup.selectAll(\".force-bar-blocks\").data(n);h.enter().append(\"path\").attr(\"class\",\"force-bar-blocks\").merge(h).attr(\"d\",(function(e,t){var n=o(e.x)+u,r=o(Math.abs(e.effect)),a=e.effect<0?-4:4,i=a;return t===c&&(a=0),t===c-1&&(i=0),d([[n,56],[n+r,56],[n+r+i,64.5],[n+r,73],[n,73],[n+a,64.5]])})).attr(\"fill\",(function(t){return t.effect>0?e.colors[0]:e.colors[1]})).on(\"mouseover\",(function(t){if(o(Math.abs(t.effect))<o(r)/50||o(Math.abs(t.effect))<10){var n=o(t.x)+u,a=o(Math.abs(t.effect));e.hoverLabel.attr(\"opacity\",1).attr(\"x\",n+a/2).attr(\"y\",50.5).attr(\"fill\",t.effect>0?e.colors[0]:e.colors[1]).text(p(t)),e.hoverLabelBacking.attr(\"opacity\",1).attr(\"x\",n+a/2).attr(\"y\",50.5).text(p(t))}})).on(\"mouseout\",(function(){e.hoverLabel.attr(\"opacity\",0),e.hoverLabelBacking.attr(\"opacity\",0)})),h.exit().remove();var g=(0,je.filter)(n,(function(e){return o(Math.abs(e.effect))>o(r)/50&&o(Math.abs(e.effect))>10})),v=this.onTopGroup.selectAll(\".force-bar-labels\").data(g);if(v.exit().remove(),v=v.enter().append(\"text\").attr(\"class\",\"force-bar-labels\").attr(\"font-size\",\"12px\").attr(\"y\",98).merge(v).text((function(t){return void 0!==t.value&&null!==t.value&&\"\"!==t.value?t.name+\" = \"+(isNaN(t.value)?t.value:e.tickFormat(t.value)):t.name})).attr(\"fill\",(function(t){return t.effect>0?e.colors[0]:e.colors[1]})).attr(\"stroke\",(function(e){return e.textWidth=Math.max(this.getComputedTextLength(),o(Math.abs(e.effect))-10),e.innerTextWidth=this.getComputedTextLength(),\"none\"})),this.filteredData=g,n.length>0){f=s+o.invert(5);for(var m=c;m<n.length;++m)n[m].textx=f,f+=o.invert(n[m].textWidth+10);f=s-o.invert(5);for(var y=c-1;y>=0;--y)n[y].textx=f,f-=o.invert(n[y].textWidth+10)}v.attr(\"x\",(function(e){return o(e.textx)+u+(e.effect>0?-e.textWidth/2:e.textWidth/2)})).attr(\"text-anchor\",\"middle\"),g=(0,je.filter)(g,(function(n){return o(n.textx)+u>e.props.labelMargin&&o(n.textx)+u<t-e.props.labelMargin})),this.filteredData2=g;var b=g.slice(),w=(0,je.findIndex)(n,g[0])-1;w>=0&&b.unshift(n[w]);var _=this.mainGroup.selectAll(\".force-bar-labelBacking\").data(g);_.enter().append(\"path\").attr(\"class\",\"force-bar-labelBacking\").attr(\"stroke\",\"none\").attr(\"opacity\",.2).merge(_).attr(\"d\",(function(e){return d([[o(e.x)+o(Math.abs(e.effect))+u,73],[(e.effect>0?o(e.textx):o(e.textx)+e.textWidth)+u+5,83],[(e.effect>0?o(e.textx):o(e.textx)+e.textWidth)+u+5,104],[(e.effect>0?o(e.textx)-e.textWidth:o(e.textx))+u-5,104],[(e.effect>0?o(e.textx)-e.textWidth:o(e.textx))+u-5,83],[o(e.x)+u,73]])})).attr(\"fill\",(function(e){return\"url(#linear-backgrad-\".concat(e.effect>0?0:1,\")\")})),_.exit().remove();var k=this.mainGroup.selectAll(\".force-bar-labelDividers\").data(g.slice(0,-1));k.enter().append(\"rect\").attr(\"class\",\"force-bar-labelDividers\").attr(\"height\",\"21px\").attr(\"width\",\"1px\").attr(\"y\",83).merge(k).attr(\"x\",(function(e){return(e.effect>0?o(e.textx):o(e.textx)+e.textWidth)+u+4.5})).attr(\"fill\",(function(e){return\"url(#linear-grad-\".concat(e.effect>0?0:1,\")\")})),k.exit().remove();var x=this.mainGroup.selectAll(\".force-bar-labelLinks\").data(g.slice(0,-1));x.enter().append(\"line\").attr(\"class\",\"force-bar-labelLinks\").attr(\"y1\",73).attr(\"y2\",83).attr(\"stroke-opacity\",.5).attr(\"stroke-width\",1).merge(x).attr(\"x1\",(function(e){return o(e.x)+o(Math.abs(e.effect))+u})).attr(\"x2\",(function(e){return(e.effect>0?o(e.textx):o(e.textx)+e.textWidth)+u+5})).attr(\"stroke\",(function(t){return t.effect>0?e.colors[0]:e.colors[1]})),x.exit().remove();var S=this.mainGroup.selectAll(\".force-bar-blockDividers\").data(n.slice(0,-1));S.enter().append(\"path\").attr(\"class\",\"force-bar-blockDividers\").attr(\"stroke-width\",2).attr(\"fill\",\"none\").merge(S).attr(\"d\",(function(e){var t=o(e.x)+o(Math.abs(e.effect))+u;return d([[t,56],[t+(e.effect<0?-4:4),64.5],[t,73]])})).attr(\"stroke\",(function(t,n){return c===n+1||Math.abs(t.effect)<1e-8?\"#rgba(0,0,0,0)\":t.effect>0?e.brighterColors[0]:e.brighterColors[1]})),S.exit().remove(),this.joinPointLine.attr(\"x1\",o(s)+u).attr(\"x2\",o(s)+u).attr(\"y1\",50).attr(\"y2\",56).attr(\"stroke\",\"#F2F2F2\").attr(\"stroke-width\",1).attr(\"opacity\",1),this.joinPointLabelOutline.attr(\"x\",o(s)+u).attr(\"y\",45).attr(\"color\",\"#fff\").attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"stroke\",\"#fff\").attr(\"stroke-width\",6).text(Ae(\",.2f\")(this.invLinkFunction(s-i))).attr(\"opacity\",1),console.log(\"joinPoint\",s,u,50,i),this.joinPointLabel.attr(\"x\",o(s)+u).attr(\"y\",45).attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#000\").text(Ae(\",.2f\")(this.invLinkFunction(s-i))).attr(\"opacity\",1),this.joinPointTitle.attr(\"x\",o(s)+u).attr(\"y\",28).attr(\"text-anchor\",\"middle\").attr(\"font-size\",\"12\").attr(\"fill\",\"#000\").text(this.props.outNames[0]).attr(\"opacity\",.5),this.props.hideBars||(this.joinPointTitleLeft.attr(\"x\",o(s)+u-16).attr(\"y\",12).attr(\"text-anchor\",\"end\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[0]).text(\"higher\").attr(\"opacity\",1),this.joinPointTitleRight.attr(\"x\",o(s)+u+16).attr(\"y\",12).attr(\"text-anchor\",\"start\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[1]).text(\"lower\").attr(\"opacity\",1),this.joinPointTitleLeftArrow.attr(\"x\",o(s)+u+7).attr(\"y\",8).attr(\"text-anchor\",\"end\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[0]).text(\"→\").attr(\"opacity\",1),this.joinPointTitleRightArrow.attr(\"x\",o(s)+u-7).attr(\"y\",14).attr(\"text-anchor\",\"start\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[1]).text(\"←\").attr(\"opacity\",1)),this.props.hideBaseValueLabel||this.baseValueTitle.attr(\"x\",this.scaleCentered(0)).attr(\"y\",28).attr(\"text-anchor\",\"middle\").attr(\"font-size\",\"12\").attr(\"fill\",\"#000\").text(\"base value\").attr(\"opacity\",.5)}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"resize\",this.redraw)}},{key:\"render\",value:function(){var t=this;return e.createElement(\"svg\",{ref:function(e){return t.svg=tn(e)},style:{userSelect:\"none\",display:\"block\",fontFamily:\"arial\",sansSerif:!0}},e.createElement(\"style\",{dangerouslySetInnerHTML:{__html:\"\\n          .force-bar-axis path {\\n            fill: none;\\n            opacity: 0.4;\\n          }\\n          .force-bar-axis paths {\\n            display: none;\\n          }\\n          .tick line {\\n            stroke: #000;\\n            stroke-width: 1px;\\n            opacity: 0.4;\\n          }\\n          .tick text {\\n            fill: #000;\\n            opacity: 0.5;\\n            font-size: 12px;\\n            padding: 0px;\\n          }\"}}))}}])&&En(r.prototype,a),Object.defineProperty(r,\"prototype\",{writable:!1}),r;var r,a}(e.Component);Mn.defaultProps={plot_cmap:\"RdBu\"};const Nn=Mn,An=1e3,On=6e4,Ln=36e5,Fn=864e5,Dn=6048e5,Rn=31536e6,jn=new Date,Un=new Date;function In(e,t,n,r){function a(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return a.floor=t=>(e(t=new Date(+t)),t),a.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),a.round=e=>{const t=a(e),n=a.ceil(e);return e-t<n-e?t:n},a.offset=(e,n)=>(t(e=new Date(+e),null==n?1:Math.floor(n)),e),a.range=(n,r,i)=>{const o=[];if(n=a.ceil(n),i=null==i?1:Math.floor(i),!(n<r&&i>0))return o;let u;do{o.push(u=new Date(+n)),t(n,i),e(n)}while(u<n&&n<r);return o},a.filter=n=>In((t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),((e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););})),n&&(a.count=(t,r)=>(jn.setTime(+t),Un.setTime(+r),e(jn),e(Un),Math.floor(n(jn,Un))),a.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?a.filter(r?t=>r(t)%e==0:t=>a.count(0,t)%e==0):a:null)),a}const $n=In((()=>{}),((e,t)=>{e.setTime(+e+t)}),((e,t)=>t-e));$n.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?In((t=>{t.setTime(Math.floor(t/e)*e)}),((t,n)=>{t.setTime(+t+n*e)}),((t,n)=>(n-t)/e)):$n:null),$n.range;const Bn=In((e=>{e.setTime(e-e.getMilliseconds())}),((e,t)=>{e.setTime(+e+t*An)}),((e,t)=>(t-e)/An),(e=>e.getUTCSeconds())),Hn=(Bn.range,In((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*An)}),((e,t)=>{e.setTime(+e+t*On)}),((e,t)=>(t-e)/On),(e=>e.getMinutes()))),Wn=(Hn.range,In((e=>{e.setUTCSeconds(0,0)}),((e,t)=>{e.setTime(+e+t*On)}),((e,t)=>(t-e)/On),(e=>e.getUTCMinutes()))),Vn=(Wn.range,In((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*An-e.getMinutes()*On)}),((e,t)=>{e.setTime(+e+t*Ln)}),((e,t)=>(t-e)/Ln),(e=>e.getHours()))),qn=(Vn.range,In((e=>{e.setUTCMinutes(0,0,0)}),((e,t)=>{e.setTime(+e+t*Ln)}),((e,t)=>(t-e)/Ln),(e=>e.getUTCHours()))),Qn=(qn.range,In((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*On)/Fn),(e=>e.getDate()-1))),Yn=(Qn.range,In((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/Fn),(e=>e.getUTCDate()-1))),Gn=(Yn.range,In((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/Fn),(e=>Math.floor(e/Fn))));function Kn(e){return In((t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),((e,t)=>{e.setDate(e.getDate()+7*t)}),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*On)/Dn))}Gn.range;const Xn=Kn(0),Zn=Kn(1),Jn=Kn(2),er=Kn(3),tr=Kn(4),nr=Kn(5),rr=Kn(6);function ar(e){return In((t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)}),((e,t)=>(t-e)/Dn))}Xn.range,Zn.range,Jn.range,er.range,tr.range,nr.range,rr.range;const ir=ar(0),or=ar(1),ur=ar(2),lr=ar(3),sr=ar(4),cr=ar(5),fr=ar(6),dr=(ir.range,or.range,ur.range,lr.range,sr.range,cr.range,fr.range,In((e=>{e.setDate(1),e.setHours(0,0,0,0)}),((e,t)=>{e.setMonth(e.getMonth()+t)}),((e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())),(e=>e.getMonth()))),pr=(dr.range,In((e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)}),((e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())),(e=>e.getUTCMonth()))),hr=(pr.range,In((e=>{e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,t)=>{e.setFullYear(e.getFullYear()+t)}),((e,t)=>t.getFullYear()-e.getFullYear()),(e=>e.getFullYear())));hr.every=e=>isFinite(e=Math.floor(e))&&e>0?In((t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,n)=>{t.setFullYear(t.getFullYear()+n*e)})):null,hr.range;const gr=In((e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)}),((e,t)=>t.getUTCFullYear()-e.getUTCFullYear()),(e=>e.getUTCFullYear()));function vr(e,t,n,r,a,i){const o=[[Bn,1,An],[Bn,5,5e3],[Bn,15,15e3],[Bn,30,3e4],[i,1,On],[i,5,3e5],[i,15,9e5],[i,30,18e5],[a,1,Ln],[a,3,108e5],[a,6,216e5],[a,12,432e5],[r,1,Fn],[r,2,1728e5],[n,1,Dn],[t,1,2592e6],[t,3,7776e6],[e,1,Rn]];function u(t,n,r){const a=Math.abs(n-t)/r,i=d((([,,e])=>e)).right(o,a);if(i===o.length)return e.every(s(t/Rn,n/Rn,r));if(0===i)return $n.every(Math.max(s(t,n,r),1));const[u,l]=o[a/o[i-1][2]<o[i][2]/a?i-1:i];return u.every(l)}return[function(e,t,n){const r=t<e;r&&([e,t]=[t,e]);const a=n&&\"function\"==typeof n.range?n:u(e,t,n),i=a?a.range(e,+t+1):[];return r?i.reverse():i},u]}gr.every=e=>isFinite(e=Math.floor(e))&&e>0?In((t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null,gr.range;const[mr,yr]=vr(gr,pr,ir,Gn,qn,Wn),[br,wr]=vr(hr,dr,Xn,Qn,Vn,Hn);function _r(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function kr(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function xr(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}var Sr,Er,Cr,Tr={\"-\":\"\",_:\" \",0:\"0\"},Pr=/^\\s*\\d+/,zr=/^%/,Mr=/[\\\\^$*+?|[\\]().{}]/g;function Nr(e,t,n){var r=e<0?\"-\":\"\",a=(r?-e:e)+\"\",i=a.length;return r+(i<n?new Array(n-i+1).join(t)+a:a)}function Ar(e){return e.replace(Mr,\"\\\\$&\")}function Or(e){return new RegExp(\"^(?:\"+e.map(Ar).join(\"|\")+\")\",\"i\")}function Lr(e){return new Map(e.map(((e,t)=>[e.toLowerCase(),t])))}function Fr(e,t,n){var r=Pr.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Dr(e,t,n){var r=Pr.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Rr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function jr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Ur(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Ir(e,t,n){var r=Pr.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function $r(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Br(e,t,n){var r=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||\"00\")),n+r[0].length):-1}function Hr(e,t,n){var r=Pr.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function Wr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Vr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function qr(e,t,n){var r=Pr.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Qr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Yr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Gr(e,t,n){var r=Pr.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Kr(e,t,n){var r=Pr.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Xr(e,t,n){var r=Pr.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Zr(e,t,n){var r=zr.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Jr(e,t,n){var r=Pr.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function ea(e,t,n){var r=Pr.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function ta(e,t){return Nr(e.getDate(),t,2)}function na(e,t){return Nr(e.getHours(),t,2)}function ra(e,t){return Nr(e.getHours()%12||12,t,2)}function aa(e,t){return Nr(1+Qn.count(hr(e),e),t,3)}function ia(e,t){return Nr(e.getMilliseconds(),t,3)}function oa(e,t){return ia(e,t)+\"000\"}function ua(e,t){return Nr(e.getMonth()+1,t,2)}function la(e,t){return Nr(e.getMinutes(),t,2)}function sa(e,t){return Nr(e.getSeconds(),t,2)}function ca(e){var t=e.getDay();return 0===t?7:t}function fa(e,t){return Nr(Xn.count(hr(e)-1,e),t,2)}function da(e){var t=e.getDay();return t>=4||0===t?tr(e):tr.ceil(e)}function pa(e,t){return e=da(e),Nr(tr.count(hr(e),e)+(4===hr(e).getDay()),t,2)}function ha(e){return e.getDay()}function ga(e,t){return Nr(Zn.count(hr(e)-1,e),t,2)}function va(e,t){return Nr(e.getFullYear()%100,t,2)}function ma(e,t){return Nr((e=da(e)).getFullYear()%100,t,2)}function ya(e,t){return Nr(e.getFullYear()%1e4,t,4)}function ba(e,t){var n=e.getDay();return Nr((e=n>=4||0===n?tr(e):tr.ceil(e)).getFullYear()%1e4,t,4)}function wa(e){var t=e.getTimezoneOffset();return(t>0?\"-\":(t*=-1,\"+\"))+Nr(t/60|0,\"0\",2)+Nr(t%60,\"0\",2)}function _a(e,t){return Nr(e.getUTCDate(),t,2)}function ka(e,t){return Nr(e.getUTCHours(),t,2)}function xa(e,t){return Nr(e.getUTCHours()%12||12,t,2)}function Sa(e,t){return Nr(1+Yn.count(gr(e),e),t,3)}function Ea(e,t){return Nr(e.getUTCMilliseconds(),t,3)}function Ca(e,t){return Ea(e,t)+\"000\"}function Ta(e,t){return Nr(e.getUTCMonth()+1,t,2)}function Pa(e,t){return Nr(e.getUTCMinutes(),t,2)}function za(e,t){return Nr(e.getUTCSeconds(),t,2)}function Ma(e){var t=e.getUTCDay();return 0===t?7:t}function Na(e,t){return Nr(ir.count(gr(e)-1,e),t,2)}function Aa(e){var t=e.getUTCDay();return t>=4||0===t?sr(e):sr.ceil(e)}function Oa(e,t){return e=Aa(e),Nr(sr.count(gr(e),e)+(4===gr(e).getUTCDay()),t,2)}function La(e){return e.getUTCDay()}function Fa(e,t){return Nr(or.count(gr(e)-1,e),t,2)}function Da(e,t){return Nr(e.getUTCFullYear()%100,t,2)}function Ra(e,t){return Nr((e=Aa(e)).getUTCFullYear()%100,t,2)}function ja(e,t){return Nr(e.getUTCFullYear()%1e4,t,4)}function Ua(e,t){var n=e.getUTCDay();return Nr((e=n>=4||0===n?sr(e):sr.ceil(e)).getUTCFullYear()%1e4,t,4)}function Ia(){return\"+0000\"}function $a(){return\"%\"}function Ba(e){return+e}function Ha(e){return Math.floor(+e/1e3)}function Wa(e){return new Date(e)}function Va(e){return e instanceof Date?+e:+new Date(+e)}function qa(e,t,n,r,a,i,o,u,l,s){var c=we(),f=c.invert,d=c.domain,p=s(\".%L\"),h=s(\":%S\"),g=s(\"%I:%M\"),v=s(\"%I %p\"),m=s(\"%a %d\"),y=s(\"%b %d\"),b=s(\"%B\"),w=s(\"%Y\");function _(e){return(l(e)<e?p:u(e)<e?h:o(e)<e?g:i(e)<e?v:r(e)<e?a(e)<e?m:y:n(e)<e?b:w)(e)}return c.invert=function(e){return new Date(f(e))},c.domain=function(e){return arguments.length?d(Array.from(e,Va)):d().map(Wa)},c.ticks=function(t){var n=d();return e(n[0],n[n.length-1],null==t?10:t)},c.tickFormat=function(e,t){return null==t?_:s(t)},c.nice=function(e){var n=d();return e&&\"function\"==typeof e.range||(e=t(n[0],n[n.length-1],null==e?10:e)),e?d(function(e,t){var n,r=0,a=(e=e.slice()).length-1,i=e[r],o=e[a];return o<i&&(n=r,r=a,a=n,n=i,i=o,o=n),e[r]=t.floor(i),e[a]=t.ceil(o),e}(n,e)):c},c.copy=function(){return be(c,qa(e,t,n,r,a,i,o,u,l,s))},c}function Qa(){return _e.apply(qa(br,wr,hr,dr,Xn,Qn,Vn,Hn,Bn,Er).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Ya(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if(\"string\"==typeof e)return Ga(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ga(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,o=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw i}}}}function Ga(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ka(e){return Ka=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Ka(e)}function Xa(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,Za(r.key),r)}}function Za(e){var t=function(e){if(\"object\"!=Ka(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,\"string\");if(\"object\"!=Ka(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==Ka(t)?t:t+\"\"}function Ja(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ja=function(){return!!e})()}function ei(e){return ei=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ei(e)}function ti(e,t){return ti=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ti(e,t)}Sr=function(e){var t=e.dateTime,n=e.date,r=e.time,a=e.periods,i=e.days,o=e.shortDays,u=e.months,l=e.shortMonths,s=Or(a),c=Lr(a),f=Or(i),d=Lr(i),p=Or(o),h=Lr(o),g=Or(u),v=Lr(u),m=Or(l),y=Lr(l),b={a:function(e){return o[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return u[e.getMonth()]},c:null,d:ta,e:ta,f:oa,g:ma,G:ba,H:na,I:ra,j:aa,L:ia,m:ua,M:la,p:function(e){return a[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:Ba,s:Ha,S:sa,u:ca,U:fa,V:pa,w:ha,W:ga,x:null,X:null,y:va,Y:ya,Z:wa,\"%\":$a},w={a:function(e){return o[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return u[e.getUTCMonth()]},c:null,d:_a,e:_a,f:Ca,g:Ra,G:Ua,H:ka,I:xa,j:Sa,L:Ea,m:Ta,M:Pa,p:function(e){return a[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:Ba,s:Ha,S:za,u:Ma,U:Na,V:Oa,w:La,W:Fa,x:null,X:null,y:Da,Y:ja,Z:Ia,\"%\":$a},_={a:function(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=y.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=g.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return S(e,t,n,r)},d:Vr,e:Vr,f:Xr,g:$r,G:Ir,H:Qr,I:Qr,j:qr,L:Kr,m:Wr,M:Yr,p:function(e,t,n){var r=s.exec(t.slice(n));return r?(e.p=c.get(r[0].toLowerCase()),n+r[0].length):-1},q:Hr,Q:Jr,s:ea,S:Gr,u:Dr,U:Rr,V:jr,w:Fr,W:Ur,x:function(e,t,r){return S(e,n,t,r)},X:function(e,t,n){return S(e,r,t,n)},y:$r,Y:Ir,Z:Br,\"%\":Zr};function k(e,t){return function(n){var r,a,i,o=[],u=-1,l=0,s=e.length;for(n instanceof Date||(n=new Date(+n));++u<s;)37===e.charCodeAt(u)&&(o.push(e.slice(l,u)),null!=(a=Tr[r=e.charAt(++u)])?r=e.charAt(++u):a=\"e\"===r?\" \":\"0\",(i=t[r])&&(r=i(n,a)),o.push(r),l=u+1);return o.push(e.slice(l,u)),o.join(\"\")}}function x(e,t){return function(n){var r,a,i=xr(1900,void 0,1);if(S(i,e,n+=\"\",0)!=n.length)return null;if(\"Q\"in i)return new Date(i.Q);if(\"s\"in i)return new Date(1e3*i.s+(\"L\"in i?i.L:0));if(t&&!(\"Z\"in i)&&(i.Z=0),\"p\"in i&&(i.H=i.H%12+12*i.p),void 0===i.m&&(i.m=\"q\"in i?i.q:0),\"V\"in i){if(i.V<1||i.V>53)return null;\"w\"in i||(i.w=1),\"Z\"in i?(a=(r=kr(xr(i.y,0,1))).getUTCDay(),r=a>4||0===a?or.ceil(r):or(r),r=Yn.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(a=(r=_r(xr(i.y,0,1))).getDay(),r=a>4||0===a?Zn.ceil(r):Zn(r),r=Qn.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else(\"W\"in i||\"U\"in i)&&(\"w\"in i||(i.w=\"u\"in i?i.u%7:\"W\"in i?1:0),a=\"Z\"in i?kr(xr(i.y,0,1)).getUTCDay():_r(xr(i.y,0,1)).getDay(),i.m=0,i.d=\"W\"in i?(i.w+6)%7+7*i.W-(a+5)%7:i.w+7*i.U-(a+6)%7);return\"Z\"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,kr(i)):_r(i)}}function S(e,t,n,r){for(var a,i,o=0,u=t.length,l=n.length;o<u;){if(r>=l)return-1;if(37===(a=t.charCodeAt(o++))){if(a=t.charAt(o++),!(i=_[a in Tr?t.charAt(o++):a])||(r=i(e,n,r))<0)return-1}else if(a!=n.charCodeAt(r++))return-1}return r}return b.x=k(n,b),b.X=k(r,b),b.c=k(t,b),w.x=k(n,w),w.X=k(r,w),w.c=k(t,w),{format:function(e){var t=k(e+=\"\",b);return t.toString=function(){return e},t},parse:function(e){var t=x(e+=\"\",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=k(e+=\"\",w);return t.toString=function(){return e},t},utcParse:function(e){var t=x(e+=\"\",!0);return t.toString=function(){return e},t}}}({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}),Er=Sr.format,Cr=Sr.parse,Sr.utcFormat,Sr.utcParse;var ni=function(t){function n(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,n),e=function(e,t,n){return t=ei(t),function(e,t){if(t&&(\"object\"==Ka(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(e,Ja()?Reflect.construct(t,n||[],ei(e).constructor):t.apply(e,n))}(this,n),window.lastAdditiveForceArrayVisualizer=e,e.topOffset=28,e.leftOffset=80,e.height=350,e.effectFormat=Ae(\".2\"),e.redraw=(0,je.debounce)((function(){return e.draw()}),200),e}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&ti(e,t)}(n,t),r=n,a=[{key:\"componentDidMount\",value:function(){var e=this;this.mainGroup=this.svg.append(\"g\"),this.onTopGroup=this.svg.append(\"g\"),this.xaxisElement=this.onTopGroup.append(\"g\").attr(\"transform\",\"translate(0,35)\").attr(\"class\",\"force-bar-array-xaxis\"),this.yaxisElement=this.onTopGroup.append(\"g\").attr(\"transform\",\"translate(0,35)\").attr(\"class\",\"force-bar-array-yaxis\"),this.hoverGroup1=this.svg.append(\"g\"),this.hoverGroup2=this.svg.append(\"g\"),this.baseValueTitle=this.svg.append(\"text\"),this.hoverLine=this.svg.append(\"line\"),this.hoverxOutline=this.svg.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#fff\").attr(\"stroke\",\"#fff\").attr(\"stroke-width\",\"6\").attr(\"font-size\",\"12px\"),this.hoverx=this.svg.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#000\").attr(\"font-size\",\"12px\"),this.hoverxTitle=this.svg.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"opacity\",.6).attr(\"font-size\",\"12px\"),this.hoveryOutline=this.svg.append(\"text\").attr(\"text-anchor\",\"end\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#fff\").attr(\"stroke\",\"#fff\").attr(\"stroke-width\",\"6\").attr(\"font-size\",\"12px\"),this.hovery=this.svg.append(\"text\").attr(\"text-anchor\",\"end\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#000\").attr(\"font-size\",\"12px\"),this.xlabel=this.wrapper.select(\".additive-force-array-xlabel\"),this.ylabel=this.wrapper.select(\".additive-force-array-ylabel\");var t=void 0;\"string\"==typeof this.props.plot_cmap?this.props.plot_cmap in Ue.colors?t=Ue.colors[this.props.plot_cmap]:(console.log(\"Invalid color map name, reverting to default.\"),t=Ue.colors.RdBu):Array.isArray(this.props.plot_cmap)&&(t=this.props.plot_cmap),this.colors=t.map((function(e){return Q(e)})),this.brighterColors=[1.45,1.6].map((function(t,n){return e.colors[n].brighter(t)}));var n=Ae(\",.4\");null!=this.props.ordering_keys&&null!=this.props.ordering_keys_time_format?(this.parseTime=Cr(this.props.ordering_keys_time_format),this.formatTime=Er(this.props.ordering_keys_time_format),this.xtickFormat=function(e){return\"object\"==Ka(e)?this.formatTime(e):n(e)}):(this.parseTime=null,this.formatTime=null,this.xtickFormat=n),this.xscale=Re(),this.xaxis=fn().scale(this.xscale).tickSizeInner(4).tickSizeOuter(0).tickFormat((function(t){return e.xtickFormat(t)})).tickPadding(-18),this.ytickFormat=n,this.yscale=Re(),this.yaxis=cn(4,undefined).scale(this.yscale).tickSizeInner(4).tickSizeOuter(0).tickFormat((function(t){return e.ytickFormat(e.invLinkFunction(t))})).tickPadding(2),this.xlabel.node().onchange=function(){return e.internalDraw()},this.ylabel.node().onchange=function(){return e.internalDraw()},this.svg.on(\"mousemove\",(function(t){return e.mouseMoved(t)})),this.svg.on(\"click\",(function(){return alert(\"This original index of the sample you clicked is \"+e.nearestExpIndex)})),this.svg.on(\"mouseout\",(function(t){return e.mouseOut(t)})),window.addEventListener(\"resize\",this.redraw),window.setTimeout(this.redraw,50)}},{key:\"componentDidUpdate\",value:function(){this.draw()}},{key:\"mouseOut\",value:function(){this.hoverLine.attr(\"display\",\"none\"),this.hoverx.attr(\"display\",\"none\"),this.hoverxOutline.attr(\"display\",\"none\"),this.hoverxTitle.attr(\"display\",\"none\"),this.hovery.attr(\"display\",\"none\"),this.hoveryOutline.attr(\"display\",\"none\"),this.hoverGroup1.attr(\"display\",\"none\"),this.hoverGroup2.attr(\"display\",\"none\")}},{key:\"mouseMoved\",value:function(e){var t,n,r=this;this.hoverLine.attr(\"display\",\"\"),this.hoverx.attr(\"display\",\"\"),this.hoverxOutline.attr(\"display\",\"\"),this.hoverxTitle.attr(\"display\",\"\"),this.hovery.attr(\"display\",\"\"),this.hoveryOutline.attr(\"display\",\"\"),this.hoverGroup1.attr(\"display\",\"\"),this.hoverGroup2.attr(\"display\",\"\");var a=function(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}(e,this.svg.node())[0];if(this.props.explanations){for(t=0;t<this.currExplanations.length;++t)(!n||Math.abs(n.xmapScaled-a)>Math.abs(this.currExplanations[t].xmapScaled-a))&&(n=this.currExplanations[t]);this.nearestExpIndex=n.origInd,this.hoverLine.attr(\"x1\",n.xmapScaled).attr(\"x2\",n.xmapScaled).attr(\"y1\",0+this.topOffset).attr(\"y2\",this.height),this.hoverx.attr(\"x\",n.xmapScaled).attr(\"y\",this.topOffset-5).text(this.xtickFormat(n.xmap)),this.hoverxOutline.attr(\"x\",n.xmapScaled).attr(\"y\",this.topOffset-5).text(this.xtickFormat(n.xmap)),this.hoverxTitle.attr(\"x\",n.xmapScaled).attr(\"y\",this.topOffset-18).text(n.count>1?n.count+\" averaged samples\":\"\"),this.hovery.attr(\"x\",this.leftOffset-6).attr(\"y\",n.joinPointy).text(this.ytickFormat(this.invLinkFunction(n.joinPoint))),this.hoveryOutline.attr(\"x\",this.leftOffset-6).attr(\"y\",n.joinPointy).text(this.ytickFormat(this.invLinkFunction(n.joinPoint)));for(var i,o,u=[],l=this.currPosOrderedFeatures.length-1;l>=0;--l){var s=this.currPosOrderedFeatures[l],c=n.features[s];o=5+(c.posyTop+c.posyBottom)/2,(!i||o-i>=15)&&c.posyTop-c.posyBottom>=6&&(u.push(c),i=o)}var f=[];i=void 0;var d,p=Ya(this.currNegOrderedFeatures);try{for(p.s();!(d=p.n()).done;){var h=d.value,g=n.features[h];o=5+(g.negyTop+g.negyBottom)/2,(!i||i-o>=15)&&g.negyTop-g.negyBottom>=6&&(f.push(g),i=o)}}catch(e){p.e(e)}finally{p.f()}var v=function(e){var t=\"\";return null!==e.value&&void 0!==e.value&&(t=\" = \"+(isNaN(e.value)?e.value:r.ytickFormat(e.value))),n.count>1?\"mean(\"+r.props.featureNames[e.ind]+\")\"+t:r.props.featureNames[e.ind]+t},m=this.hoverGroup1.selectAll(\".pos-values\").data(u);m.enter().append(\"text\").attr(\"class\",\"pos-values\").merge(m).attr(\"x\",n.xmapScaled+5).attr(\"y\",(function(e){return 4+(e.posyTop+e.posyBottom)/2})).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"stroke\",\"#fff\").attr(\"fill\",\"#fff\").attr(\"stroke-width\",\"4\").attr(\"stroke-linejoin\",\"round\").attr(\"opacity\",1).text(v),m.exit().remove();var y=this.hoverGroup2.selectAll(\".pos-values\").data(u);y.enter().append(\"text\").attr(\"class\",\"pos-values\").merge(y).attr(\"x\",n.xmapScaled+5).attr(\"y\",(function(e){return 4+(e.posyTop+e.posyBottom)/2})).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"fill\",this.colors[0]).text(v),y.exit().remove();var b=this.hoverGroup1.selectAll(\".neg-values\").data(f);b.enter().append(\"text\").attr(\"class\",\"neg-values\").merge(b).attr(\"x\",n.xmapScaled+5).attr(\"y\",(function(e){return 4+(e.negyTop+e.negyBottom)/2})).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"stroke\",\"#fff\").attr(\"fill\",\"#fff\").attr(\"stroke-width\",\"4\").attr(\"stroke-linejoin\",\"round\").attr(\"opacity\",1).text(v),b.exit().remove();var w=this.hoverGroup2.selectAll(\".neg-values\").data(f);w.enter().append(\"text\").attr(\"class\",\"neg-values\").merge(w).attr(\"x\",n.xmapScaled+5).attr(\"y\",(function(e){return 4+(e.negyTop+e.negyBottom)/2})).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"fill\",this.colors[1]).text(v),w.exit().remove()}}},{key:\"draw\",value:function(){var e=this;if(this.props.explanations&&0!==this.props.explanations.length){(0,je.each)(this.props.explanations,(function(e,t){return e.origInd=t}));var t,n={},r={},a={},i=Ya(this.props.explanations);try{for(i.s();!(t=i.n()).done;){var o=t.value;for(var u in o.features)void 0===n[u]&&(n[u]=0,r[u]=0,a[u]=0),o.features[u].effect>0?n[u]+=o.features[u].effect:r[u]-=o.features[u].effect,null!==o.features[u].value&&void 0!==o.features[u].value&&(a[u]+=1)}}catch(e){i.e(e)}finally{i.f()}this.usedFeatures=(0,je.sortBy)((0,je.keys)(n),(function(e){return-(n[e]+r[e])})),console.log(\"found \",this.usedFeatures.length,\" used features\"),this.posOrderedFeatures=(0,je.sortBy)(this.usedFeatures,(function(e){return n[e]})),this.negOrderedFeatures=(0,je.sortBy)(this.usedFeatures,(function(e){return-r[e]})),this.singleValueFeatures=(0,je.filter)(this.usedFeatures,(function(e){return a[e]>0}));var l=[\"sample order by similarity\",\"sample order by output value\",\"original sample ordering\"].concat(this.singleValueFeatures.map((function(t){return e.props.featureNames[t]})));null!=this.props.ordering_keys&&l.unshift(\"sample order by key\");var s=this.xlabel.selectAll(\"option\").data(l);s.enter().append(\"option\").merge(s).attr(\"value\",(function(e){return e})).text((function(e){return e})),s.exit().remove();var c=this.props.outNames[0]?this.props.outNames[0]:\"model output value\";(l=(0,je.map)(this.usedFeatures,(function(t){return[e.props.featureNames[t],e.props.featureNames[t]+\" effects\"]}))).unshift([\"model output value\",c]);var f=this.ylabel.selectAll(\"option\").data(l);f.enter().append(\"option\").merge(f).attr(\"value\",(function(e){return e[0]})).text((function(e){return e[1]})),f.exit().remove(),this.ylabel.style(\"top\",(this.height-10-this.topOffset)/2+this.topOffset+\"px\").style(\"left\",10-this.ylabel.node().offsetWidth/2+\"px\"),this.internalDraw()}}},{key:\"internalDraw\",value:function(){var e,t,n=this,r=Ya(this.props.explanations);try{for(r.s();!(e=r.n()).done;){var a,i=e.value,o=Ya(this.usedFeatures);try{for(o.s();!(a=o.n()).done;){var u=a.value;i.features.hasOwnProperty(u)||(i.features[u]={effect:0,value:0}),i.features[u].ind=u}}catch(e){o.e(e)}finally{o.f()}}}catch(e){r.e(e)}finally{r.f()}var l=this.xlabel.node().value,s=\"sample order by key\"===l&&null!=this.props.ordering_keys_time_format;if(this.xscale=s?Qa():Re(),this.xaxis.scale(this.xscale),\"sample order by similarity\"===l)t=(0,je.sortBy)(this.props.explanations,(function(e){return e.simIndex})),(0,je.each)(t,(function(e,t){return e.xmap=t}));else if(\"sample order by output value\"===l)t=(0,je.sortBy)(this.props.explanations,(function(e){return-e.outValue})),(0,je.each)(t,(function(e,t){return e.xmap=t}));else if(\"original sample ordering\"===l)t=(0,je.sortBy)(this.props.explanations,(function(e){return e.origInd})),(0,je.each)(t,(function(e,t){return e.xmap=t}));else if(\"sample order by key\"===l)t=this.props.explanations,s?(0,je.each)(t,(function(e,t){return e.xmap=n.parseTime(n.props.ordering_keys[t])})):(0,je.each)(t,(function(e,t){return e.xmap=n.props.ordering_keys[t]})),t=(0,je.sortBy)(t,(function(e){return e.xmap}));else{var c=(0,je.findKey)(this.props.featureNames,(function(e){return e===l}));(0,je.each)(this.props.explanations,(function(e,t){return e.xmap=e.features[c].value}));var f=(0,je.sortBy)(this.props.explanations,(function(e){return e.xmap})),d=(0,je.map)(f,(function(e){return e.xmap}));if(\"string\"==typeof d[0])return void alert(\"Ordering by category names is not yet supported.\");var p,h,g=(0,je.min)(d),v=((0,je.max)(d)-g)/100;t=[];for(var m=0;m<f.length;++m){var y=f[m];if(p&&!h&&y.xmap-p.xmap<=v||h&&y.xmap-h.xmap<=v){h||((h=(0,je.cloneDeep)(p)).count=1);var b,w=Ya(this.usedFeatures);try{for(w.s();!(b=w.n()).done;){var _=b.value;h.features[_].effect+=y.features[_].effect,h.features[_].value+=y.features[_].value}}catch(e){w.e(e)}finally{w.f()}h.count+=1}else if(p)if(h){var k,x=Ya(this.usedFeatures);try{for(x.s();!(k=x.n()).done;){var S=k.value;h.features[S].effect/=h.count,h.features[S].value/=h.count}}catch(e){x.e(e)}finally{x.f()}t.push(h),h=void 0}else t.push(p);p=y}p.xmap-t[t.length-1].xmap>v&&t.push(p)}this.currUsedFeatures=this.usedFeatures,this.currPosOrderedFeatures=this.posOrderedFeatures,this.currNegOrderedFeatures=this.negOrderedFeatures;var E=this.ylabel.node().value;if(\"model output value\"!==E){var C=t;t=(0,je.cloneDeep)(t);for(var T=(0,je.findKey)(this.props.featureNames,(function(e){return e===E})),P=0;P<t.length;++P){var z=t[P].features[T];t[P].features={},t[P].features[T]=z,C[P].remapped_version=t[P]}this.currUsedFeatures=[T],this.currPosOrderedFeatures=[T],this.currNegOrderedFeatures=[T]}this.currExplanations=t,\"identity\"===this.props.link?this.invLinkFunction=function(e){return n.props.baseValue+e}:\"logit\"===this.props.link?this.invLinkFunction=function(e){return 1/(1+Math.exp(-(n.props.baseValue+e)))}:console.log(\"ERROR: Unrecognized link function: \",this.props.link),this.predValues=(0,je.map)(t,(function(e){return(0,je.sum)((0,je.map)(e.features,(function(e){return e.effect})))}));var M=this.wrapper.node().offsetWidth;if(0==M)return setTimeout((function(){return n.draw(t)}),500);this.svg.style(\"height\",this.height+\"px\"),this.svg.style(\"width\",M+\"px\");var N=(0,je.map)(t,(function(e){return e.xmap}));this.xscale.domain([(0,je.min)(N),(0,je.max)(N)]).range([this.leftOffset,M]).clamp(!0),this.xaxisElement.attr(\"transform\",\"translate(0,\"+this.topOffset+\")\").call(this.xaxis);for(var A=0;A<this.currExplanations.length;++A)this.currExplanations[A].xmapScaled=this.xscale(this.currExplanations[A].xmap);for(var O=t.length,L=0,F=0;F<O;++F){var D=t[F].features,R=(0,je.sum)((0,je.map)((0,je.filter)(D,(function(e){return e.effect>0})),(function(e){return e.effect})))||0,j=(0,je.sum)((0,je.map)((0,je.filter)(D,(function(e){return e.effect<0})),(function(e){return-e.effect})))||0;L=Math.max(L,2.2*Math.max(R,j))}this.yscale.domain([-L/2,L/2]).range([this.height-10,this.topOffset]),this.yaxisElement.attr(\"transform\",\"translate(\"+this.leftOffset+\",0)\").call(this.yaxis);for(var U=0;U<O;++U){var I,$=t[U].features,B=-((0,je.sum)((0,je.map)((0,je.filter)($,(function(e){return e.effect<0})),(function(e){return-e.effect})))||0),H=void 0,W=Ya(this.currPosOrderedFeatures);try{for(W.s();!(I=W.n()).done;)$[H=I.value].posyTop=this.yscale(B),$[H].effect>0&&(B+=$[H].effect),$[H].posyBottom=this.yscale(B),$[H].ind=H}catch(e){W.e(e)}finally{W.f()}var V,q=B,Q=Ya(this.currNegOrderedFeatures);try{for(Q.s();!(V=Q.n()).done;)$[H=V.value].negyTop=this.yscale(B),$[H].effect<0&&(B-=$[H].effect),$[H].negyBottom=this.yscale(B)}catch(e){Q.e(e)}finally{Q.f()}t[U].joinPoint=q,t[U].joinPointy=this.yscale(q)}var Y=xn().x((function(e){return e[0]})).y((function(e){return e[1]})),G=this.mainGroup.selectAll(\".force-bar-array-area-pos\").data(this.currUsedFeatures);G.enter().append(\"path\").attr(\"class\",\"force-bar-array-area-pos\").merge(G).attr(\"d\",(function(e){var n=(0,je.map)((0,je.range)(O),(function(n){return[t[n].xmapScaled,t[n].features[e].posyTop]})),r=(0,je.map)((0,je.rangeRight)(O),(function(n){return[t[n].xmapScaled,t[n].features[e].posyBottom]}));return Y(n.concat(r))})).attr(\"fill\",this.colors[0]),G.exit().remove();var K=this.mainGroup.selectAll(\".force-bar-array-area-neg\").data(this.currUsedFeatures);K.enter().append(\"path\").attr(\"class\",\"force-bar-array-area-neg\").merge(K).attr(\"d\",(function(e){var n=(0,je.map)((0,je.range)(O),(function(n){return[t[n].xmapScaled,t[n].features[e].negyTop]})),r=(0,je.map)((0,je.rangeRight)(O),(function(n){return[t[n].xmapScaled,t[n].features[e].negyBottom]}));return Y(n.concat(r))})).attr(\"fill\",this.colors[1]),K.exit().remove();var X=this.mainGroup.selectAll(\".force-bar-array-divider-pos\").data(this.currUsedFeatures);X.enter().append(\"path\").attr(\"class\",\"force-bar-array-divider-pos\").merge(X).attr(\"d\",(function(e){var n=(0,je.map)((0,je.range)(O),(function(n){return[t[n].xmapScaled,t[n].features[e].posyBottom]}));return Y(n)})).attr(\"fill\",\"none\").attr(\"stroke-width\",1).attr(\"stroke\",(function(){return n.colors[0].brighter(1.2)})),X.exit().remove();var Z=this.mainGroup.selectAll(\".force-bar-array-divider-neg\").data(this.currUsedFeatures);Z.enter().append(\"path\").attr(\"class\",\"force-bar-array-divider-neg\").merge(Z).attr(\"d\",(function(e){var n=(0,je.map)((0,je.range)(O),(function(n){return[t[n].xmapScaled,t[n].features[e].negyTop]}));return Y(n)})).attr(\"fill\",\"none\").attr(\"stroke-width\",1).attr(\"stroke\",(function(){return n.colors[1].brighter(1.5)})),Z.exit().remove();for(var J=function(e,t,n,r,a){var i,o,u,l;\"pos\"===a?(i=e[n].features[t].posyBottom,o=e[n].features[t].posyTop):(i=e[n].features[t].negyBottom,o=e[n].features[t].negyTop);for(var s=n+1;s<=r;++s)\"pos\"===a?(u=e[s].features[t].posyBottom,l=e[s].features[t].posyTop):(u=e[s].features[t].negyBottom,l=e[s].features[t].negyTop),u>i&&(i=u),l<o&&(o=l);return{top:i,bottom:o}},ee=[],te=0,ne=[\"pos\",\"neg\"];te<ne.length;te++){var re,ae=ne[te],ie=Ya(this.currUsedFeatures);try{for(ie.s();!(re=ie.n()).done;)for(var oe=re.value,ue=0,le=0,se=0,ce={top:0,bottom:0},fe=void 0;le<O-1;){for(;se<100&&le<O-1;)++le,se=t[le].xmapScaled-t[ue].xmapScaled;for(ce=J(t,oe,ue,le,ae);ce.bottom-ce.top<20&&ue<le;)++ue,ce=J(t,oe,ue,le,ae);if(se=t[le].xmapScaled-t[ue].xmapScaled,ce.bottom-ce.top>=20&&se>=100){for(;le<O-1;){if(++le,!((fe=J(t,oe,ue,le,ae)).bottom-fe.top>20)){--le;break}ce=fe}se=t[le].xmapScaled-t[ue].xmapScaled,ee.push([(t[le].xmapScaled+t[ue].xmapScaled)/2,(ce.top+ce.bottom)/2,this.props.featureNames[oe]]);var de=t[le].xmapScaled;for(ue=le;de+100>t[ue].xmapScaled&&ue<O-1;)++ue;le=ue}}}catch(e){ie.e(e)}finally{ie.f()}}var pe=this.onTopGroup.selectAll(\".force-bar-array-flabels\").data(ee);pe.enter().append(\"text\").attr(\"class\",\"force-bar-array-flabels\").merge(pe).attr(\"x\",(function(e){return e[0]})).attr(\"y\",(function(e){return e[1]+4})).text((function(e){return e[2]})),pe.exit().remove()}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"resize\",this.redraw)}},{key:\"render\",value:function(){var t=this;return e.createElement(\"div\",{ref:function(e){return t.wrapper=tn(e)},style:{textAlign:\"center\"}},e.createElement(\"style\",{dangerouslySetInnerHTML:{__html:\"\\n          .force-bar-array-wrapper {\\n            text-align: center;\\n          }\\n          .force-bar-array-xaxis path {\\n            fill: none;\\n            opacity: 0.4;\\n          }\\n          .force-bar-array-xaxis .domain {\\n            opacity: 0;\\n          }\\n          .force-bar-array-xaxis paths {\\n            display: none;\\n          }\\n          .force-bar-array-yaxis path {\\n            fill: none;\\n            opacity: 0.4;\\n          }\\n          .force-bar-array-yaxis paths {\\n            display: none;\\n          }\\n          .tick line {\\n            stroke: #000;\\n            stroke-width: 1px;\\n            opacity: 0.4;\\n          }\\n          .tick text {\\n            fill: #000;\\n            opacity: 0.5;\\n            font-size: 12px;\\n            padding: 0px;\\n          }\\n          .force-bar-array-flabels {\\n            font-size: 12px;\\n            fill: #fff;\\n            text-anchor: middle;\\n          }\\n          .additive-force-array-xlabel {\\n            background: none;\\n            border: 1px solid #ccc;\\n            opacity: 0.5;\\n            margin-bottom: 0px;\\n            font-size: 12px;\\n            font-family: arial;\\n            margin-left: 80px;\\n            max-width: 300px;\\n          }\\n          .additive-force-array-xlabel:focus {\\n            outline: none;\\n          }\\n          .additive-force-array-ylabel {\\n            position: relative;\\n            top: 0px;\\n            left: 0px;\\n            transform: rotate(-90deg);\\n            background: none;\\n            border: 1px solid #ccc;\\n            opacity: 0.5;\\n            margin-bottom: 0px;\\n            font-size: 12px;\\n            font-family: arial;\\n            max-width: 150px;\\n          }\\n          .additive-force-array-ylabel:focus {\\n            outline: none;\\n          }\\n          .additive-force-array-hoverLine {\\n            stroke-width: 1px;\\n            stroke: #fff;\\n            opacity: 1;\\n          }\"}}),e.createElement(\"select\",{className:\"additive-force-array-xlabel\"}),e.createElement(\"div\",{style:{height:\"0px\",textAlign:\"left\"}},e.createElement(\"select\",{className:\"additive-force-array-ylabel\"})),e.createElement(\"svg\",{ref:function(e){return t.svg=tn(e)},style:{userSelect:\"none\",display:\"block\",fontFamily:\"arial\",sansSerif:!0}}))}}],a&&Xa(r.prototype,a),Object.defineProperty(r,\"prototype\",{writable:!1}),r;var r,a}(e.Component);ni.defaultProps={plot_cmap:\"RdBu\",ordering_keys:null,ordering_keys_time_format:null};const ri=ni;window.SHAP={SimpleListVisualizer:Qe,AdditiveForceVisualizer:Nn,AdditiveForceArrayVisualizer:ri,React:e,ReactDOM:n,ReactDom:{render:function(e,n){var r=t.createRoot(n);return r.render(e),r}}}})()})();\n",
              "</script>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Force plot for sample 0, class 0\n"
          ]
        },
        {
          "output_type": "error",
          "ename": "DimensionError",
          "evalue": "Length of features is not equal to the length of shap_values!",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mDimensionError\u001b[0m                            Traceback (most recent call last)",
            "\u001b[0;32m/tmp/ipython-input-1142158446.py\u001b[0m in \u001b[0;36m<cell line: 0>\u001b[0;34m()\u001b[0m\n\u001b[1;32m    118\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mclass_idx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mshap_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    119\u001b[0m         \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Force plot for sample {i}, class {class_idx}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 120\u001b[0;31m         shap.force_plot(\n\u001b[0m\u001b[1;32m    121\u001b[0m             \u001b[0mexplainer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpected_value\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mclass_idx\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    122\u001b[0m             \u001b[0mshap_values\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mclass_idx\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/shap/plots/_force.py\u001b[0m in \u001b[0;36mforce\u001b[0;34m(base_value, shap_values, features, feature_names, out_names, link, plot_cmap, matplotlib, show, figsize, ordering_keys, ordering_keys_time_format, text_rotation, contribution_threshold)\u001b[0m\n\u001b[1;32m    180\u001b[0m                     \u001b[0;34m\"as the last column. In this case, just pass the array without the last column.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    181\u001b[0m                 )\n\u001b[0;32m--> 182\u001b[0;31m             \u001b[0;32mraise\u001b[0m \u001b[0mDimensionError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0memsg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    183\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    184\u001b[0m         \u001b[0minstance\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mInstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfeature_names\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfeatures\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;31mDimensionError\u001b[0m: Length of features is not equal to the length of shap_values!"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "gkwZBvJgRH0X"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}