Notas de lançamento do iOS SDK da AppsFlyer

Visão geral: notas de lançamento sobre as versões 4 em diante do iOS SDK.

iOS SDK V6 

Guias de integração do iOS SDK para desenvolvedores

Versão Data de lançamento Somente manutenção  Observações

6.12.3

04-01-2024  
  • Um novo parâmetro de original_link foi adicionado ao callback de Deep Linking no fluxo de resolução de provedores de serviços de e-mail (ESPs).
  • Todas as referências ao iAd Framework foram removidas.

6.12.2

2023-08-24 Sim  

6.12.1

20/07/2023  
  • Correção de um problema na SKAdNetwork 4.0 que fazia com que o valor da conversão bruta fosse relatado como "Nenhum"
  • Corrigida uma falha na implementação do tvOS

6.12.0

28/06/2023  

Suporte de bitcode removido do SDK

6.11.2

13/06/2023  

Correção de um problema identificado na v6.11.0, em que ao chamar  validateAndLogInAppPurchase  (a API legada para validação de compra e logging) o log do evento de compra não ocorre.

Importante: se você estiver usando a v6.11.0ou v6.11.1e a API validateAndLogInAppPurchase , por favor atualize para essa versão.

6.11.1

24/05/2023 Sim

 

6.11.0

25/04/2023  
  • Novo nome de domínio da AppsFlyer na URL usada pelo SDK para enviar solicitações aos servidores da AppsFlyer.

  • Alteração no comportamento da API setHost quando valores vazios ou nulos são enviados. Saiba mais

6.10.1

02/04/2023  

O parâmetro link foi adicionado ao payload UDL dos cenários de Direct Deep Linkinig (deep linking direto).

6.10.0

15/02/2023  

Suporte para SKAdNetwork 4.0. Saiba mais sobre a solução da AppsFlyer para SKAdNetwork

6.9.2

31/01/2023  

A estrutura de solicitação interna foi atualizada para obter dados de conversão (Get Conversion Data, GCD). Observação: os dados de resposta permanecem os mesmos.

6.9.1

28/11/2022  

A estrutura de solicitação interna foi atualizada para obter dados de conversão (Get Conversion Data, GCD). Observação: os dados de resposta permanecem os mesmos.

6.9.0

06/11/2022  

A API interna para relatórios AdRevenue foi atualizada. A partir dessa versão, somente o conector genérico (Generic Connector) para AdRevenue é compatível.

Essa versão do SDK é compatível com o AdRevenue Connector V6.9.0.

6.8.1

09/08/2022  

Detecção de reinstalação: aprimoramos a capacidade de detectar e relatar reinstalações do aplicativo usando o armazenamento no dispositivo. Esse recurso pode ser controlado no dashboard da AppsFlyer na página de Configuração do aplicativo.

6.8.0
(Descontinuado)

19/07/2022   Para detecção de reinstalação, use o SDK V6.8.1+

6.7.0

19/06/2022  

Atualize a implementação para SKAdNetwork para usar a API da Apple atualizada, updatePostbackConversionValue, introduzida no iOS 15.4.

Isso não afeta os dados enviados do SKAdNetwork e não requer nenhuma alteração no código do aplicativo.

6.6.1

16/05/2022 Sim  

6.6.0

01/05/2022   Mais parâmetros foram adicionados ao callback didResolveDeepLink da UDL para o fluxo Direct Deep Linking (usuários existentes). Clique aqui para mais informações.

6.5.4

23/03/2022 Sim  

6.5.3

02/03/2022  

Correção de bug: correção um problema com uma invocação dupla de didResolveDeepLink em links baseados em esquema de URI.

6.5.2

26/01/2022 Sim  

6.5.1

03/01/2022 Sim  

6.5.0

22/12/2021   Refatoração e mudanças internas.

6.4.4

12/12/2021 Sim  

6.4.3

30/11/2021  

Correção de estabilidade para MacOS 10.14.6 com xcframework.

6.4.2

28/10/2021 Sim

 

6.4.1

24/10/2021  

Estabilidade resolvida em aplicativos Unity.

6.4.0

12/09/2021  

API adicionada: setSharingFilterForPartners, que permite que você configure quais parceiros o SDK deve excluir do compartilhamento de dados.

A partir desta versão, setSharingFilter e setSharingFilterForAllPartners estão obsoletos.

6.3.5

19/08/2021  

API adicionada: setCurrentDeviceLanguage

A partir desta versão a linguagem não é mais coletada automaticamente pelo SDK.

6.3.4

21/07/2021  
  • Correção de bug: correção de um problema com a execução do SDK em simuladores XCode 12.5
  • Pequenas correções e atualizações.

6.3.2

2021-06-17   Registros de depuração aprimorados.

6.3.1

2021-06-02 Sim Estabilidade aprimorada no plug-in do Unity.

6.3.0

13/05/2021  
  • Suporte para Apple Silicon: adicionamos suporte para executar o SDK em um simulador usando dispositivos Mac com o chipset M1
  • A partir dessa versão, o SDK é compatível com iOS 9+. O iOS 8 não é mais compatível.
  • SDK de modo estrito do iOS: suporte adicionado para o gerenciador de dependências de Carthage
  • Atualização técnica para a API do OneLink

6.2.6

25/04/2021  
  • Correção de bug: as regras da SKAdNetwork não carregavam quando a inicialização do SDK era feita após didFinishLaunchingWithOptions
  • Correção de bug: caso extremo, em que waitForATTUserAuthorization fazia com que o evento de inicialização fosse enviado sem IDFA, mesmo em casos em que o usuário consentia com o compartilhamento de dados
  • Permitir que o SDK seja executado em dispositivos iOS 8
  • Limpeza e remoção de código e dados não utilizados

6.2.5

06/04/2021  

Refatoração, limpeza e remoção de dados não utilizados do SDK.

A partir dessa versão:

  • O método setShouldCollectDeviceName está obsoleto e não retornará o nome do dispositivo
  • O parâmetro wifi enviado do SDK está definido como False

6.2.4

15/03/2021  

Bugfix relacionado ao modo de métrica de receita SKAdNetwork e eventos in-app que contêm o parâmetro AF_REVENUE .

A partir desta versão, no caso de métrica de receita: qualquer evento contendo AF_REVENUE afeta o valor da conversão. Antes dessa alteração, o valor de conversão era definido apenas se estivesse na estrutura do evento AF_PURCHASE

Observação: se você implementar a métrica de receita do SKAdNetwork, deverá atualizar para esta versão.

6.2.3

07/03/2021  

Correção de bug relacionado à chamada de updateConversionValuedo SKAdNetwork.

 

6.2.2

18/02/2021 Sim

 

6.2.1

15/02/2021  

Suporte para relatórios de eventos por S2S

6.2.0

07/02/2021  

API adicional: setPartnerData

6.1.4

2021-01-12 Sim

 

6.1.3

24/12/2020  

6.1.2

03/12/2020 Sim

 

6.1.1

17/11/2020  

Apresentar o SDK de modo estrito

6.1.0

09/11/2020  

Suporta API de Unified deep linking

6.0.8

28/10/2020  

Suporte à atribuição de Apple App Clips

6.0.7

21/10/2020 Sim  

6.0.6

20/10/2020 Sim

 

6.0.5

08/10/2020 Sim

 

6.0.4

30/09/2020  

Suporta vários redirecionamentos de ESPs

6.0.3

06/09/2020  
  • Alteração do nome da API:
    waitForAdvertisingIdentifier --> waitForATTUserAuthorization
  • SDK coleta IDFA por padrão para iOS 14 (como para versões anteriores do iOS)

6.0.2 [deprecated]

27/08/2020  
  • Alteração do nome da API:
    deviceLoggingDisabled --> anonymizeUser
  • A caixa de diálogo AppTrackingTransparency (ATT) é necessária para coletar IDFA para iOS 14
  • Foi adicionado suporte para atribuição de promoção cruzada IDFV

6.0.1 beta

[descontinuada]

06/08/2020  
  • Suporte adicionado para atribuição SKAdNetwork, para ajudar os anunciantes a medir o sucesso da campanha, mantendo a privacidade do usuário

6.0.0 beta

[descontinuada]

04/08/2020  
  • Recursos de depuração estendidos
  • Principais alterações na funcionalidade e na API do SDK. Saiba mais

Notas de versão do iOS V6.0.0

Métodos adicionados, removidos ou renomeados

Métodos adicionados

Os seguintes métodos foram adicionados ao SDK:

  • waitForAdvertisingIdentifier

Métodos removidos

Os seguintes métodos foram removidos do SDK:

  • disableAppleAdSupportTracking

Métodos renomeados

Nome da API (antes da V6) Nome atual da API (V6 e posterior)
AppsFlyerTracker AppsFlyerLib
disableIAdTracking disableCollectASA
trackAppLaunchWithCompletionHandler

startWithCompletionHandler

trackLocation

logLocationEvent

trackAppLaunch

iniciar

trackEvent

logEvent

disableAppleAdSupportTracking

disableAdvertiserIdentifier

validateAndTrackInAppPurchase

validateAndLogInAppPurchase

isStopTracking

isStopped

deviceTrackingDisabled

deviceLoggingDisabled

sharedTracker (objetivo C) Compartilhado

Suporte para App Tracking Transparency (ATT)

O SDK do iOS oferece suporte à coleta de IDFA no iOS 14+ por meio da estrutura App Tracking Transparency. Para mais informações:

SDK do iOS V5

SDK do iOS V5

Versão Data de lançamento Observações

5.4.4

23/08/2020 Correções de bugs e manutenção

5.4.3

2020-07-30
  • Logs estendidos de registro e depuração
  • Correções de bugs e manutenção

5.4.1

2020-06-30
  • Permita que os anunciantes controlem o compartilhamento de dados com parceiros/ad networks integradas. Saiba mais
  • Método onAppOpenAttribution aprimorado para URLs longos de links universais: os parâmetros do link são retornados já analisados
  • Correções de bugs e manutenção

5.4.0

2020-06-03 Suporte ao projeto MAC Catalyst

5.3.0

2020-04-27 
  • Acesse os dados de conversão de deep linking direto mais recentes a qualquer momento, por meio do método onAppOpenAttribution
  • Parâmetros adicionais disponíveis para impressões de promoção cruzada
  • Aplicativos principais e extensões de aplicativo obtêm o mesmo ID da AppsFlyer, portanto, os eventos in-app são agrupados de maneira semelhante
  • Correções de bugs e manutenção
5.2.0 2020-03-10 
  • Logs estendidos de registro e depuração
  • Correções de bugs e manutenção
5.1.0 23/12/2019
  • Melhor interoperabilidade Obj-C - Swift
  • Correções de bugs e manutenção

Notas de versão do iOS V5.0.0

Melhoria no tempo de resposta do SDK

A partir do SDK V5.0.0 o tempo de resposta do GCD para instalações orgânicas foi melhorado.

Métodos removidos ou renomeados

Alterações no nome do método

Os nomes dos métodos de dados de conversão de instalação agora são os mesmos para Android e iOS. Isso afeta os métodos que lidam com:

  • Dados de conversão na instalação
  • Erros se os dados não estiverem disponíveis
Nome do Android antes do SDK V5  Nome do iOS antes do SDK V5 Nome padronizado
onInstallConversionDataLoaded onConversionDataReceived onConversionDataSuccess
onInstallConversionFailure onConversionDataRequestFailure onConversionDataFail

Métodos removidos

Os métodos a seguir foram descontinuados nas versões anteriores do SDK. Eles agora foram removidos do SDK.

Android

  • setGCMProjectID (String projectNumber)
  • setGCMProjectNumber (String projectNumber)
  • setGCMProjectNumber (Contexto de contexto, String projectNumber)
  • enableUninstallTracking (String senderId)
  • setAppUserId (String id)
  • setUserEmail (String email)
  • setCollectFingerPrint (boolean isCollect) 
  • getAttributionId (ContentResolver contentResolver)
  • Classe FirebaseInstanceIdListener (instância de FirebaseInstanceIdService)

 iOS

  • loadConversionDataWithDelegate: (id<AppsFlyerTrackerDelegate>)delegate
  • setHost:(NSString *)host 

Alterações para obter o formato dos dados de conversão

Nesta versão, para cada instalação ou abertura do aplicativo, o SDK retorna um objeto de mapa que contém dados de conversão (GCD), como canal de mídia e nome da campanha. Nas versões anteriores do SDK, o GCD retornava apenas parâmetros que tinham um valor

A partir desta versão, todos os parâmetros são retornados, inclusive aqueles sem valor. Parâmetros sem valor têm um valor nulo. 

 Exemplo

Uma instalação segue um clique na seguinte URL:

https://app.appsflyer.com/com.sample.app?pid=super_media_source&c=awesome_campaign
  &campaign_id=1234&af_sub1=promo
  

As respostas são as seguintes:

Resposta GCD antes do SDK V5 Resposta GCD iniciando o SDK V5

   {
      "install_time": "2019-11-11 15:00:59.828",
      "media_source": "super_media_source",
      "orig_cost": "0.0",
      "advertising_id": "215d8172-c61e-4d0c-9eb2-aa4d0971ed8c",
      "af_status": "Non-organic",
      "is_first_launch": true,
      "af_sub1": "promo",
      "af_click_lookback": "7d",
      "cost_cents_USD": "0",
      "iscache": "true",
      "click_time": "2019-11-11 15:00:35.102",
      "campaign": "awesome_campaign",
      "campaign_id": "1234",
  }
      

GCD retorna a mesma estrutura, independentemente dos dados. Se um parâmetro estiver vazio, ele será incluído no GCD com um valor nulo. Isso faz com que seja mais fácil para os desenvolvedores processarem o GCD sem ter que ajustar a lógica de processamento do GCD, independentemente de certos parâmetros serem incluídos ou não. Para saber mais sobre dados de conversão em diferentes cenários, consulte aqui.

Versões descontinuadas

Leitura relacionada: Política de controle de versão do SDK da AppsFlyer
Versão Data de lançamento Observações
5.0.0 12/11/2019
  • Correções de bugs e manutenção
  • Principais alterações na funcionalidade e na API do SDK. Saiba mais
4.11.2 07/11/2019 Correções de bugs e manutenção
4.11.1 31/10/2019 Correções de bugs e manutenção
4.11.0 17/10/2019
  • Não há mais suporte para iOS 7. iOS 8 é a versão mínima suportada agora.
  • Registro aprimorado para melhores recursos de depuração, resolução de ESP e links de marca, bem como para onInstallConversionData e onAppOpenAttribution.
  • Busca aprimorada de Apple Search Ads.
4.10.4 12/09/2019
  • Atualização para recuperação de token push do iOS 13 necessária para métrica de desinstalação
  • Correções de bugs e manutenção
4.10.3 16/07/2019 Correções de bugs e manutenção
4.10.2 02/07/2019 Correções de bugs e manutenção
4.10.1 01/07/2019 Correções de bugs e manutenção
4.10.0 14/05/2019
  • API trackAppLaunchWithCompletionHandler para lidar com sucesso ou falha na inicialização do aplicativo de rastreamento
  • API completionHandler para lidar com sucesso ou falha na gravação de eventos in-app
  • Correções de bugs e manutenção
4.9.0 18/03/2019
  • API setResolveDeepLinkURLs para resolver OneLinks agrupados com outro Universal Link
  • Uso de UIPasteboard removido para atribuição do Meta Ads para iOS 7 e inferior
  • Correções de bugs e manutenção
4.8.12 13/02/2019
  • Recursos de classificação zero aprimorados para provedores de celular
  • Recursos de classificação zero aprimorados para provedores de celular
  • Correções de bugs e manutenção
4.8.11 09/01/2019
  • A API waitForCustomerUserId () está quebrando o generateLink corrigido
4.8.10 31/10/2018
  • Corrigida uma condição de corrida quando continueUserActivity era invocado após applicationDidBecomeActive fazendo com que onAppOpenAttribution não fosse chamado
  • ValidAndTrackInAppPurchase ignora correção de parâmetros extras
  • Correções de bugs e manutenção
4.8.9 27/08/2018
  • Novos eventos do SDK: Inscrever-se, Iniciar avaliação, Clique no anúncio, Visualização do anúncio
  • Correções de bugs e manutenção
4.8.8 30/07/2018
  • Correção de um problema ao usar is_first_launch por meio de JSONSerialiser retornado como um número inteiro em vez de booleano
  • Correções de bugs e manutenção 4.8.7
4.8.7 22/07/2018 Correções de bugs e manutenção
4.8.6 18/06/2018 Correções de bugs e manutenção
4.8.5 29/05/2018 Correções de bugs e manutenção
4.8.4 03/05/2018 Correções de bugs e manutenção
4.8.3 25/01/2018
  • Correções de bugs e manutenção
  • API shouldCollectDeviceName
  • parâmetro de evento af_content
  • API shouldCollectDeviceName
  • parâmetro de evento af_content

Somas de verificação do SDK do iOS

A AppsFlyer usa checksums md5:

Checksums V6

Versão do SDK do iOS Static Lib Static Framework
6.6.1 ff41a3dfeb9fe7579f8f706f3c62bbbc 7acf1f10de7602b363a70d4a710b050d
6.6.0 ba2d2d0b64f3b0f6476b818c1b8faf5f 544c7c7e4af29afa4100b6c43affcf8f
6.5.4 5a1146a95abc84b20940b43cacc8b42a 3a0a22a28b4082a5b2f0931104b0a9c8
6.5.3 b33008f83f5eafa864902db97c003c06 3ff6754c8c238dd13e4c6251ffb4aedf
6.5.2 3083df065d14553fb1b4e34f3f7fb381 3ce0ea75e4fe3cf6313fde27d57d20ed
6.5.1 8d91f52cc2df073d1bca9919b44aeeeb c9353bdfa71ff9b4acc9097eee83d35e
6.5.0 4b72dcf125430d3d374967df5e084c6a 5d6ac0e9f7a1430e106685da117a7716
6.4.4 86586acda674d95f5661a613dccea3dd 7f4c431de13b84fd0926132c2154f0a8
6.4.3 dd5fcf42065ba2ad28f6311153fd4752 178274e63a6aa604682a3095ddf59ac5
6.4.2 2341911e4f34d17560b85409b86528c4 46df5badc29ee983a872d7859cedd59a
6.4.1 4ef6e6d424bc9b95a1ee8ebda0d5c639 0efc4140b47cbaf65b24a9087c61c434
6.4.0 9210f7064a7692c8dff7a779043e97fc f103763da687fef88db60ca6b395dc41
6.3.5 b61193ab28a601ec0dfaf4aa641a7834 9fbbf0f4cb865c95d919396d2af9a053
6.3.4 9cca998fde11c473e60bee3854f0c0da c47a02177c28290ed8c934a6428dc0dc
6.3.2 c563e2b8ee4bf6647e496d1b0ad31285 5c474247d3ce607fca43af9c9faf1fbc
6.3.1 e04a567680676b3784079d35ca32b5fe 36b808db3952803c929188ca57fe88c6
6.3.0 baa5e6d82a363e636740d6c5494e107d f2ebe86a93a2fd5122ad11224f17736c
6.2.6 9b989e131fe596b51223b6f47efac3c6 6396371abf0f66f0e6aeccd8303eeb0a
6.2.5 5b23262cb4b15230e262005b648aff0d 85ec7457b36de4402ce2c4b591fa87ab
6.2.4 f61648cd99d94c05d50a6e3213329779 3b20d45695f5e196e78d3db6c2bd738d
6.2.3 51eaa0654ec83db7da31511092312f00 d540bdc543a06ff5ccd40f90b2078557
6.2.2 9e5ceb08a3121f42b3315da87c698af3
08917804e4fe48bcb797f391d5a111f6
6.2.1 cbfe915e31bc06bb28227cb33ed22304
abfa9d9dc81fd90b0ca65de973fb1ab8
6.2.0 652ee1362af8c93119335a337deba1a5
91bb64493b344b010ebc277c849e9234
6.1.4 7e2e74d3cc186807d73c1fcf57f8b117 6c9b4ed760c9c1139681f61e6a508c8e
6.1.3 749e6c3de91afdfcddec91d290c46807 ab5884cb0c1ea00c3b3fe9a1d26a4511
6.1.2 940da06a6f8f7e3931a2a80f4e8defc9 4d39c9e6d46c49b5bde2c5ff19781957
6.1.1 7d259bd1cc5e5d2c3fea4909953375ba 09a273cf0300656ed995405e41eced58
6.1.0 e95e509d48e7b87e0213c7f12ea253e4 2c87f3a79c9318a4ed49ad8c377b007f
6.0.8 d903e6c145492488e126e46b3a233444
3237e91d12ee0871ceb0f6a0829dd43b
6.0.7 2d83f856d8d34c4f2e0e4e8561ddee05 bbb742ded1e49eae0622deb40c3becc3
6.0.6 1dd3bfc9919db8ccb7c0de8cf6505d47 5d5e5fe1624123f8316c6bdc020aa47b
6.0.5 e8afac7ef0bc7e38432bf5187fcbde7d 41966239e783ce0bbba852471a439caa
6.0.4 a88278fdb8c2f504ecb4406b8fbc1fe4 a7bba01c6484baf721f5be51242c492b
6.0.3 9f0cfed3c889ba3e334857c6d81e26be
13b07e2da8316759a8f84efb2476e854
6.0.2   13936cb4e05221e134ae1539971b9317
6.0.1 beta   6167276b56ac3b1fbdad2a4858b17bf3

Checksums V5

Versão do SDK do iOS Static Lib Static Framework
5.4.4 47d90cbc4ed48dd1c5d6f42a8d419e8b
93716e13258fce87c81c0fc604bfd6fd
5.4.3 e5691c3ae1f20726168b4eb221937d98
dbfa30607f44fa2819191c7a8d7a3fe4
5.4.1 61564250f26ab0693255e002873d1674
fc86776f0ffcdf65cc49f33f7d943258
5.4.0 fa835b3577f389a12ef635eea0b000bb
0bd6a7b4441dc8f397831533e719a833
5.3.0 e787da7334e6c68e0098fd53ebea285e
2f160176b1c011f9aca558543cd63190
5.2.0 057c18bb7485e1c06f2b452d80ee5b22
736b50840b8c08093401f3bba2c4389b
5.1.0 f39819c11b06f98ff24e39cbd0f0f6ce 39889a253dafcfb2d53151523c1c1d80
5.0.0 5ac9e35af65fbfcaf81c1f63a36542b9 1727be9fa19906f0c1e1907b4b160086

Checksums V4

Versão do SDK do iOS Static Lib Static Framework
4.11.2 f5415c2014402a03b8ca2c9901ddf12d 3fcf5afd6a20f353f7f88f1fbb4d4410
4.11.1 716394142df4d8e7a98e2c11cfe92ed1 e6521d8216d3aa8d681ac74e279dab34
4.11.0 e7238410372dfa7ca65e5839a31b1c2e
c6d3283bf69adb75aa9ed6c43195a3d6
4.10.0 4d5c01129b80d7ad182e32cf3b47faa4 da926eeb09d61f68f2076a9b31c30d7a
4.9.0 d283ace3237479d1aabc2a81271ea5ba bad6d9b8c627d7450e7acc8165b05618
4.8.9 e9640a7f95257a89c3e99215df79f1df fb0975064d2b93cedb71ce248cf3afb9
4.8.4 b7748ea6b86afbc295e17bac3d5bdda6 4cd7a95f49cfb79ecd9a0ce0c73750a3
4.8.3 51d38c4b77f39c75c5fc5734165fedc2 23096a32726a9def3e215a761bf7ad30
4.8.2 0908336d4e9bcf4de1d5f4f2e37ad0cb a386cfadd76fd783e6a10d0cd8fcb685
4.8.1   3b8a7d70b96bd7c5718feafeb31296b9
4.8.0 bb1358226bd3ca70d70f4717b62ca38b 3d81144bb653e91cb624778c87641051
4.7.9 e9183f23954a3f42a9fa6ae3eeebb6df 03905309048e26e9be7ee02895532d11
4.7.8 5595fa7dfc4c13b4a955638ba1da062e 61c30629f3dcb5ae48da10a458e80d28
4.7.7 3a8d0be3b304de5e81c967ab8a465de3 b8dd0ee60c75aa30884f56569068f32e
4.7.6 6cc80a31cf9daae5709a22258f434c6d 3d4607b13b6f138264db703e36f5452e
4.7.3 73db4e0173fcfdb758644b08fdbbd7bf 06572392afe0ae28a814601642963469
4.7.2 14a79e4ecffad264bc62b307d2db23a7 0aae1d0ace09e5b092f9906747119cfd
4.7.11 27e228c921f560205c0ad2c7962e83b2 d94cdab5734a88598cfcc078573e5b21
4.7.10 5cb1275b488369fee4713d21812186a0  
4.7.1 b121dfdf8d0dc53d031481114eba0c18 74ac06d17f167a0e22c361e06f4a2554
4.7.0 c3c0a453caa9971492ef8acd8bee04ae cadeab0479c4a723173943d77d253051