// RUN: %target-run-simple-swift( -O -whole-module-optimization )
// REQUIRES: executable_test
// REQUIRES: objc_interop
// REQUIRES: CPU=arm64e

import Foundation

// Test the following scenario:
// 1. Swift superclass with provably unused vtable methods eliminated by the optimizer.
// 2. Swift subclass dynamically set up at runtime.
// 3. Runtime copies the vtable when setting up the class.
// 4. Runtime encounters NULL entry for unused vtable method.
// 5. By random chance, the ptrauth signature for the NULL is 0.
// 6. The runtime checks for a pure, unsigned NULL and copies it verbatim.
// 7. Dynamically created subclass of Swift subclass.
// 8. Class copy fixup handler encounters the unsigned NULL and fails ptrauth.
// We should instead accept the unsigned NULL without faulting.

open class Sup<T>: NSObject {
  open func openfunc() {}

  public func publicfunc() {}

  // Lots of unused internal functions makes this bug hit faster.
  internal func internalfunc1() {}
  internal func internalfunc2() {}
  internal func internalfunc3() {}
  internal func internalfunc4() {}
  internal func internalfunc5() {}
  internal func internalfunc6() {}
  internal func internalfunc7() {}
  internal func internalfunc8() {}
  internal func internalfunc9() {}
  internal func internalfunc10() {}
  internal func internalfunc11() {}
  internal func internalfunc12() {}
  internal func internalfunc13() {}
  internal func internalfunc14() {}
  internal func internalfunc15() {}
  internal func internalfunc16() {}
  internal func internalfunc17() {}
  internal func internalfunc18() {}
  internal func internalfunc19() {}
  internal func internalfunc20() {}
  internal func internalfunc21() {}
  internal func internalfunc22() {}
  internal func internalfunc23() {}
  internal func internalfunc24() {}
  internal func internalfunc25() {}
  internal func internalfunc26() {}
  internal func internalfunc27() {}
  internal func internalfunc28() {}
  internal func internalfunc29() {}
  internal func internalfunc30() {}
  internal func internalfunc31() {}
  internal func internalfunc32() {}
  internal func internalfunc33() {}
  internal func internalfunc34() {}
  internal func internalfunc35() {}
  internal func internalfunc36() {}
  internal func internalfunc37() {}
  internal func internalfunc38() {}
  internal func internalfunc39() {}
  internal func internalfunc40() {}
  internal func internalfunc41() {}
  internal func internalfunc42() {}
  internal func internalfunc43() {}
  internal func internalfunc44() {}
  internal func internalfunc45() {}
  internal func internalfunc46() {}
  internal func internalfunc47() {}
  internal func internalfunc48() {}
  internal func internalfunc49() {}
  internal func internalfunc50() {}
  internal func internalfunc51() {}
  internal func internalfunc52() {}
  internal func internalfunc53() {}
  internal func internalfunc54() {}
  internal func internalfunc55() {}
  internal func internalfunc56() {}
  internal func internalfunc57() {}
  internal func internalfunc58() {}
  internal func internalfunc59() {}
  internal func internalfunc60() {}
  internal func internalfunc61() {}
  internal func internalfunc62() {}
  internal func internalfunc63() {}
  internal func internalfunc64() {}
  internal func internalfunc65() {}
  internal func internalfunc66() {}
  internal func internalfunc67() {}
  internal func internalfunc68() {}
  internal func internalfunc69() {}
  internal func internalfunc70() {}
  internal func internalfunc71() {}
  internal func internalfunc72() {}
  internal func internalfunc73() {}
  internal func internalfunc74() {}
  internal func internalfunc75() {}
  internal func internalfunc76() {}
  internal func internalfunc77() {}
  internal func internalfunc78() {}
  internal func internalfunc79() {}
  internal func internalfunc80() {}
  internal func internalfunc81() {}
  internal func internalfunc82() {}
  internal func internalfunc83() {}
  internal func internalfunc84() {}
  internal func internalfunc85() {}
  internal func internalfunc86() {}
  internal func internalfunc87() {}
  internal func internalfunc88() {}
  internal func internalfunc89() {}
  internal func internalfunc90() {}
  internal func internalfunc91() {}
  internal func internalfunc92() {}
  internal func internalfunc93() {}
  internal func internalfunc94() {}
  internal func internalfunc95() {}
  internal func internalfunc96() {}
  internal func internalfunc97() {}
  internal func internalfunc98() {}
  internal func internalfunc99() {}
  internal func internalfunc100() {}
  internal func internalfunc101() {}
  internal func internalfunc102() {}
  internal func internalfunc103() {}
  internal func internalfunc104() {}
  internal func internalfunc105() {}
  internal func internalfunc106() {}
  internal func internalfunc107() {}
  internal func internalfunc108() {}
  internal func internalfunc109() {}
  internal func internalfunc110() {}
  internal func internalfunc111() {}
  internal func internalfunc112() {}
  internal func internalfunc113() {}
  internal func internalfunc114() {}
  internal func internalfunc115() {}
  internal func internalfunc116() {}
  internal func internalfunc117() {}
  internal func internalfunc118() {}
  internal func internalfunc119() {}
  internal func internalfunc120() {}
  internal func internalfunc121() {}
  internal func internalfunc122() {}
  internal func internalfunc123() {}
  internal func internalfunc124() {}
  internal func internalfunc125() {}
  internal func internalfunc126() {}
  internal func internalfunc127() {}
  internal func internalfunc128() {}
  internal func internalfunc129() {}
  internal func internalfunc130() {}
  internal func internalfunc131() {}
  internal func internalfunc132() {}
  internal func internalfunc133() {}
  internal func internalfunc134() {}
  internal func internalfunc135() {}
  internal func internalfunc136() {}
  internal func internalfunc137() {}
  internal func internalfunc138() {}
  internal func internalfunc139() {}
  internal func internalfunc140() {}
  internal func internalfunc141() {}
  internal func internalfunc142() {}
  internal func internalfunc143() {}
  internal func internalfunc144() {}
  internal func internalfunc145() {}
  internal func internalfunc146() {}
  internal func internalfunc147() {}
  internal func internalfunc148() {}
  internal func internalfunc149() {}
  internal func internalfunc150() {}
  internal func internalfunc151() {}
  internal func internalfunc152() {}
  internal func internalfunc153() {}
  internal func internalfunc154() {}
  internal func internalfunc155() {}
  internal func internalfunc156() {}
  internal func internalfunc157() {}
  internal func internalfunc158() {}
  internal func internalfunc159() {}
  internal func internalfunc160() {}
  internal func internalfunc161() {}
  internal func internalfunc162() {}
  internal func internalfunc163() {}
  internal func internalfunc164() {}
  internal func internalfunc165() {}
  internal func internalfunc166() {}
  internal func internalfunc167() {}
  internal func internalfunc168() {}
  internal func internalfunc169() {}
  internal func internalfunc170() {}
  internal func internalfunc171() {}
  internal func internalfunc172() {}
  internal func internalfunc173() {}
  internal func internalfunc174() {}
  internal func internalfunc175() {}
  internal func internalfunc176() {}
  internal func internalfunc177() {}
  internal func internalfunc178() {}
  internal func internalfunc179() {}
  internal func internalfunc180() {}
  internal func internalfunc181() {}
  internal func internalfunc182() {}
  internal func internalfunc183() {}
  internal func internalfunc184() {}
  internal func internalfunc185() {}
  internal func internalfunc186() {}
  internal func internalfunc187() {}
  internal func internalfunc188() {}
  internal func internalfunc189() {}
  internal func internalfunc190() {}
  internal func internalfunc191() {}
  internal func internalfunc192() {}
  internal func internalfunc193() {}
  internal func internalfunc194() {}
  internal func internalfunc195() {}
  internal func internalfunc196() {}
  internal func internalfunc197() {}
  internal func internalfunc198() {}
  internal func internalfunc199() {}
  internal func internalfunc200() {}
  internal func internalfunc201() {}
  internal func internalfunc202() {}
  internal func internalfunc203() {}
  internal func internalfunc204() {}
  internal func internalfunc205() {}
  internal func internalfunc206() {}
  internal func internalfunc207() {}
  internal func internalfunc208() {}
  internal func internalfunc209() {}
  internal func internalfunc210() {}
  internal func internalfunc211() {}
  internal func internalfunc212() {}
  internal func internalfunc213() {}
  internal func internalfunc214() {}
  internal func internalfunc215() {}
  internal func internalfunc216() {}
  internal func internalfunc217() {}
  internal func internalfunc218() {}
  internal func internalfunc219() {}
  internal func internalfunc220() {}
  internal func internalfunc221() {}
  internal func internalfunc222() {}
  internal func internalfunc223() {}
  internal func internalfunc224() {}
  internal func internalfunc225() {}
  internal func internalfunc226() {}
  internal func internalfunc227() {}
  internal func internalfunc228() {}
  internal func internalfunc229() {}
  internal func internalfunc230() {}
  internal func internalfunc231() {}
  internal func internalfunc232() {}
  internal func internalfunc233() {}
  internal func internalfunc234() {}
  internal func internalfunc235() {}
  internal func internalfunc236() {}
  internal func internalfunc237() {}
  internal func internalfunc238() {}
  internal func internalfunc239() {}
  internal func internalfunc240() {}
  internal func internalfunc241() {}
  internal func internalfunc242() {}
  internal func internalfunc243() {}
  internal func internalfunc244() {}
  internal func internalfunc245() {}
  internal func internalfunc246() {}
  internal func internalfunc247() {}
  internal func internalfunc248() {}
  internal func internalfunc249() {}
  internal func internalfunc250() {}
  internal func internalfunc251() {}
  internal func internalfunc252() {}
  internal func internalfunc253() {}
  internal func internalfunc254() {}
  internal func internalfunc255() {}
  internal func internalfunc256() {}
  internal func internalfunc257() {}
  internal func internalfunc258() {}
  internal func internalfunc259() {}
  internal func internalfunc260() {}
  internal func internalfunc261() {}
  internal func internalfunc262() {}
  internal func internalfunc263() {}
  internal func internalfunc264() {}
  internal func internalfunc265() {}
  internal func internalfunc266() {}
  internal func internalfunc267() {}
  internal func internalfunc268() {}
  internal func internalfunc269() {}
  internal func internalfunc270() {}
  internal func internalfunc271() {}
  internal func internalfunc272() {}
  internal func internalfunc273() {}
  internal func internalfunc274() {}
  internal func internalfunc275() {}
  internal func internalfunc276() {}
  internal func internalfunc277() {}
  internal func internalfunc278() {}
  internal func internalfunc279() {}
  internal func internalfunc280() {}
  internal func internalfunc281() {}
  internal func internalfunc282() {}
  internal func internalfunc283() {}
  internal func internalfunc284() {}
  internal func internalfunc285() {}
  internal func internalfunc286() {}
  internal func internalfunc287() {}
  internal func internalfunc288() {}
  internal func internalfunc289() {}
  internal func internalfunc290() {}
  internal func internalfunc291() {}
  internal func internalfunc292() {}
  internal func internalfunc293() {}
  internal func internalfunc294() {}
  internal func internalfunc295() {}
  internal func internalfunc296() {}
  internal func internalfunc297() {}
  internal func internalfunc298() {}
  internal func internalfunc299() {}
  internal func internalfunc300() {}
  internal func internalfunc301() {}
  internal func internalfunc302() {}
  internal func internalfunc303() {}
  internal func internalfunc304() {}
  internal func internalfunc305() {}
  internal func internalfunc306() {}
  internal func internalfunc307() {}
  internal func internalfunc308() {}
  internal func internalfunc309() {}
  internal func internalfunc310() {}
  internal func internalfunc311() {}
  internal func internalfunc312() {}
  internal func internalfunc313() {}
  internal func internalfunc314() {}
  internal func internalfunc315() {}
  internal func internalfunc316() {}
  internal func internalfunc317() {}
  internal func internalfunc318() {}
  internal func internalfunc319() {}
  internal func internalfunc320() {}
  internal func internalfunc321() {}
  internal func internalfunc322() {}
  internal func internalfunc323() {}
  internal func internalfunc324() {}
  internal func internalfunc325() {}
  internal func internalfunc326() {}
  internal func internalfunc327() {}
  internal func internalfunc328() {}
  internal func internalfunc329() {}
  internal func internalfunc330() {}
  internal func internalfunc331() {}
  internal func internalfunc332() {}
  internal func internalfunc333() {}
  internal func internalfunc334() {}
  internal func internalfunc335() {}
  internal func internalfunc336() {}
  internal func internalfunc337() {}
  internal func internalfunc338() {}
  internal func internalfunc339() {}
  internal func internalfunc340() {}
  internal func internalfunc341() {}
  internal func internalfunc342() {}
  internal func internalfunc343() {}
  internal func internalfunc344() {}
  internal func internalfunc345() {}
  internal func internalfunc346() {}
  internal func internalfunc347() {}
  internal func internalfunc348() {}
  internal func internalfunc349() {}
  internal func internalfunc350() {}
  internal func internalfunc351() {}
  internal func internalfunc352() {}
  internal func internalfunc353() {}
  internal func internalfunc354() {}
  internal func internalfunc355() {}
  internal func internalfunc356() {}
  internal func internalfunc357() {}
  internal func internalfunc358() {}
  internal func internalfunc359() {}
  internal func internalfunc360() {}
  internal func internalfunc361() {}
  internal func internalfunc362() {}
  internal func internalfunc363() {}
  internal func internalfunc364() {}
  internal func internalfunc365() {}
  internal func internalfunc366() {}
  internal func internalfunc367() {}
  internal func internalfunc368() {}
  internal func internalfunc369() {}
  internal func internalfunc370() {}
  internal func internalfunc371() {}
  internal func internalfunc372() {}
  internal func internalfunc373() {}
  internal func internalfunc374() {}
  internal func internalfunc375() {}
  internal func internalfunc376() {}
  internal func internalfunc377() {}
  internal func internalfunc378() {}
  internal func internalfunc379() {}
  internal func internalfunc380() {}
  internal func internalfunc381() {}
  internal func internalfunc382() {}
  internal func internalfunc383() {}
  internal func internalfunc384() {}
  internal func internalfunc385() {}
  internal func internalfunc386() {}
  internal func internalfunc387() {}
  internal func internalfunc388() {}
  internal func internalfunc389() {}
  internal func internalfunc390() {}
  internal func internalfunc391() {}
  internal func internalfunc392() {}
  internal func internalfunc393() {}
  internal func internalfunc394() {}
  internal func internalfunc395() {}
  internal func internalfunc396() {}
  internal func internalfunc397() {}
  internal func internalfunc398() {}
  internal func internalfunc399() {}
  internal func internalfunc400() {}
  internal func internalfunc401() {}
  internal func internalfunc402() {}
  internal func internalfunc403() {}
  internal func internalfunc404() {}
  internal func internalfunc405() {}
  internal func internalfunc406() {}
  internal func internalfunc407() {}
  internal func internalfunc408() {}
  internal func internalfunc409() {}
  internal func internalfunc410() {}
  internal func internalfunc411() {}
  internal func internalfunc412() {}
  internal func internalfunc413() {}
  internal func internalfunc414() {}
  internal func internalfunc415() {}
  internal func internalfunc416() {}
  internal func internalfunc417() {}
  internal func internalfunc418() {}
  internal func internalfunc419() {}
  internal func internalfunc420() {}
  internal func internalfunc421() {}
  internal func internalfunc422() {}
  internal func internalfunc423() {}
  internal func internalfunc424() {}
  internal func internalfunc425() {}
  internal func internalfunc426() {}
  internal func internalfunc427() {}
  internal func internalfunc428() {}
  internal func internalfunc429() {}
  internal func internalfunc430() {}
  internal func internalfunc431() {}
  internal func internalfunc432() {}
  internal func internalfunc433() {}
  internal func internalfunc434() {}
  internal func internalfunc435() {}
  internal func internalfunc436() {}
  internal func internalfunc437() {}
  internal func internalfunc438() {}
  internal func internalfunc439() {}
  internal func internalfunc440() {}
  internal func internalfunc441() {}
  internal func internalfunc442() {}
  internal func internalfunc443() {}
  internal func internalfunc444() {}
  internal func internalfunc445() {}
  internal func internalfunc446() {}
  internal func internalfunc447() {}
  internal func internalfunc448() {}
  internal func internalfunc449() {}
  internal func internalfunc450() {}
  internal func internalfunc451() {}
  internal func internalfunc452() {}
  internal func internalfunc453() {}
  internal func internalfunc454() {}
  internal func internalfunc455() {}
  internal func internalfunc456() {}
  internal func internalfunc457() {}
  internal func internalfunc458() {}
  internal func internalfunc459() {}
  internal func internalfunc460() {}
  internal func internalfunc461() {}
  internal func internalfunc462() {}
  internal func internalfunc463() {}
  internal func internalfunc464() {}
  internal func internalfunc465() {}
  internal func internalfunc466() {}
  internal func internalfunc467() {}
  internal func internalfunc468() {}
  internal func internalfunc469() {}
  internal func internalfunc470() {}
  internal func internalfunc471() {}
  internal func internalfunc472() {}
  internal func internalfunc473() {}
  internal func internalfunc474() {}
  internal func internalfunc475() {}
  internal func internalfunc476() {}
  internal func internalfunc477() {}
  internal func internalfunc478() {}
  internal func internalfunc479() {}
  internal func internalfunc480() {}
  internal func internalfunc481() {}
  internal func internalfunc482() {}
  internal func internalfunc483() {}
  internal func internalfunc484() {}
  internal func internalfunc485() {}
  internal func internalfunc486() {}
  internal func internalfunc487() {}
  internal func internalfunc488() {}
  internal func internalfunc489() {}
  internal func internalfunc490() {}
  internal func internalfunc491() {}
  internal func internalfunc492() {}
  internal func internalfunc493() {}
  internal func internalfunc494() {}
  internal func internalfunc495() {}
  internal func internalfunc496() {}
  internal func internalfunc497() {}
  internal func internalfunc498() {}
  internal func internalfunc499() {}
  internal func internalfunc500() {}
  internal func internalfunc501() {}
  internal func internalfunc502() {}
  internal func internalfunc503() {}
  internal func internalfunc504() {}
  internal func internalfunc505() {}
  internal func internalfunc506() {}
  internal func internalfunc507() {}
  internal func internalfunc508() {}
  internal func internalfunc509() {}
  internal func internalfunc510() {}
  internal func internalfunc511() {}
  internal func internalfunc512() {}
  internal func internalfunc513() {}
  internal func internalfunc514() {}
  internal func internalfunc515() {}
  internal func internalfunc516() {}
  internal func internalfunc517() {}
  internal func internalfunc518() {}
  internal func internalfunc519() {}
  internal func internalfunc520() {}
  internal func internalfunc521() {}
  internal func internalfunc522() {}
  internal func internalfunc523() {}
  internal func internalfunc524() {}
  internal func internalfunc525() {}
  internal func internalfunc526() {}
  internal func internalfunc527() {}
  internal func internalfunc528() {}
  internal func internalfunc529() {}
  internal func internalfunc530() {}
  internal func internalfunc531() {}
  internal func internalfunc532() {}
  internal func internalfunc533() {}
  internal func internalfunc534() {}
  internal func internalfunc535() {}
  internal func internalfunc536() {}
  internal func internalfunc537() {}
  internal func internalfunc538() {}
  internal func internalfunc539() {}
  internal func internalfunc540() {}
  internal func internalfunc541() {}
  internal func internalfunc542() {}
  internal func internalfunc543() {}
  internal func internalfunc544() {}
  internal func internalfunc545() {}
  internal func internalfunc546() {}
  internal func internalfunc547() {}
  internal func internalfunc548() {}
  internal func internalfunc549() {}
  internal func internalfunc550() {}
  internal func internalfunc551() {}
  internal func internalfunc552() {}
  internal func internalfunc553() {}
  internal func internalfunc554() {}
  internal func internalfunc555() {}
  internal func internalfunc556() {}
  internal func internalfunc557() {}
  internal func internalfunc558() {}
  internal func internalfunc559() {}
  internal func internalfunc560() {}
  internal func internalfunc561() {}
  internal func internalfunc562() {}
  internal func internalfunc563() {}
  internal func internalfunc564() {}
  internal func internalfunc565() {}
  internal func internalfunc566() {}
  internal func internalfunc567() {}
  internal func internalfunc568() {}
  internal func internalfunc569() {}
  internal func internalfunc570() {}
  internal func internalfunc571() {}
  internal func internalfunc572() {}
  internal func internalfunc573() {}
  internal func internalfunc574() {}
  internal func internalfunc575() {}
  internal func internalfunc576() {}
  internal func internalfunc577() {}
  internal func internalfunc578() {}
  internal func internalfunc579() {}
  internal func internalfunc580() {}
  internal func internalfunc581() {}
  internal func internalfunc582() {}
  internal func internalfunc583() {}
  internal func internalfunc584() {}
  internal func internalfunc585() {}
  internal func internalfunc586() {}
  internal func internalfunc587() {}
  internal func internalfunc588() {}
  internal func internalfunc589() {}
  internal func internalfunc590() {}
  internal func internalfunc591() {}
  internal func internalfunc592() {}
  internal func internalfunc593() {}
  internal func internalfunc594() {}
  internal func internalfunc595() {}
  internal func internalfunc596() {}
  internal func internalfunc597() {}
  internal func internalfunc598() {}
  internal func internalfunc599() {}
  internal func internalfunc600() {}
  internal func internalfunc601() {}
  internal func internalfunc602() {}
  internal func internalfunc603() {}
  internal func internalfunc604() {}
  internal func internalfunc605() {}
  internal func internalfunc606() {}
  internal func internalfunc607() {}
  internal func internalfunc608() {}
  internal func internalfunc609() {}
  internal func internalfunc610() {}
  internal func internalfunc611() {}
  internal func internalfunc612() {}
  internal func internalfunc613() {}
  internal func internalfunc614() {}
  internal func internalfunc615() {}
  internal func internalfunc616() {}
  internal func internalfunc617() {}
  internal func internalfunc618() {}
  internal func internalfunc619() {}
  internal func internalfunc620() {}
  internal func internalfunc621() {}
  internal func internalfunc622() {}
  internal func internalfunc623() {}
  internal func internalfunc624() {}
  internal func internalfunc625() {}
  internal func internalfunc626() {}
  internal func internalfunc627() {}
  internal func internalfunc628() {}
  internal func internalfunc629() {}
  internal func internalfunc630() {}
  internal func internalfunc631() {}
  internal func internalfunc632() {}
  internal func internalfunc633() {}
  internal func internalfunc634() {}
  internal func internalfunc635() {}
  internal func internalfunc636() {}
  internal func internalfunc637() {}
  internal func internalfunc638() {}
  internal func internalfunc639() {}
  internal func internalfunc640() {}
  internal func internalfunc641() {}
  internal func internalfunc642() {}
  internal func internalfunc643() {}
  internal func internalfunc644() {}
  internal func internalfunc645() {}
  internal func internalfunc646() {}
  internal func internalfunc647() {}
  internal func internalfunc648() {}
  internal func internalfunc649() {}
  internal func internalfunc650() {}
  internal func internalfunc651() {}
  internal func internalfunc652() {}
  internal func internalfunc653() {}
  internal func internalfunc654() {}
  internal func internalfunc655() {}
  internal func internalfunc656() {}
  internal func internalfunc657() {}
  internal func internalfunc658() {}
  internal func internalfunc659() {}
  internal func internalfunc660() {}
  internal func internalfunc661() {}
  internal func internalfunc662() {}
  internal func internalfunc663() {}
  internal func internalfunc664() {}
  internal func internalfunc665() {}
  internal func internalfunc666() {}
  internal func internalfunc667() {}
  internal func internalfunc668() {}
  internal func internalfunc669() {}
  internal func internalfunc670() {}
  internal func internalfunc671() {}
  internal func internalfunc672() {}
  internal func internalfunc673() {}
  internal func internalfunc674() {}
  internal func internalfunc675() {}
  internal func internalfunc676() {}
  internal func internalfunc677() {}
  internal func internalfunc678() {}
  internal func internalfunc679() {}
  internal func internalfunc680() {}
  internal func internalfunc681() {}
  internal func internalfunc682() {}
  internal func internalfunc683() {}
  internal func internalfunc684() {}
  internal func internalfunc685() {}
  internal func internalfunc686() {}
  internal func internalfunc687() {}
  internal func internalfunc688() {}
  internal func internalfunc689() {}
  internal func internalfunc690() {}
  internal func internalfunc691() {}
  internal func internalfunc692() {}
  internal func internalfunc693() {}
  internal func internalfunc694() {}
  internal func internalfunc695() {}
  internal func internalfunc696() {}
  internal func internalfunc697() {}
  internal func internalfunc698() {}
  internal func internalfunc699() {}
  internal func internalfunc700() {}
  internal func internalfunc701() {}
  internal func internalfunc702() {}
  internal func internalfunc703() {}
  internal func internalfunc704() {}
  internal func internalfunc705() {}
  internal func internalfunc706() {}
  internal func internalfunc707() {}
  internal func internalfunc708() {}
  internal func internalfunc709() {}
  internal func internalfunc710() {}
  internal func internalfunc711() {}
  internal func internalfunc712() {}
  internal func internalfunc713() {}
  internal func internalfunc714() {}
  internal func internalfunc715() {}
  internal func internalfunc716() {}
  internal func internalfunc717() {}
  internal func internalfunc718() {}
  internal func internalfunc719() {}
  internal func internalfunc720() {}
  internal func internalfunc721() {}
  internal func internalfunc722() {}
  internal func internalfunc723() {}
  internal func internalfunc724() {}
  internal func internalfunc725() {}
  internal func internalfunc726() {}
  internal func internalfunc727() {}
  internal func internalfunc728() {}
  internal func internalfunc729() {}
  internal func internalfunc730() {}
  internal func internalfunc731() {}
  internal func internalfunc732() {}
  internal func internalfunc733() {}
  internal func internalfunc734() {}
  internal func internalfunc735() {}
  internal func internalfunc736() {}
  internal func internalfunc737() {}
  internal func internalfunc738() {}
  internal func internalfunc739() {}
  internal func internalfunc740() {}
  internal func internalfunc741() {}
  internal func internalfunc742() {}
  internal func internalfunc743() {}
  internal func internalfunc744() {}
  internal func internalfunc745() {}
  internal func internalfunc746() {}
  internal func internalfunc747() {}
  internal func internalfunc748() {}
  internal func internalfunc749() {}
  internal func internalfunc750() {}
  internal func internalfunc751() {}
  internal func internalfunc752() {}
  internal func internalfunc753() {}
  internal func internalfunc754() {}
  internal func internalfunc755() {}
  internal func internalfunc756() {}
  internal func internalfunc757() {}
  internal func internalfunc758() {}
  internal func internalfunc759() {}
  internal func internalfunc760() {}
  internal func internalfunc761() {}
  internal func internalfunc762() {}
  internal func internalfunc763() {}
  internal func internalfunc764() {}
  internal func internalfunc765() {}
  internal func internalfunc766() {}
  internal func internalfunc767() {}
  internal func internalfunc768() {}
  internal func internalfunc769() {}
  internal func internalfunc770() {}
  internal func internalfunc771() {}
  internal func internalfunc772() {}
  internal func internalfunc773() {}
  internal func internalfunc774() {}
  internal func internalfunc775() {}
  internal func internalfunc776() {}
  internal func internalfunc777() {}
  internal func internalfunc778() {}
  internal func internalfunc779() {}
  internal func internalfunc780() {}
  internal func internalfunc781() {}
  internal func internalfunc782() {}
  internal func internalfunc783() {}
  internal func internalfunc784() {}
  internal func internalfunc785() {}
  internal func internalfunc786() {}
  internal func internalfunc787() {}
  internal func internalfunc788() {}
  internal func internalfunc789() {}
  internal func internalfunc790() {}
  internal func internalfunc791() {}
  internal func internalfunc792() {}
  internal func internalfunc793() {}
  internal func internalfunc794() {}
  internal func internalfunc795() {}
  internal func internalfunc796() {}
  internal func internalfunc797() {}
  internal func internalfunc798() {}
  internal func internalfunc799() {}
  internal func internalfunc800() {}
  internal func internalfunc801() {}
  internal func internalfunc802() {}
  internal func internalfunc803() {}
  internal func internalfunc804() {}
  internal func internalfunc805() {}
  internal func internalfunc806() {}
  internal func internalfunc807() {}
  internal func internalfunc808() {}
  internal func internalfunc809() {}
  internal func internalfunc810() {}
  internal func internalfunc811() {}
  internal func internalfunc812() {}
  internal func internalfunc813() {}
  internal func internalfunc814() {}
  internal func internalfunc815() {}
  internal func internalfunc816() {}
  internal func internalfunc817() {}
  internal func internalfunc818() {}
  internal func internalfunc819() {}
  internal func internalfunc820() {}
  internal func internalfunc821() {}
  internal func internalfunc822() {}
  internal func internalfunc823() {}
  internal func internalfunc824() {}
  internal func internalfunc825() {}
  internal func internalfunc826() {}
  internal func internalfunc827() {}
  internal func internalfunc828() {}
  internal func internalfunc829() {}
  internal func internalfunc830() {}
  internal func internalfunc831() {}
  internal func internalfunc832() {}
  internal func internalfunc833() {}
  internal func internalfunc834() {}
  internal func internalfunc835() {}
  internal func internalfunc836() {}
  internal func internalfunc837() {}
  internal func internalfunc838() {}
  internal func internalfunc839() {}
  internal func internalfunc840() {}
  internal func internalfunc841() {}
  internal func internalfunc842() {}
  internal func internalfunc843() {}
  internal func internalfunc844() {}
  internal func internalfunc845() {}
  internal func internalfunc846() {}
  internal func internalfunc847() {}
  internal func internalfunc848() {}
  internal func internalfunc849() {}
  internal func internalfunc850() {}
  internal func internalfunc851() {}
  internal func internalfunc852() {}
  internal func internalfunc853() {}
  internal func internalfunc854() {}
  internal func internalfunc855() {}
  internal func internalfunc856() {}
  internal func internalfunc857() {}
  internal func internalfunc858() {}
  internal func internalfunc859() {}
  internal func internalfunc860() {}
  internal func internalfunc861() {}
  internal func internalfunc862() {}
  internal func internalfunc863() {}
  internal func internalfunc864() {}
  internal func internalfunc865() {}
  internal func internalfunc866() {}
  internal func internalfunc867() {}
  internal func internalfunc868() {}
  internal func internalfunc869() {}
  internal func internalfunc870() {}
  internal func internalfunc871() {}
  internal func internalfunc872() {}
  internal func internalfunc873() {}
  internal func internalfunc874() {}
  internal func internalfunc875() {}
  internal func internalfunc876() {}
  internal func internalfunc877() {}
  internal func internalfunc878() {}
  internal func internalfunc879() {}
  internal func internalfunc880() {}
  internal func internalfunc881() {}
  internal func internalfunc882() {}
  internal func internalfunc883() {}
  internal func internalfunc884() {}
  internal func internalfunc885() {}
  internal func internalfunc886() {}
  internal func internalfunc887() {}
  internal func internalfunc888() {}
  internal func internalfunc889() {}
  internal func internalfunc890() {}
  internal func internalfunc891() {}
  internal func internalfunc892() {}
  internal func internalfunc893() {}
  internal func internalfunc894() {}
  internal func internalfunc895() {}
  internal func internalfunc896() {}
  internal func internalfunc897() {}
  internal func internalfunc898() {}
  internal func internalfunc899() {}
  internal func internalfunc900() {}
  internal func internalfunc901() {}
  internal func internalfunc902() {}
  internal func internalfunc903() {}
  internal func internalfunc904() {}
  internal func internalfunc905() {}
  internal func internalfunc906() {}
  internal func internalfunc907() {}
  internal func internalfunc908() {}
  internal func internalfunc909() {}
  internal func internalfunc910() {}
  internal func internalfunc911() {}
  internal func internalfunc912() {}
  internal func internalfunc913() {}
  internal func internalfunc914() {}
  internal func internalfunc915() {}
  internal func internalfunc916() {}
  internal func internalfunc917() {}
  internal func internalfunc918() {}
  internal func internalfunc919() {}
  internal func internalfunc920() {}
  internal func internalfunc921() {}
  internal func internalfunc922() {}
  internal func internalfunc923() {}
  internal func internalfunc924() {}
  internal func internalfunc925() {}
  internal func internalfunc926() {}
  internal func internalfunc927() {}
  internal func internalfunc928() {}
  internal func internalfunc929() {}
  internal func internalfunc930() {}
  internal func internalfunc931() {}
  internal func internalfunc932() {}
  internal func internalfunc933() {}
  internal func internalfunc934() {}
  internal func internalfunc935() {}
  internal func internalfunc936() {}
  internal func internalfunc937() {}
  internal func internalfunc938() {}
  internal func internalfunc939() {}
  internal func internalfunc940() {}
  internal func internalfunc941() {}
  internal func internalfunc942() {}
  internal func internalfunc943() {}
  internal func internalfunc944() {}
  internal func internalfunc945() {}
  internal func internalfunc946() {}
  internal func internalfunc947() {}
  internal func internalfunc948() {}
  internal func internalfunc949() {}
  internal func internalfunc950() {}
  internal func internalfunc951() {}
  internal func internalfunc952() {}
  internal func internalfunc953() {}
  internal func internalfunc954() {}
  internal func internalfunc955() {}
  internal func internalfunc956() {}
  internal func internalfunc957() {}
  internal func internalfunc958() {}
  internal func internalfunc959() {}
  internal func internalfunc960() {}
  internal func internalfunc961() {}
  internal func internalfunc962() {}
  internal func internalfunc963() {}
  internal func internalfunc964() {}
  internal func internalfunc965() {}
  internal func internalfunc966() {}
  internal func internalfunc967() {}
  internal func internalfunc968() {}
  internal func internalfunc969() {}
  internal func internalfunc970() {}
  internal func internalfunc971() {}
  internal func internalfunc972() {}
  internal func internalfunc973() {}
  internal func internalfunc974() {}
  internal func internalfunc975() {}
  internal func internalfunc976() {}
  internal func internalfunc977() {}
  internal func internalfunc978() {}
  internal func internalfunc979() {}
  internal func internalfunc980() {}
  internal func internalfunc981() {}
  internal func internalfunc982() {}
  internal func internalfunc983() {}
  internal func internalfunc984() {}
  internal func internalfunc985() {}
  internal func internalfunc986() {}
  internal func internalfunc987() {}
  internal func internalfunc988() {}
  internal func internalfunc989() {}
  internal func internalfunc990() {}
  internal func internalfunc991() {}
  internal func internalfunc992() {}
  internal func internalfunc993() {}
  internal func internalfunc994() {}
  internal func internalfunc995() {}
  internal func internalfunc996() {}
  internal func internalfunc997() {}
  internal func internalfunc998() {}
  internal func internalfunc999() {}
  internal func internalfunc1000() {}
}
private class Sub<T>: Sup<T> {}

protocol P {}

struct One: P {}
struct Two {}

struct Cat<T, U> {}

extension Cat: P where T: P, U: P {}

protocol Growable {}
extension Growable {
  func grow() -> (Growable, Growable) {
    return (Cat<Self, One>(), Cat<Self, Two>())
  }

  func subclass() {
    let c: AnyClass = objc_allocateClassPair(Sub<Self>.self, "\(Self.self)-subclass", 0)!
    objc_registerClassPair(c)
  }
}

extension One: Growable {}
extension Two: Growable {}
extension Cat: Growable {}

var array: [Growable] = [One(), Two()]
var i = 0
while i < 10000 {
  let (a, b) = array[i].grow()
  array.append(a)
  array.append(b)
  a.subclass()
  b.subclass()
  i += 1
}
