/**
 * This function takes a nested dictionary and a list of keys as input.
 * It returns the value corresponding to the keys in the nested dictionary.
 *
 * @param nestedDict The nested dictionary to access
 * @param keys The list of keys to access the nested dictionary
 * @return The value corresponding to the keys in the nested dictionary
 */
fun accessNestedDictionary(nestedDict: Map<String, Any>, keys: List<String>): Any? {

    var currentDict: Any? = nestedDict

    try {
        keys.forEach { key ->
            currentDict = (currentDict as Map<String, Any>)[key]
        }
        return currentDict
    } catch (e: ClassCastException) {
        return null
    }
}
/**
 * This function takes a nested dictionary and a list of keys as input.
 * It returns the value corresponding to the keys in the nested dictionary.
 *
 * @param nestedDict The nested dictionary to access
 * @param keys The list of keys to access the nested dictionary
 * @return The value corresponding to the keys in the nested dictionary
 */
fun accessNestedDictionary(nestedDict: Map<String, Any>, keys: List<String>): Any? {
/**
 * This function takes a nested dictionary and a list of keys as input.
 * It returns the value corresponding to the keys in the nested dictionary.
 *
 * @param nestedDict The nested dictionary to access
 * @param keys The list of keys to access the nested dictionary
 * @return The value corresponding to the keys in the nested dictionary
 */
fun accessNestedDictionary(nestedDict: Map<String, Any>, keys: List<String>): Any? {

    var currentDict: Any? = nestedDict

    try {
        keys.forEach { key ->
            currentDict = (currentDict as Map<String, Any>)[key]
        }
        return currentDict
    } catch (e: ClassCastException) {
        return null
    }
}