o .&ßaT ã@s4ddlZddlmZ d dd„Zdd„Zdd„ZdS) éN)Ú merge_dictscCsV| |i¡}t||ƒdt | di¡¡i}t||ƒt||ƒ|dur)t||ƒ|S)NÚ __default__)ÚgetÚresolve_referencesÚcopyÚdeepcopyrÚ_merge_client_retry_config)Úendpoint_prefixÚ retry_modelÚ definitionsÚclient_retry_configÚservice_configÚfinal_retry_config©rú4/usr/lib/python3/dist-packages/botocore/translate.pyÚbuild_retry_configs   ÿ   rcCs*| d¡}|dur|d|dd<dSdS)NÚ max_attemptsér)r)Ú retry_configr Úmax_retry_attempts_overriderrrr)s  ÿÿôrcCsd| ¡D]+\}}t|tƒr/t|ƒdkr*t| ¡ƒddkr*|t| ¡ƒd||<qt||ƒqdS)aJRecursively replace $ref keys. To cut down on duplication, common definitions can be declared (and passed in via the ``definitions`` attribute) and then references as {"$ref": "name"}, when this happens the reference dict is placed with the value from the ``definition`` dict. This is recursively done. rrz$refN)ÚitemsÚ isinstanceÚdictÚlenÚlistÚkeysÚvaluesr)Úconfigr ÚkeyÚvaluerrrr;s   €úr)N)rÚbotocore.utilsrrrrrrrrÚs   ÿ