[He      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d  Safe None2T   NoneTAn implementation of Net functor based on wreq and IOSafeefefNone2T  None!"59; Type of Domain zone file entries Dhttps://developers.digitalocean.com/documentation/v2/#domain-records)Enumeration of possible DNS records types#Type of Domain zones =https://developers.digitalocean.com/documentation/v2/#domains4kType of action status This is returned when action is initiated or when status of some action is requested>Type of Size objects ;https://developers.digitalocean.com/documentation/v2/#sizesK Type of SSH Keys >https://developers.digitalocean.com/documentation/v2/#ssh-keysQType of droplet images <https://developers.digitalocean.com/documentation/v2/#images`(Partial) Type of Droplets >https://developers.digitalocean.com/documentation/v2/#dropletso"Type of Networks configured for a Droplet}A network is either a list of IPv4 and IPv6 NICs definitions, or no network. We need this because a droplet can contain an 'empty' networks JSON Object entry, instead of null.v#Type of a single Network definitionThis type is parameterized with a phantom type which lifts the network address type at the type level (could use DataKinds extension...). This allows distinguishing types of of networks while using same parsing.MA type for various sizes Type parameter is used to define number's magnitude&Enumeration of all possible size slugsA type for describing Regiona A region can be assigned an empty object when it is undefined, or be referenced simply by its slug =https://developers.digitalocean.com/documentation/v2/#regions[String representation of size slugs This maps to corresponding expected JSON string value. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLOMNPQRSTUVWXYZ[\]^_`adcibefghjklmnopqrstuvwxyz{|}~~vwxyz{|y}{|utopqrs`abcdefghijklmn\]^_QRSTUVWXYZ[KLMNOPJI>?@ABCDEFGH456789:;<=0123,-./()*+#$%&' !"J !"#$%&'()*+,-./01234 56789:;<=> ?@ABCDEFGHIJKLMNOPQ RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|y}{|~ None:<=   None!"$#Lookup (first) public IP for given Droplet , if any. 4Find the first droplet that matches given Id or name    None!"9;     !"     "!        !"Safe 9;<=?DOQRT#$%&'()*+,-./01 #$%&'()*+ %&#$)+*(' #$%&'()*+,-./01None29;<=3Comonadic interpreter for DropletCommands>Available commands for droplets23456789:;<=>ghijklmn?@ABCDEFG23456789:;<=>?@ABCDEF>=23456789:;<?@BCAEFD 23 456789:;<=>ghijklmn?@ABCDEFG None!":<=TopqrstuvwxyzJKJJopqrstuvwxyzJK None29;<=LMNOPQRSTUVWXYZ[\]LMNOPQRSTUVWXYZ[\TUVWXSYZ[\MNOPQRL] LMNOPQRSTUVWXYZ[\] None!":<=T{|}~`abcd``{|}~`abcd                 !"#$%&'()*+,-./01123456789:;<=>?@AABCDEFGHIJJKLMNOPQRSTUVVWXYZ[[\]^_`abcdefghiijklmnopqrstuvwwxyz{|}~      !"#$%&'()*+,-./01234556789:;<=>?@ABCDEFGHIJ K L M N N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c defghijklmn o p q r s t u v w x y z { | } ~      hdo-0.2-Cr4wsoOIlPxIhbK8G2FxgH Network.RESTNetwork.DO.NamesNetwork.DO.TypesNetwork.DO.Net.CommonNetwork.DO.Droplets.UtilsNetwork.DO.PrettyNetwork.DO.PairingNetwork.DO.Droplets.CommandsNetwork.DO.Droplets.NetNetwork.DO.CommandsNetwork.DO.Net Network.SSHNetwork.REST.CommandsNetwork.REST.WreqsshRESTTRESTGetPostWaitForGetWithPostWith DeleteWithgetJSON getJSONWithpostJSON postJSONWithdeleteJSONWithwaitForrunWreq generateName DomainRecordrecordId recordType recordName recordDatarecordPriority recordPort recordWeightDNSTypeACNAMETXTPTRSRVNSAAAAMXDomain domainName domainTTL zone_fileAction DoPowerOff DoPowerOnCreateSnapshot ActionTypePowerOffPowerOn MakeSnapshot ActionStatus InProgress CompletedErrored ActionResultactionId actionStatus actionTypeactionStartedAtactionCompletedAtactionResourceIdactionResourceTypeactionRegionSlugSizeszSlugszMemoryszVcpusszDisk szTransferszPrice_MonthlyszPrice_Hourly szRegions szAvailablePrice TransferRateKeykeyIdkeyFingerprint publicKeykeyNameImageimageId imageName distribution imageSlug publicImage imageRegions min_disk_sizeimage_created_at imageType ImageTypeSnapshot TemporaryBackupDroplet dropletIdnamememoryvcpusdisklocked created_atstatus backup_ids snapshot_idsregion size_slugnetworksNetworks NoNetworksv4v6V6V4Network NetworkV4 NetworkV6 ip_addressnetmaskgatewaynetType netmask_v6NetTypePublicPrivateStatusNewActiveOffArchiveDatetheDateBytes bytesSizeGigaMegaIdBoxConfiguration configName boxRegionsizeconfigImageSlugkeysbackgroundCreateKeyId ImageSlugSizeSlugM512G1G2G4G8G16G32G48G64G96Region RegionSlugNoRegion regionName regionSlug regionSizesregionAvailableToolConfigurationToolslackUri authTokenquietResultErrormsgURISlug AuthTokenerror sizeSlugs defaultImage jsonBytes jsonNetwork failParse$fFromJSONDomainRecord$fToJSONDNSType$fFromJSONDNSType$fFromJSONDomain$fToJSONAction$fToJSONActionType$fFromJSONActionType$fFromJSONActionStatus$fFromJSONActionResult$fFromJSONSize $fFromJSONKey$fFromJSONImage$fFromJSONImageType$fFromJSONDroplet$fFromJSONNetworks$fFromJSONNetwork$fFromJSONNetwork0$fFromJSONNetType $fFromJSONIP$fFromJSONStatus$fFromJSONDate$fFromJSONBytes$fFromJSONBytes0$fToJSONBoxConfiguration$fFromJSONSizeSlug$fToJSONSizeSlug$fReadSizeSlug$fShowSizeSlug$fFromJSONRegion $fShowRegion$fToJSONRegion$fDefaultToolConfiguration $fEqError $fShowError $fReadError$fShowToolConfiguration$fReadToolConfiguration$fEnumSizeSlug $fOrdSizeSlug $fEqSizeSlug$fShowBoxConfiguration $fShowBytes $fShowDate $fEqStatus $fShowStatus $fShowNetType $fEqNetType $fShowNetwork$fGenericNetworks$fShowNetworks $fShowDroplet$fShowImageType $fShowImage $fShowKey $fShowSize$fShowActionStatus$fShowActionType$fShowActionResult $fShowAction $fShowDomain $fShowDNSType $fReadDNSType$fGenericDNSType$fShowDomainRecordListable listEndpoint listFieldrootURI apiVersiontoURItoList authorisation queryListpublicIPfindByIdOrNamePrettypretty outputResult$fPrettyActionResult $fPrettySize$fPrettySizeSlug$fPrettyDouble $fPrettyImage $fPrettyKey $fPretty[] $fPrettyBytes$fPrettyBytes0$fPrettyNetwork$fPrettyNetworks$fPrettyRegion $fPrettyIP$fPrettyNetType$fPrettyStatus$fPrettyDroplet $fPrettyDate $fPrettyError $fPrettyChar $fPrettyMaybe$fPrettyEither $fPretty()PairingMpairMPairingpairinjlinjr pairEffect pairEffect' pairEffectM$fPairingMProductSumm$fPairingMSumProductm$fPairingM(,)(->)m$fPairing(,)(->)$fPairing(->)(,)$fPairingIdentityIdentityCoDropletCommandsTCoDropletCommands listDropletsHcreateDropletHdestroyDropletHactionDropletH getActionHlistSnapshotsHconsoleH showDropletHDropletCommandsTDropletCommands listDroplets createDroplet showDropletdestroyDroplet dropletActiondropletConsole getActionlistDropletSnapshots+$fPairingMCoDropletCommandsDropletCommandsm$fFunctorDropletCommands$fFunctorCoDropletCommandsdropletCommandsInterpreter$fListableDropletCoDOTCoDO listKeysH listSizesH listImagesH listRegionsHDOTDOListKeys ListSizes ListImages ListRegionslistKeys listSizes listImages listRegions$fPairingMCoDODOm $fFunctorDO $fFunctorCoDO mkDOClient$fListableRegion$fListableImage$fListableSize $fListableKeyleftright ListDroplets CreateDropletDestroyDroplet DropletAction GetAction ListSnapshotsConsole ShowDroplet dropletsURIdropletsEndpointdoListSnapshotsdropletFromResponsedoCreatedoDestroyDroplet actionResultdoAction doGetAction doShowDropletdoSshInDropletwaitForBoxToBeUp imagesURIkeysURIsizesURI accountURI regionsURI keysEndpoint sizesEndpointimagesEndpointregionsEndpointgenericCommands