code: def make_events_features(
      df,
      config_events: Optional[configure.ConfigEvents] = None,
      config_country_holidays=None,
  ):
      """
      Construct arrays of all event features
      Parameters
      ----------
          df : pd.DataFrame
              Dataframe with all values including the user specified events (provided by user)
          config_events : configure.ConfigEvents
              User specified events, each with their upper, lower windows (int), regularization
          config_country_holidays : configure.ConfigCountryHolidays
              Configurations (holiday_names, upper, lower windows, regularization) for country specific holidays
      Returns
      -------
          np.array
              All additive event features (both user specified and country specific)
          np.array
              All multiplicative event features (both user specified and country specific)
      """
      df = df.reset_index(drop=True)
      additive_events = pd.DataFrame()
      multiplicative_events = pd.DataFrame()
  
      # create all user specified events
      if config_events is not None:
          for event, configs in config_events.items():
              feature = df[event]
              _create_event_offset_features(
                  event,
                  configs,
                  feature,
                  additive_events,
                  multiplicative_events,
              )
  
      # create all country specific holidays
      if config_country_holidays is not None:
          year_list = list({x.year for x in df.ds})
          country_holidays_dict = make_country_specific_holidays_df(
              year_list, config_country_holidays.country
          )
          for holiday in config_country_holidays.holiday_names:
              feature = pd.Series([0.0] * df.shape[0])
              if holiday in country_holidays_dict.keys():
                  dates = country_holidays_dict[holiday]
                  feature[df.ds.isin(dates)] = 1.0
              _create_event_offset_features(
                  holiday,
                  config_country_holidays,
                  feature,
                  additive_events,
                  multiplicative_events,
              )
  
      # Make sure column order is consistent
      if not additive_events.empty:
          additive_events = additive_events[
              sorted(additive_events.columns.tolist())
          ]
          additive_events = additive_events.values
      else:
          additive_events = None
      if not multiplicative_events.empty:
          multiplicative_events = multiplicative_events[
              sorted(multiplicative_events.columns.tolist())
          ]
          multiplicative_events = multiplicative_events.values
      else:
          multiplicative_events = None
  
      return additive_events, multiplicative_events
  
imports: import logging
  from collections import OrderedDict, defaultdict
  from datetime import datetime
  from typing import Optional
  import numpy
  import pandas
  import torch
  from torch.utils.data.dataset import Dataset
  from neuralprophet import configure, utils
  from neuralprophet.df_utils import get_max_num_lags
  from neuralprophet.hdays_utils import get_country_holidays
label_desc: Use image node_id 6 for calling a global function with example usage: make_events_features(df, config_events, config_country_holidays) and returns: additive_events,  multiplicative_events