code: def from_array(array):
          
          if array is None or not array:
              return None
          # end if
          assert_type_or_raise(array, dict, parameter_name="array")
  
          data = {}
          data['keyboard'] = KeyboardButton.from_array_list(array.get('keyboard'), list_level=2)
          data['resize_keyboard'] = bool(array.get('resize_keyboard')) if array.get('resize_keyboard') is not None else None
          data['one_time_keyboard'] = bool(array.get('one_time_keyboard')) if array.get('one_time_keyboard') is not None else None
          data['selective'] = bool(array.get('selective')) if array.get('selective') is not None else None
  
          instance = ReplyKeyboardMarkup(**data)
          instance._raw = array
          return instance
docs: Deserialize a new ReplyKeyboardMarkup from a given dictionary.
  
          :return: new ReplyKeyboardMarkup instance.
          :rtype: ReplyKeyboardMarkup