B ㊇cN ã@s2ddlZddlmZd dd„Zdd„Zdd„ZdS) éN)Ú merge_dictscCsV| |i¡}t||ƒdt | di¡¡i}t||ƒt||ƒ|dk rRt||ƒ|S)NÚ __default__)ÚgetÚresolve_referencesÚcopyÚdeepcopyrÚ_merge_client_retry_config)Zendpoint_prefixZ retry_modelÚ definitionsÚclient_retry_configZservice_configZfinal_retry_config©r úm/private/var/folders/8c/hx9_v10d5x38qmnzt13b7b8j1k3n5b/T/pip-target-x6xd5gna/lib/python/botocore/translate.pyÚbuild_retry_configs     r cCs&| d¡}|dk r"|d|dd<dS)NZ max_attemptsér)r)Z retry_configr Zmax_retry_attempts_overrider r r r*s  rcCshxb| ¡D]V\}}t|tƒr t|ƒdkrVt| ¡ƒddkrV|t| ¡ƒd||<q t||ƒq WdS)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Úvaluer r r r=s   r)N)rZbotocore.utilsrr rrr r r r Ús