/* Metro module 7509; source: components_native/premium/PremiumSubscriptionDetails.tsx; dependencies: [57, 5, 31, 27, 1878, 5140, 661, 1880, 33, 697, 4501, 3802, 7305, 7510, 7511, 7302, 7303, 7304, 7306, 7512, 7513, 7514, 7250, 7515, 7516, 7517, 7518, 7519, 7307, 7520, 7521, 7522, 7523, 7524, 7525, 7526, 7310, 7527, 7528, 7529, 7312, 7530, 7531, 7532, 7294, 7355, 7533, 7534, 7026, 1484, 566, 44, 6771, 5137, 477, 1305, 4578, 1244, 4573, 7545, 6789, 7546, 7547, 2] */ function _fun60564(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:6, offset: 0x01706009, size: 3084 bytes, params: 8, frame: 40 var object3; const env0_0 = require; const handleCancelSubscription = function() { return _handleCancelSubscription.apply(this, arguments); }; const closure = onCancelClick; const closure2 = handleManageSubscription; const closure3 = function() { return _onResubscribeClick.apply(this, arguments); }; const closure4 = PremiumSubscriptionHeader; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(57) /* metro dependency 57 */; const env0_4 = importDefault(5) /* metro dependency 5 */; importAll(31) /* metro dependency 31 */; let value = require(27) /* metro dependency 27 */; const env0_5 = value.Image; const env0_6 = value.ImageBackground; const env0_7 = value.Linking; const env0_8 = value.View; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const iapStoreAndroid = importDefault(5140) /* metro dependency 5140: IAPStoreAndroid */; value = require(661) /* metro dependency 661: Constants */; const env0_11 = value.AnalyticsPages; const env0_12 = value.AnalyticsSections; const env0_13 = value.SubscriptionStatusTypes; const USER_SETTINGS_CONTAINER_HORIZONTAL_PADDING = value.USER_SETTINGS_CONTAINER_HORIZONTAL_PADDING; const env0_14 = (require(1880) /* metro dependency 1880: PremiumConstants */).SubscriptionPlanInfo; value = require(33) /* metro dependency 33 */; const env0_15 = value.jsx; const env0_16 = value.jsxs; object3 = {imageTier2: {'height': 37, 'width': 49}, imageTier1: {'height': 35, 'width': 49}, imageTier0: {'height': 35, 'width': 29}, imageBundle: {'height': 35, 'width': 49}, imagePremiumNonActive: {'height': 36, 'width': 51}, imagePremiumGuild: {'width': 51, 'height': 36}, imagePremiumGuildNonActive: {'width': 51, 'height': 36}, logoPremiumBundle: {'height': 33, 'width': 205}, logoPremiumTier0: {'height': 32, 'width': 59}, logoPremiumTier1: {'height': 16, 'width': 156}, logoPremiumTier2: {'height': 32, 'width': 78}, logoPremiumGuild: {'height': 17, 'width': 184}}; const object4 = {}; const WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE; object4.price = {'fontSize': 14, 'marginTop': 10, color: WHITE}; const BLACK = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BLACK; object4.priceDark = {'fontSize': 14, 'marginTop': 10, color: BLACK}; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; const object6 = {}; object6.title = {paddingHorizontal: USER_SETTINGS_CONTAINER_HORIZONTAL_PADDING}; object6.header = {padding: 16}; object6.wumpusImg = {marginRight: 10}; object6.logoContainer = {'flexDirection': 'row', 'alignItems': 'center'}; const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST; object6.container = {'marginTop': 8, 'overflow': 'hidden', backgroundColor: BACKGROUND_BASE_LOWEST}; object6.buttonContainer = {'marginTop': 8, 'flexDirection': 'row'}; object6.buttonWrapper = {'alignSelf': 'flex-start', 'flexGrow': 0, 'flexShrink': 0, 'marginRight': 8}; object6.cancelLink = {'alignSelf': 'flex-start', 'flexGrow': 0, 'flexShrink': 0, 'marginLeft': 16, 'marginTop': 2}; object6.desktopSubtext = {marginTop: 8, paddingHorizontal: USER_SETTINGS_CONTAINER_HORIZONTAL_PADDING}; const env0_17 = Reflect.apply(createStyles, value, [object6]); const object7 = {ACTIVE: 'active', RESUB: 'resub', ERROR: 'error'}; const object8 = {}; const Branding = (require(3802) /* metro dependency 3802: PremiumUtils */).Branding; let BUNDLE = Branding.BUNDLE; const object9 = {}; let ACTIVE = object7.ACTIVE; object9[ACTIVE] = importDefault(7305) /* metro dependency 7305 */; let ERROR = object7.ERROR; object9[ERROR] = importDefault(7510) /* metro dependency 7510 */; let RESUB = object7.RESUB; object9[RESUB] = importDefault(7511) /* metro dependency 7511 */; object8[BUNDLE] = object9; let TIER_0 = Branding.TIER_0; const object10 = {}; ACTIVE = object7.ACTIVE; object10[ACTIVE] = importDefault(7302) /* metro dependency 7302 */; ERROR = object7.ERROR; object10[ERROR] = importDefault(7510) /* metro dependency 7510 */; RESUB = object7.RESUB; object10[RESUB] = importDefault(7511) /* metro dependency 7511 */; object8[TIER_0] = object10; let TIER_1 = Branding.TIER_1; const object25 = {}; ACTIVE = object7.ACTIVE; object25[ACTIVE] = importDefault(7303) /* metro dependency 7303 */; ERROR = object7.ERROR; object25[ERROR] = importDefault(7510) /* metro dependency 7510 */; RESUB = object7.RESUB; object25[RESUB] = importDefault(7511) /* metro dependency 7511 */; object8[TIER_1] = object25; let TIER_2 = Branding.TIER_2; const object26 = {}; ACTIVE = object7.ACTIVE; object26[ACTIVE] = importDefault(7304) /* metro dependency 7304 */; ERROR = object7.ERROR; object26[ERROR] = importDefault(7510) /* metro dependency 7510 */; RESUB = object7.RESUB; object26[RESUB] = importDefault(7511) /* metro dependency 7511 */; object8[TIER_2] = object26; let PREMIUM_GUILD = Branding.PREMIUM_GUILD; const object27 = {}; ACTIVE = object7.ACTIVE; object27[ACTIVE] = importDefault(7306) /* metro dependency 7306 */; ERROR = object7.ERROR; object27[ERROR] = importDefault(7512) /* metro dependency 7512 */; RESUB = object7.RESUB; object27[RESUB] = importDefault(7513) /* metro dependency 7513 */; object8[PREMIUM_GUILD] = object27; const object28 = {}; BUNDLE = Branding.BUNDLE; const object29 = {}; ACTIVE = object7.ACTIVE; object29[ACTIVE] = importDefault(7514) /* metro dependency 7514 */; ERROR = object7.ERROR; object29[ERROR] = importDefault(7514) /* metro dependency 7514 */; RESUB = object7.RESUB; object29[RESUB] = importDefault(7514) /* metro dependency 7514 */; object28[BUNDLE] = object29; TIER_0 = Branding.TIER_0; const object37 = {}; ACTIVE = object7.ACTIVE; object37[ACTIVE] = importDefault(7250) /* metro dependency 7250 */; ERROR = object7.ERROR; object37[ERROR] = importDefault(7515) /* metro dependency 7515 */; RESUB = object7.RESUB; object37[RESUB] = importDefault(7516) /* metro dependency 7516 */; object28[TIER_0] = object37; TIER_1 = Branding.TIER_1; const object38 = {}; ACTIVE = object7.ACTIVE; object38[ACTIVE] = importDefault(7517) /* metro dependency 7517 */; ERROR = object7.ERROR; object38[ERROR] = importDefault(7518) /* metro dependency 7518 */; RESUB = object7.RESUB; object38[RESUB] = importDefault(7519) /* metro dependency 7519 */; object28[TIER_1] = object38; TIER_2 = Branding.TIER_2; const object39 = {}; ACTIVE = object7.ACTIVE; object39[ACTIVE] = importDefault(7307) /* metro dependency 7307 */; ERROR = object7.ERROR; object39[ERROR] = importDefault(7520) /* metro dependency 7520 */; RESUB = object7.RESUB; object39[RESUB] = importDefault(7521) /* metro dependency 7521 */; object28[TIER_2] = object39; PREMIUM_GUILD = Branding.PREMIUM_GUILD; const object40 = {}; ACTIVE = object7.ACTIVE; object40[ACTIVE] = importDefault(7522) /* metro dependency 7522 */; ERROR = object7.ERROR; object40[ERROR] = importDefault(7523) /* metro dependency 7523 */; RESUB = object7.RESUB; object40[RESUB] = importDefault(7524) /* metro dependency 7524 */; object28[PREMIUM_GUILD] = object40; const object41 = {}; BUNDLE = Branding.BUNDLE; ACTIVE = object7.ACTIVE; ERROR = object7.ERROR; RESUB = object7.RESUB; object41[BUNDLE] = {[ACTIVE]: object3.imageBundle, [ERROR]: object3.imageBundle, [RESUB]: object3.imageBundle}; TIER_0 = Branding.TIER_0; ACTIVE = object7.ACTIVE; ERROR = object7.ERROR; RESUB = object7.RESUB; object41[TIER_0] = {[ACTIVE]: object3.imageTier0, [ERROR]: object3.imagePremiumNonActive, [RESUB]: object3.imagePremiumNonActive}; TIER_1 = Branding.TIER_1; ACTIVE = object7.ACTIVE; ERROR = object7.ERROR; RESUB = object7.RESUB; object41[TIER_1] = {[ACTIVE]: object3.imageTier1, [ERROR]: object3.imagePremiumNonActive, [RESUB]: object3.imagePremiumNonActive}; TIER_2 = Branding.TIER_2; ACTIVE = object7.ACTIVE; ERROR = object7.ERROR; RESUB = object7.RESUB; object41[TIER_2] = {[ACTIVE]: object3.imageTier2, [ERROR]: object3.imagePremiumNonActive, [RESUB]: object3.imagePremiumNonActive}; PREMIUM_GUILD = Branding.PREMIUM_GUILD; ACTIVE = object7.ACTIVE; ERROR = object7.ERROR; RESUB = object7.RESUB; object41[PREMIUM_GUILD] = {[ACTIVE]: object3.imagePremiumGuild, [ERROR]: object3.imagePremiumGuildNonActive, [RESUB]: object3.imagePremiumGuildNonActive}; const object42 = {}; BUNDLE = Branding.BUNDLE; const object43 = {}; ACTIVE = object7.ACTIVE; object43[ACTIVE] = importDefault(7525) /* metro dependency 7525 */; ERROR = object7.ERROR; object43[ERROR] = importDefault(7525) /* metro dependency 7525 */; RESUB = object7.RESUB; object43[RESUB] = importDefault(7526) /* metro dependency 7526 */; object42[BUNDLE] = object43; TIER_0 = Branding.TIER_0; const object44 = {}; ACTIVE = object7.ACTIVE; object44[ACTIVE] = importDefault(7310) /* metro dependency 7310 */; ERROR = object7.ERROR; object44[ERROR] = importDefault(7310) /* metro dependency 7310 */; RESUB = object7.RESUB; object44[RESUB] = importDefault(7527) /* metro dependency 7527 */; object42[TIER_0] = object44; TIER_1 = Branding.TIER_1; const object45 = {}; ACTIVE = object7.ACTIVE; object45[ACTIVE] = importDefault(7528) /* metro dependency 7528 */; ERROR = object7.ERROR; object45[ERROR] = importDefault(7528) /* metro dependency 7528 */; RESUB = object7.RESUB; object45[RESUB] = importDefault(7529) /* metro dependency 7529 */; object42[TIER_1] = object45; TIER_2 = Branding.TIER_2; const object46 = {}; ACTIVE = object7.ACTIVE; object46[ACTIVE] = importDefault(7312) /* metro dependency 7312 */; ERROR = object7.ERROR; object46[ERROR] = importDefault(7312) /* metro dependency 7312 */; RESUB = object7.RESUB; object46[RESUB] = importDefault(7530) /* metro dependency 7530 */; object42[TIER_2] = object46; PREMIUM_GUILD = Branding.PREMIUM_GUILD; const object47 = {}; ACTIVE = object7.ACTIVE; object47[ACTIVE] = importDefault(7531) /* metro dependency 7531 */; ERROR = object7.ERROR; object47[ERROR] = importDefault(7531) /* metro dependency 7531 */; RESUB = object7.RESUB; object47[RESUB] = importDefault(7532) /* metro dependency 7532 */; object42[PREMIUM_GUILD] = object47; const object48 = {}; BUNDLE = Branding.BUNDLE; object48[BUNDLE] = object3.logoPremiumBundle; TIER_0 = Branding.TIER_0; object48[TIER_0] = object3.logoPremiumTier0; TIER_1 = Branding.TIER_1; object48[TIER_1] = object3.logoPremiumTier1; TIER_2 = Branding.TIER_2; object48[TIER_2] = object3.logoPremiumTier2; PREMIUM_GUILD = Branding.PREMIUM_GUILD; object48[PREMIUM_GUILD] = object3.logoPremiumGuild; object3 = {}; ACTIVE = object7.ACTIVE; object3[ACTIVE] = object4.price; ERROR = object7.ERROR; object3[ERROR] = object4.price; RESUB = object7.RESUB; object3[RESUB] = object4.priceDark; (require(2) /* metro dependency 2 */).fileFinishedImporting('components_native/premium/PremiumSubscriptionDetails.tsx'); exports.default = PremiumSubscriptionDetails; exports.onCancelClick = closure; exports.handleManageSubscription = closure2; exports.onResubscribeClick = closure3; exports.PremiumSubscriptionHeader = closure4; } function getHeaderBackground_60565(a0, a1) { // fn#60565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:3850, offset: 0x01706c15, size: 23 bytes, params: 3, frame: 2 return env0_19[a0][a1]; } function getPremiumImage(a0, a1) { // fn#60566, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:3899, offset: 0x01706c2c, size: 23 bytes, params: 3, frame: 2 return env0_20[a0][a1]; } function getPremiumImageStyle(a0, a1) { // fn#60567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:3944, offset: 0x01706c43, size: 23 bytes, params: 3, frame: 2 return env0_21[a0][a1]; } function getLogo_60568(a0, a1) { // fn#60568, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:3994, offset: 0x01706c5a, size: 23 bytes, params: 3, frame: 2 return env0_22[a0][a1]; } function getPlanDescriptionStyle(a0) { // fn#60570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:4068, offset: 0x01706c81, size: 16 bytes, params: 2, frame: 2 return env0_24[a0]; } function _handleCancelSubscription() { // fn#60572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:4207, offset: 0x01706c91, size: 48 bytes, params: 1, frame: 14 return env0_4(_fun60574).apply(this, arguments); } function onCancelClick(a0, a1) { // fn#60575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:4720, offset: 0x01706dca, size: 171 bytes, params: 3, frame: 19 var r0; var defaultImport2; var object2; const env0_0 = a0; const env0_1 = a1; (require(7294) /* metro dependency 7294: PremiumAnalyticsUtils */).trackPremiumSubscriptionCancellationStarted(a0, a1); const defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */; if (defaultImport.isBoostOnlySubscription(a0)) { r0 = handleCancelSubscription(a0, a1); } else { defaultImport2 = importDefault(7533) /* metro dependency 7533: openPremiumPlanWhatYouLoseActionSheet */; object2 = {subscription: a0}; object2.mode = (require(7534) /* metro dependency 7534: PremiumPlanWhatYouLoseActionSheet */).WhatYouLoseMode.CANCEL; object2.onContinue = onContinue; r0 = defaultImport2(object2); } return r0; } function handleManageSubscription(a0, a1, a2) { // fn#60577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:4989, offset: 0x01706e95, size: 178 bytes, params: 4, frame: 16 var openURL; const status = a0.status; var value; const ACCOUNT_HOLD = SubscriptionStatusTypes.ACCOUNT_HOLD; if (status === ACCOUNT_HOLD) { openURL = Linking.openURL; value = require(3802) /* metro dependency 3802: PremiumUtils */; Reflect.apply(openURL, Linking, [value.getExternalSubscriptionMethodUrl(a0.paymentGateway, 'PAYMENT_SOURCE_MANAGEMENT')]); } else { (require(7026) /* metro dependency 7026: launchPremiumPlanSelect */).launchPremiumPlanSelect({navigation: a1, analyticsLocation: {page: AnalyticsPages.USER_SETTINGS, section: AnalyticsSections.SETTINGS_PREMIUM}, analyticsLocations: a2}); } } function _onResubscribeClick() { // fn#60579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:5372, offset: 0x01706f65, size: 48 bytes, params: 1, frame: 14 return env0_4(_fun60581).apply(this, arguments); } function PremiumSubscriptionHeader({subscription, renewalInvoicePreview, onClickManagePremiumGuild, style}) { // fn#60582, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7687:5651, offset: 0x01707035, size: 1752 bytes, params: 2, frame: 43 var r6; var r1; var r12; var r18; var r15; var statusFromInvoice; var property; var defaultImport3; var value6; var defaultImport4; var getPlanDescription; var moduleValue5; var value8; var coercedPremiumGuildSubscriptionStatus; var premiumGuildHeaderDescription; var isAndroid2; const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; var object11; var object13; const styles = useStyles(); const env0_1 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation(); const fluxModule = require(566) /* metro dependency 566: flux */; const useStateFromStores = fluxModule.useStateFromStores; let object = [UserStore]; const currentUser = Reflect.apply(useStateFromStores, fluxModule, [object, _fun60583]); const product = fluxModule.useStateFromStores([IAPStoreAndroid], _fun60584); const planIdFromInvoice = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).getPlanIdFromInvoice(subscription, renewalInvoicePreview); const premiumBranding = (require(3802) /* metro dependency 3802: PremiumUtils */).getPremiumBranding(subscription); const env0_2 = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations; const Branding = (require(3802) /* metro dependency 3802: PremiumUtils */).Branding; const PREMIUM_GUILD = Branding.PREMIUM_GUILD; if (premiumBranding === PREMIUM_GUILD) { coercedPremiumGuildSubscriptionStatus = (require(3802) /* metro dependency 3802: PremiumUtils */).getCoercedPremiumGuildSubscriptionStatus(subscription); premiumGuildHeaderDescription = (require(3802) /* metro dependency 3802: PremiumUtils */).getPremiumGuildHeaderDescription({subscription: subscription, user: currentUser, price: product?.priceString, renewalInvoicePreview: renewalInvoicePreview}); r1 = coercedPremiumGuildSubscriptionStatus; r12 = premiumGuildHeaderDescription; } else { statusFromInvoice = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).getStatusFromInvoice(subscription, renewalInvoicePreview); property = SubscriptionPlanInfo[planIdFromInvoice]; defaultImport3 = importDefault(44) /* metro dependency 44 */; value6 = null; defaultImport3(value6 != property, 'missing subscription planInfo'); defaultImport4 = importDefault(3802) /* metro dependency 3802: PremiumUtils */; getPlanDescription = defaultImport4.getPlanDescription; object = {subscription: subscription, planId: planIdFromInvoice}; if (value6 != product) { moduleValue5 = require(5137) /* metro dependency 5137: PriceUtils */; r6 = moduleValue5.formatRate(product.priceString, property.interval, property.intervalCount); } else { r6 = value6; } object.price = r6; object.includePremiumGuilds = true; value8 = Reflect.apply(getPlanDescription, defaultImport4, [object]); r1 = statusFromInvoice; r12 = value8; } const CANCELED = SubscriptionStatusTypes.CANCELED; const value11 = r1 === CANCELED; const ACTIVE = SubscriptionStatusTypes.ACTIVE; const r21 = r1 === ACTIVE ? env0_18.ACTIVE : value11 ? env0_18.RESUB : env0_18.ERROR; const r0 = value11 || !subscription.isOnPlatformMatchingExternalPaymentGateway; if (r0) { r18 = !r0; } else { isAndroid2 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid(); r18 = isAndroid2 ? subscription.renewalMutations == null : !isAndroid2; } const r14 = !value11 && subscription.isOnPlatformMatchingExternalPaymentGateway; const items3 = [styles.container, style]; const imageBackgroundBindingProps = {source: getHeaderBackground_60565(premiumBranding, r21), style: styles.header}; const imageBindingProps = {source: getPremiumImage(premiumBranding, r21)}; const items2 = [getPremiumImageStyle(premiumBranding, r21)]; items2[1] = styles.wumpusImg; imageBindingProps.style = items2; const items4 = []; const LegacyText = (require(1305) /* metro dependency 1305: native */).LegacyText; items4[1] = {r12}; const items5 = [value11 && subscription != null && subscription.isOnPlatformMatchingExternalPaymentGateway ?