Ë
    uPêj­  ã            	       ó  — U d dl mZ d dlmZ d dlmZ d dlZd dlmZ dZ	ee
   ed<   dZee
   ed	<    ed
ddddddœ«      Zeee
e
f      ed<   de
dee
ef   de
dz  fd„Zde
dee
ef   dz  dedz  fd„Z	 dde
dedee
ef   dz  defd„Zy)é    )ÚMapping)ÚMappingProxyType)ÚFinalN)ÚImageResponseÚhighÚ!FAL_KEYED_PRICING_DEFAULT_QUALITYz
1024-x-768ÚFAL_TEXT_TO_IMAGE_DEFAULT_SIZEz1024-x-1024z	512-x-512z
768-x-1024z
576-x-1024z
1024-x-576)Ú	square_hdÚsquareÚportrait_4_3Úportrait_16_9Úlandscape_4_3Úlandscape_16_9ÚFAL_NAMED_IMAGE_SIZESÚmodelÚoptional_paramsÚreturnc                 óZ  — |j                  d«      }|€| j                  d«      rd S t        S t        |t        «      rJ|j                  d«      }|j                  d«      }t        |t
        «      rt        |t
        «      r|› d|› �S y t        |t        «      rt        j                  |«      S y )NÚ
image_sizez/editÚwidthÚheightz-x-)ÚgetÚendswithr	   Ú
isinstancer   ÚintÚstrr   )r   r   r   r   r   s        úh/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/fal_ai/cost_calculator.pyÚ_keyed_sizer      sš   € Ø'×+Ñ+¨LÓ9€JØÐØ—~‘~ gÔ.ˆtÐRÔ4RÐRÜ�*œgÔ&Ø!—~‘~ gÓ.ˆØ"Ÿ™ xÓ0ˆÜ�eœSÔ!¤j°¼Ô&=Ø�W˜C ˜xÐ(Ð(ØÜ�*œcÔ"Ü$×(Ñ(¨Ó4Ð4Øó    c                 óB  — |€y t        | |¬«      }|€y |j                  d«      }t        |t        «      r|dk7  r|nt        }t
        j                  j                  d|› d|› d| › �«      }|€y |j                  d«      }t        |t        t        f«      rt        |«      S d S )N©r   r   ÚqualityÚautozfal_ai/ú/Úoutput_cost_per_image)	r   r   r   r   r   ÚlitellmÚ
model_costr   Úfloat)r   r   ÚsizeÚraw_qualityr"   Úkeyed_entryÚ
keyed_costs          r   Ú_keyed_cost_per_imager-   %   sª   € ØÐØÜ E¸?ÔK€DØ€|ØØ(×,Ñ,¨YÓ7€Kä! +¬sÔ3¸ÀvÒ8M‰ÔStð ô !×+Ñ+×/Ñ/°'¸'¸À!ÀDÀ6ÈÈ5È'Ð0RÓS€KØÐØØ#Ÿ™Ð(?Ó@€JÜ *¨:¼¼U°|Ô DŒ5�ÓÐNÈ$ÐNr   Úimage_responsec                 óÐ  — t        |t        «      st        dt        |«      › �«      ‚| j	                  t
        j                  j                  j                  › d�«      } |j                  rt        |j                  «      nd}t        | |¬«      }|�||z  S t        j                  | t
        j                  j                  j                  ¬«      }|j                  d«      xs d}||z  S )z1
    fal.ai image generation cost calculator
    z6image_response must be of type ImageResponse got type=r$   r   r!   )r   Úcustom_llm_providerr%   g        )r   r   Ú
ValueErrorÚtypeÚremoveprefixr&   ÚLlmProvidersÚFAL_AIÚvalueÚdataÚlenr-   Úget_model_infor   )r   r.   r   Ú
num_imagesÚkeyed_cost_per_imageÚ_model_infor%   s          r   Úcost_calculatorr=   6   sØ   € ô �n¤mÔ4ÜÐQÔRVÐWeÓRfÐQgÐhÓiÐià×Ñ¤'×"6Ñ"6×"=Ñ"=×"CÑ"CÐ!DÀAÐFÓG€EØ9G×9LÒ9LœS ×!4Ñ!4Ô5ÐRS€JÜ"7¸eÐUdÔ"eÐØÐ'Ø# jÑ0Ð0Ü ×/Ñ/ØÜ#×0Ñ0×7Ñ7×=Ñ=ô€Kð +6¯/©/Ð:QÓ*RÒ*YÐVYÐØ  :Ñ-Ð-r   )N)Úcollections.abcr   Útypesr   Útypingr   r&   Úlitellm.types.utilsr   r   r   Ú__annotations__r	   r   Úobjectr   r(   r-   r=   © r   r   ú<module>rE      sÿ   ðÞ #Ý "Ý ã Ý -à06Ð ! 5¨¡:Ó 6Ø-9Ð   c¡
Ó 9Ù2Bà"ØØ$Ø%Ø%Ø&ñó	3Ð �u˜W S¨# XÑ.Ñ/ó 	ð�sð ¨W°S¸&°[Ñ-Að ÀcÈDÁjó ðO ð O°w¸sÀF¸{Ñ7KÈdÑ7Rð OÐW\Ð_cÑWcó Oð( 48ñ.Øð.àð.ð ˜S &˜[Ñ)¨DÑ0ð.ð ô	.r   