Code Analysis: Bonus for Woo 6.6.7

Function Rating Maintainability Complexity Lines of code
BfwCashback::bfw_get_cashback_in_cart()
D
26
36 145
BfwPoints::addPointsForOrder()
D
27
36 121
BfwAdmin::bonus_plugin_options()
D
19
18 358
BfwPoints::bfw_write_off_points()
C
30 26 114
BfwAdmin::plugin_settings()
B
22
13 197
BfwPoints::getSumUserOrders()
B
33 19 107
BfwAdmin::bfwooAddBonusInUserProfile()
B
30 18 121
BfwRouter::init()
B
28
15 130
QRcode::init_rs_char()
B
39 19 66
QRrsItem::init_rs_char()
B
40 19 55
QRrsItem::init_rs_char()
B
40 19 55
BfwCoupons::getListCoupons()
B
32 13 137
QRcode::evaluateSymbol()
B
42 17 54
QRmask::evaluateSymbol()
B
43 17 53
QRmask::evaluateSymbol()
B
43 17 53
BfwSingleProduct::bfwPointsInSinglePage()
B
42 17 44
BfwPoints::maxPossiblePointsInOrder()
A
41 15 55
BfwAccount::profileUserUpdate()
A
40 15 54
BfwAccount::accountReferral()
A
37 13 66
QRcode::calcN1N3()
A
51 15 24
QRmask::calcN1N3()
A
51 15 24
QRmask::calcN1N3()
A
51 15 24
BfwAccount::accountProgress()
A
41 13 50
BfwHistory::getHistory()
A
37 11 76
BfwAccount::accountBasicInfo()
A
40 12 53
QRencode::factory()
A
50 13 30
QRencode::factory()
A
50 13 30
QRcode::encodeMask()
A
41 11 53
QRcode::encodeMask()
A
41 11 53
QRcode::lengthOfCode()
A
44 11 49
QRcode::__construct()
A
48 12 31
QRcode::getNextPosition()
A
45 11 46
FrameFiller::next()
A
45 11 44
FrameFiller::next()
A
45 11 44
BfwPoints::deleteBallsOldClients()
A
43 11 41
BfwHistory::getListHistory()
A
38 9 69
QRinput::lengthOfCode()
A
46 11 38
QRinput::lengthOfCode()
A
46 11 38
QRsplit::eat8()
A
45 10 46
QRsplit::eat8()
A
45 10 46
QRcode::createFrame()
A
43 9 52
QRcode::encodeMask()
A
42 9 52
QRspec::createFrame()
A
43 9 51
QRspec::createFrame()
A
43 9 51
BfwPoints::bfw_export_bonuses()
A
46 10 32
QRcode::eat8()
A
45 9 44
BfwSingleProduct::typeProduct()
A
49 10 29
BfwAdmin::sanitize_callback_bfw()
A
51 10 24
QRcode::splitString()
A
48 9 37
QRcode::identifyMode()
A
53 10 20
QRsplit::identifyMode()
A
53 10 20
QRsplit::identifyMode()
A
53 10 20
BfwRoles::addRole()
A
44 9 34
QRinputItem::encodeBitStream()
A
48 9 33
QRinputItem::encodeBitStream()
A
48 9 33
BfwAccount::actionPointsForRegistrationBfw()
A
46 9 32
BfwFunctions::checkingKey()
A
48 9 29
BfwAdmin::fill_primer_field_social()
A
48 8 38
QRcode::estimateBitStreamSize()
A
47 8 37
QRsplit::splitString()
A
54 9 21
QRsplit::eatAn()
A
48 8 36
QRsplit::splitString()
A
54 9 21
QRsplit::eatAn()
A
48 8 36
BfwRoles::updateRole()
A
47 8 32
QRmask::makeMaskNo()
A
49 8 29
QRmask::makeMaskNo()
A
49 8 29
BfwCoupons::bfwExportCoupons()
A
49 8 27
BfwLogs::getListLog()
A
42 6 56
BfwSingleProduct::ballsAfterProductPriceAll()
A
51 8 26
QRcode::encodeBitStream()
A
47 7 40
BfwPoints::refundedPoints()
A
45 7 39
QRmask::writeFormatInformation()
A
48 7 35
QRmask::writeFormatInformation()
A
48 7 35
QRcode::writeFormatInformation()
A
48 7 35
QRcode::eatAn()
A
49 7 34
QRcode::putAlignmentPattern()
A
48 7 34
BfwPoints::addBallsForBirthday()
A
47 7 33
QRspec::putAlignmentPattern()
A
49 7 31
QRspec::putAlignmentPattern()
A
49 7 31
QRsplit::eatNum()
S
50 7 29
QRrs::init_rs()
S
58 8 14
QRrs::init_rs()
S
58 8 14
QRsplit::eatNum()
S
50 7 29
QRcode::init_rs()
S
59 8 12
QRinput::appendPaddingBit()
S
51 7 26
QRcode::check()
S
53 7 26
QRinput::appendPaddingBit()
S
51 7 26
BfwFunctions::updatePageIfChangePaymentMethod()
S
43 4 70
QRspec::newFrame()
S
54 7 20
QRspec::newFrame()
S
54 7 20
QRinputItem::estimateBitStreamSizeOfEntry()
S
54 7 19
QRinputItem::estimateBitStreamSizeOfEntry()
S
54 7 19
BfwPoints::bfwoo_clean_fast_bonus()
S
55 7 19
BfwReferral::addReferralPoints()
S
47 6 33
BfwReview::bfwoo_approve_comment_callback()
S
47 6 31
QRcode::init()
S
45 5 46
QRinput::check()
S
59 7 14
QRinput::check()
S
59 7 14
QRinput::checkModeKanji()
S
59 7 13
QRcode::bitstreamToByte()
S
51 6 28
QRbitstream::toByte()
S
51 6 28
QRbitstream::toByte()
S
51 6 28
QRinput::checkModeKanji()
S
59 7 13
QRcode::eatNum()
S
51 6 27
QRcode::checkModeKanji()
S
59 7 12
BfwCoupons::enterCoupon()
S
49 6 27
QRcode::convertData()
S
53 6 23
BfwEmail::getMail()
S
52 6 22
BfwFunctions::declination()
S
54 6 22
BfwPoints::addOfflineOrder()
S
46 5 37
QRtools::tcpdfBarcodeArray()
S
53 6 21
QRinput::convertData()
S
54 6 21
QRtools::tcpdfBarcodeArray()
S
53 6 21
QRinput::convertData()
S
54 6 21
BfwAdmin::init()
S
54 6 19
QRcode::mask()
S
48 5 31
QRrawcode::init()
S
49 5 31
QRmask::mask()
S
48 5 31
QRmask::mask()
S
48 5 31
QRrawcode::init()
S
49 5 31
QRspec::debug()
S
45 4 45
QRcode::encode_rs_char()
S
49 5 30
QRspec::debug()
S
45 4 45
QRrsItem::encode_rs_char()
S
49 5 29
QRrsItem::encode_rs_char()
S
49 5 29
BfwReferral::registerInvate()
S
50 5 29
BfwFunctions::bfwUpdateCompleted()
S
60 6 12
QRinputItem::encodeModeNum()
S
50 5 27
QRinputItem::encodeModeNum()
S
50 5 27
BfwPoints::addEveryDays()
S
50 5 25
BfwRoles::getNextRole()
S
51 5 25
BfwReview::bfwoo_unapproved_comment_callback()
S
50 5 24
QRcode::appendPaddingBit()
S
53 5 21
BfwPoints::bfw_take_coupon_action()
S
53 5 21
QRcode::makeMaskNo()
S
56 5 18
QRcode::maximumWords()
S
56 5 18
QRspec::maximumWords()
S
57 5 17
QRspec::maximumWords()
S
57 5 17
QRsplit::toUpper()
S
57 5 16
QRcode::toUpper()
S
57 5 16
QRinput::insertStructuredAppendHeader()
S
57 5 16
QRsplit::toUpper()
S
57 5 16
QRinput::insertStructuredAppendHeader()
S
57 5 16
BfwSingleProduct::ballsAfterProductPriceShortcode()
S
57 5 16
QRcode::generateMaskNo()
S
58 5 14
BfwAdmin::bfw_search_pro()
S
57 5 14
BfwAdmin::fill_primer_field_pay_method()
S
51 4 29
QRmask::generateMaskNo()
S
58 5 14
QRmask::generateMaskNo()
S
58 5 14
QRcode::encodeString()
S
59 5 13
QRcode::encodeString()
S
59 5 13
QRcode::newFrame()
S
62 5 12
BfwPoints::bfwoo_add_fee()
S
60 5 12
BfwReview::liveReviewAndPoint()
S
60 5 11
QRcode::encodeModeNum()
S
52 4 22
QRinputItem::encodeModeKanji()
S
52 4 22
BfwAdmin::fill_primer_field17()
S
53 4 22
QRinputItem::encodeModeKanji()
S
52 4 22
BfwAccount::bfwDobAccountDetails()
S
55 4 21
QRimage::image()
S
53 4 21
QRimage::image()
S
53 4 21
QRinputItem::encodeModeAn()
S
53 4 21
QRinputItem::encodeModeAn()
S
53 4 21
QRrawcode::getCode()
S
55 4 19
QRrawcode::getCode()
S
55 4 19
QRbitstream::newFromBytes()
S
56 4 18
QRbitstream::newFromBytes()
S
56 4 18
QRcode::getCode()
S
56 4 18
QRcode::newFromBytes()
S
57 4 17
BfwAdmin::fill_primer_field19()
S
57 4 17
BfwAdmin::fill_primer_field22()
S
56 4 17
BfwAdmin::fill_write_points_order_status()
S
56 4 17
QRtools::buildCache()
S
56 4 16
QRtools::buildCache()
S
56 4 16
BfwFunctions::bfwExcludeProductCashback()
S
56 4 16
BfwRoles::getRole()
S
55 4 16
QRsplit::splitStringToQRinput()
S
63 5 9
QRcode::getFormatInfo()
S
65 5 9
QRspec::getFormatInfo()
S
68 5 7
QRsplit::splitStringToQRinput()
S
63 5 9
BfwFunctions::bfwExcludeCategoryCashback()
S
57 4 15
BfwPoints::bfw_button_delete_fast_point()
S
58 4 15
QRspec::getFormatInfo()
S
68 5 7
QRbitstream::append()
S
60 4 14
QRcode::encodeString8bit()
S
59 4 14
QRbitstream::append()
S
60 4 14
QRcode::encodeString8bit()
S
59 4 14
QRcode::lengthIndicator()
S
61 4 13
QRinput::mergeBitStream()
S
61 4 13
QRinput::mergeBitStream()
S
61 4 13
str_split()
S
61 4 12
QRcode::insertStructuredAppendHeader()
S
61 4 12
QRspec::lengthIndicator()
S
61 4 12
QRspec::lengthIndicator()
S
61 4 12
QRtools::log()
S
62 4 11
QRcode::calcParity()
S
62 4 11
QRinput::calcParity()
S
62 4 11
QRtools::log()
S
62 4 11
QRinput::calcParity()
S
62 4 11
BfwReferral::bfwSocialLinks()
S
51 3 26
BfwDB::getUpdateDb()
S
45 1 54
BfwPoints::newOrder()
S
50 3 24
QRcode::getEccSpec()
S
53 3 23
QRtools::timeBenchmark()
S
54 3 22
QRtools::timeBenchmark()
S
54 3 22
QRspec::getEccSpec()
S
54 3 22
QRspec::getEccSpec()
S
54 3 22
QRrawcode::__construct()
S
55 3 20
QRrawcode::__construct()
S
55 3 20
QRcode::estimateBitsModeNum()
S
57 3 18
BfwAccount::accountCoupon()
S
56 3 18
QRcode::encodeModeKanji()
S
55 3 17
BfwPoints::bfwoo_trata_points()
S
57 3 17
QRcode::encodeModeAn()
S
56 3 16
QRimage::png()
S
58 3 16
QRimage::png()
S
58 3 16
BfwAdmin::fill_add_points_order_status()
S
57 3 16
BfwPoints::bfw_coupon_html()
S
57 3 16
QRtools::binarize()
S
64 4 9
BfwAdmin::fill_refunded_points_order_status()
S
58 3 15
QRinput::estimateBitsModeNum()
S
59 3 15
QRcode::binarize()
S
64 4 9
QRtools::binarize()
S
64 4 9
QRcode::appendBitstream()
S
65 4 9
QRcode::newInputItem()
S
58 3 15
BfwAdmin::add_admin_menu()
S
56 3 15
QRinput::__construct()
S
66 4 8
QRcode::checkModeNum()
S
65 4 8
QRinput::checkModeNum()
S
65 4 8
QRinput::estimateBitsModeNum()
S
59 3 15
QRinput::__construct()
S
66 4 8
QRinput::checkModeNum()
S
65 4 8
QRencode::encode()
S
59 3 14
QRinputItem::__construct()
S
58 3 14
QRencode::encode()
S
59 3 14
QRencode::encodePNG()
S
58 3 14
QRbitstream::newFromNum()
S
59 3 14
BfwPoints::get_virtual_coupon_data_bfw()
S
56 3 14
QRbitstream::newFromNum()
S
59 3 14
QRencode::encodePNG()
S
58 3 14
QRinputItem::__construct()
S
58 3 14
QRinputItem::encodeMode8()
S
59 3 14
QRinputItem::encodeMode8()
S
59 3 14
BfwAdmin::fill_primer_field25()
S
59 3 14
BfwRoles::isInvalve()
S
59 3 14
BfwFunctions::feeOrCoupon()
S
60 3 13
QRinput::estimateVersion()
S
60 3 13
QRcode::newFromNum()
S
60 3 13
QRinput::estimateVersion()
S
60 3 13
QRcode::estimateVersion()
S
60 3 13
BfwFunctions::arrayMultisortValue()
S
61 3 12
QRinput::getBitStream()
S
64 3 11
QRinput::getBitStream()
S
64 3 11
BfwReferral::bfwSetCookies()
S
61 3 11
QRcode::encodeString()
S
63 3 11
BfwCashback::getCashbackInCart()
S
56 2 19
BfwCashback::getCashbackInCartBlocks()
S
57 2 17
BfwCashback::bfwGetCashbackInCartForShortcode()
S
59 2 16
BfwPoints::woocommerceChangeCouponLabelBfw()
S
64 3 9
QRcode::isdigitat()
S
69 3 6
QRspec::getMinimumVersion()
S
65 3 8
QRtools::dumpMask()
S
66 3 8
QRbitstream::appendBytes()
S
64 3 10
qrstr::set()
S
75 3 3
QRbitstream::appendNum()
S
64 3 10
QRsplit::isdigitat()
S
71 3 5
QRspec::getVersionPattern()
S
72 3 5
QRinput::setVersion()
S
66 3 8
BfwAdmin::fill_primer_field21()
S
63 3 10
QRinput::createBitStream()
S
64 3 10
QRcode::getMinimumVersion()
S
64 3 9
QRcode::getVersionPattern()
S
70 3 6
QRspec::getVersionPattern()
S
72 3 5
BfwPoints::bfwCartItemSetQuantity()
S
67 3 7
QRspec::getMinimumVersion()
S
65 3 8
QRcode::putFinderPattern()
S
59 2 15
QRinput::checkModeAn()
S
65 3 8
QRtools::dumpMask()
S
66 3 8
QRsplit::isdigitat()
S
71 3 5
BfwPoints::howLabel()
S
67 3 7
QRinput::setVersion()
S
66 3 8
QRinput::createBitStream()
S
64 3 10
QRsplit::eatKanji()
S
63 3 10
QRcode::putAlignmentMarker()
S
59 2 15
BfwFunctions::saveSaleStatusToOrderItemMeta()
S
71 3 5
QRinput::checkModeAn()
S
65 3 8
BfwAdmin::bfwoo_action_pre_get_users()
S
63 3 10
QRcode::checkModeAn()
S
66 3 8
QRcode::qrstrset()
S
72 3 4
BfwAccount::formRegister()
S
67 3 6
qrstr::set()
S
75 3 3
QRsplit::eatKanji()
S
63 3 10
QRbitstream::appendBytes()
S
64 3 10
QRbitstream::appendNum()
S
64 3 10
BfwEmail::getHeaderMail()
S
58 2 14
QRspec::putAlignmentMarker()
S
59 2 14
QRspec::putFinderPattern()
S
60 2 14
BfwEmail::getFooterMail()
S
58 2 14
QRspec::putFinderPattern()
S
60 2 14
QRspec::putAlignmentMarker()
S
59 2 14
QRinputItem::encodeModeStructure()
S
60 2 13
QRinputItem::encodeModeStructure()
S
60 2 13
BfwReferral::bfw_create_referal_code()
S
60 2 12
BfwAccount::accountContentShortcode()
S
63 2 11
BfwAccount::bonusesLink()
S
61 2 11
BfwAdmin::fill_email_every_day_text()
S
55 1 19
BfwAdmin::fill_email_6_template()
S
54 1 19
BfwAdmin::fill_email_4_template()
S
54 1 19
BfwAdmin::fill_email_5_template2()
S
54 1 19
BfwAdmin::fill_email_2_template2()
S
54 1 19
BfwAdmin::fill_email_3_template()
S
54 1 19
BfwAdmin::fill_email_2_template()
S
54 1 19
BfwAdmin::fill_email_5_template()
S
55 1 18
BfwAdmin::fill_email_5_template_ref()
S
55 1 18
BfwAdmin::fill_email_7_template()
S
56 1 17
BfwAdmin::fill_email_on_birthday_text()
S
56 1 17
BfwAdmin::fill_email_inactive_notice_text()
S
56 1 17
QRsplit::isalnumat()
S
71 2 5
QRmask::unserial()
S
67 2 7
BfwAdmin::fill_cashback_on_sale_products()
S
65 2 9
BfwAdmin::fill_shipping_total_sum()
S
68 2 7
BfwAdmin::yous_coupon_no_cashback_fild()
S
68 2 7
QRmask::unserial()
S
67 2 7
BfwAdmin::fill_primer_field20()
S
65 2 9
BfwAdmin::fill_email_on_every_day()
S
68 2 7
QRmask::serial()
S
69 2 6
QRinput::getByteStream()
S
69 2 7
BfwAdmin::fill_level_two()
S
68 2 7
BfwAdmin::fill_primer_field23()
S
68 2 7
BfwPoints::bfwoo_spisaniebonusov_in_checkout()
S
68 2 7
BfwPoints::roundPoints()
S
68 2 7
BfwAdmin::fill_email_4()
S
68 2 7
BfwAdmin::fill_email_2()
S
68 2 7
BfwAdmin::fill_primer_field27()
S
68 2 7
BfwAdmin::bfwoo_add_new_user_column_content_status()
S
70 2 6
BfwHistory::add_history()
S
63 2 9
QRinput::lookAnTable()
S
77 2 3
BfwAdmin::fill_primer_field12a()
S
69 2 6
BfwAccount::accountContent()
S
68 2 7
BfwCoupons::trueRedirectOnCouponRemoval()
S
67 2 7
BfwAdmin::fill_primer_field1()
S
66 2 8
QRcode::createBitStream()
S
64 2 9
BfwAdmin::fill_primer_field12()
S
69 2 6
BfwFunctions::computy_copyright()
S
65 2 10
BfwAdmin::fill_primer_field15()
S
69 2 6
QRcode::encodeMode8()
S
64 2 9
QRcode::appendNum()
S
68 2 7
BfwCoupons::addCoupon()
S
65 2 8
QRcode::estimateBitsModeAn()
S
66 2 8
QRinput::append()
S
65 2 9
BfwAdmin::fill_primer_field_social_on_page()
S
70 2 6
BfwAccount::bfwDobSaveAccountDetails()
S
72 2 5
QRinput::setErrorCorrectionLevel()
S
67 2 8
QRinput::setErrorCorrectionLevel()
S
67 2 8
QRtools::markTime()
S
67 2 7
QRcode::appendBytes()
S
68 2 7
BfwAccount::accountRules()
S
68 2 6
BfwAdmin::fill_email_7()
S
68 2 7
QRimage::jpg()
S
63 2 10
BfwRoles::bfwManagerRoleEditCapabilities()
S
65 2 8
BfwAdmin::fill_email_my_methode()
S
69 2 6
BfwAdmin::fill_primer_field26()
S
66 2 9
QRrsItem::modnn()
S
68 2 7
BfwAdmin::fill_primer_field12b()
S
68 2 7
BfwAdmin::fill_primer_clear()
S
69 2 6
BfwAdmin::yous_balls_no_cashback_fild()
S
68 2 7
BfwAdmin::fill_email_on_remove_points()
S
68 2 7
BfwAccount::accountTitle()
S
70 2 5
QRencode::encodeRAW()
S
65 2 9
BfwAdmin::fill_primer_field30()
S
67 2 8
BfwAdmin::fill_round_points()
S
66 2 8
QRencode::encodeRAW()
S
65 2 9
BfwAdmin::bfwoo_add_new_user_column_content()
S
70 2 6
BfwAdmin::every_days()
S
65 2 9
BfwAdmin::fill_email_3()
S
68 2 7
BfwAdmin::fill_primer_field14()
S
68 2 7
BfwFunctions::setPostStatusBfw()
S
67 2 7
BfwAdmin::exclude_fees_coupons()
S
68 2 7
QRinput::getByteStream()
S
69 2 7
BfwAdmin::fill_email_5()
S
68 2 7
BfwAdmin::fill_primer_field29()
S
64 2 10
QRcode::mergeBitStream()
S
67 2 8
QRimage::jpg()
S
63 2 10
BfwAdmin::fill_primer_field16()
S
65 2 9
QRinput::estimateBitsModeAn()
S
66 2 8
BfwAdmin::fill_referal_cashback_two_level()
S
66 2 9
BfwAdmin::fill_primer_field12c()
S
68 2 7
QRinput::estimateBitStreamSize()
S
69 2 7
BfwAdmin::fee_or_coupon()
S
70 2 6
BfwRoles::updateStatus()
S
62 2 9
QRsplit::isalnumat()
S
71 2 5
BfwAdmin::fill_primer_field24()
S
68 2 7
BfwAdmin::fill_email_6()
S
69 2 6
QRcode::modnn()
S
68 2 7
QRrsItem::modnn()
S
68 2 7
BfwAdmin::fill_burn_point_in_account()
S
68 2 7
QRcode::lookAnTable()
S
78 2 3
BfwAccount::getReferralLink()
S
64 2 8
QRmask::serial()
S
69 2 6
BfwAdmin::fill_primer_field28()
S
69 2 6
BfwAccount::accountHistory()
S
68 2 7
BfwAdmin::fill_primer_coupons()
S
68 2 7
BfwAdmin::fill_primer_field21qty()
S
68 2 7
BfwAdmin::fill_email_on_birthday()
S
68 2 7
QRtools::markTime()
S
67 2 7
QRcode::raw()
S
74 1 4
bfwooComputyStyles()
S
67 1 9
FrameFiller::setFrameAt()
S
78 1 3
BfwCoupons::editStatusCoupon()
S
71 1 5
QRbitstream::allocate()
S
75 1 4
QRbitstream::size()
S
80 1 3
BfwEmail::template()
S
68 1 7
FrameFiller::__construct()
S
67 1 8
QRcode::raw()
S
74 1 4
BfwRoles::deleteStatus()
S
65 1 8
bfw_load_textdomain()
S
78 1 3
QRmask::makeMask()
S
69 1 6
QRtools::clearCache()
S
80 1 3
BfwCoupons::getCoupon()
S
71 1 5
QRrsblock::__construct()
S
69 1 7
BfwLogs::addLog()
S
65 1 8
QRcode::encodeInput()
S
79 1 3
BfwHistory::clearAllHistoryUser()
S
71 1 5
QRbitstream::size()
S
80 1 3
FrameFiller::__construct()
S
67 1 8
FrameFiller::getFrameAt()
S
78 1 3
BfwReview::bfw_paid_is_paid_status()
S
68 1 7
QRmask::__construct()
S
78 1 3
QRbitstream::allocate()
S
75 1 4
FrameFiller::getFrameAt()
S
78 1 3
QRcode::text()
S
74 1 4
QRcode::png()
S
73 1 4
QRcode::text()
S
74 1 4
BfwRoles::isPro()
S
78 1 3
BfwDB::checkDb()
S
80 1 3
QRmask::makeMask()
S
69 1 6
bfwooComputyScript()
S
66 1 10
BfwHistory::bfw_when_delete_user()
S
80 1 3
QRtools::clearCache()
S
80 1 3
QRrsblock::__construct()
S
69 1 7
BfwHistory::deleteHistoryId()
S
71 1 5
QRcode::encodeInput()
S
79 1 3
BfwRoles::getRoles()
S
75 1 4
QRmask::__construct()
S
78 1 3
FrameFiller::setFrameAt()
S
78 1 3
QRcode::png()
S
73 1 4
BfwCoupons::deleteCoupon()
S
71 1 5

148 more item(s) not shown.